1 /* parser auto-generated by pidl */
4 #include "../librpc/gen_ndr/ndr_drsuapi.h"
6 #include "librpc/gen_ndr/ndr_security.h"
7 #include "librpc/gen_ndr/ndr_misc.h"
8 #include "librpc/gen_ndr/ndr_samr.h"
9 #include "librpc/ndr/ndr_compression.h"
10 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DrsOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
12 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
13 return NDR_ERR_SUCCESS
;
16 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DrsOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
19 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
21 return NDR_ERR_SUCCESS
;
24 _PUBLIC_
void ndr_print_drsuapi_DrsOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
26 ndr_print_uint32(ndr
, name
, r
);
28 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP
, r
);
29 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK
, r
);
30 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION
, r
);
31 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_WRIT_REP", DRSUAPI_DRS_WRIT_REP
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC", DRSUAPI_DRS_INIT_SYNC
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PER_SYNC", DRSUAPI_DRS_PER_SYNC
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_MAIL_REP", DRSUAPI_DRS_MAIL_REP
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_REP", DRSUAPI_DRS_ASYNC_REP
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_IGNORE_ERROR", DRSUAPI_DRS_IGNORE_ERROR
, r
);
40 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_TWOWAY_SYNC", DRSUAPI_DRS_TWOWAY_SYNC
, r
);
41 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_CRITICAL_ONLY", DRSUAPI_DRS_CRITICAL_ONLY
, r
);
42 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ANC", DRSUAPI_DRS_GET_ANC
, r
);
43 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_NC_SIZE", DRSUAPI_DRS_GET_NC_SIZE
, r
);
44 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_LOCAL_ONLY", DRSUAPI_DRS_LOCAL_ONLY
, r
);
45 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NONGC_RO_REP", DRSUAPI_DRS_NONGC_RO_REP
, r
);
46 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_BYNAME", DRSUAPI_DRS_SYNC_BYNAME
, r
);
47 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK
, r
);
48 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW
, r
);
49 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE
, r
);
50 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS
, r
);
51 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET
, r
);
52 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE
, r
);
53 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT
, r
);
54 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN
, r
);
55 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD
, r
);
56 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED
, r
);
57 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING
, r
);
58 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW
, r
);
59 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED
, r
);
60 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED
, r
);
61 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC
, r
);
62 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC
, r
);
63 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_USE_COMPRESSION", DRSUAPI_DRS_USE_COMPRESSION
, r
);
64 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_NOTIFY", DRSUAPI_DRS_NEVER_NOTIFY
, r
);
65 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_PAS", DRSUAPI_DRS_SYNC_PAS
, r
);
66 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP", DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP
, r
);
70 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
72 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
73 return NDR_ERR_SUCCESS
;
76 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
79 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
81 return NDR_ERR_SUCCESS
;
84 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
86 ndr_print_uint32(ndr
, name
, r
);
88 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_BASE", DRSUAPI_SUPPORTED_EXTENSION_BASE
, r
);
89 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION
, r
);
90 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI", DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI
, r
);
91 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2", DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2
, r
);
92 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS
, r
);
93 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1
, r
);
94 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION", DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION
, r
);
95 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY
, r
);
96 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE", DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE
, r
);
97 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2
, r
);
98 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION", DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION
, r
);
99 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2
, r
);
100 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
);
101 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND", DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND
, r
);
102 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO", DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO
, r
);
103 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION", DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION
, r
);
104 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01", DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01
, r
);
105 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP", DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP
, r
);
106 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY", DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY
, r
);
107 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3", DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3
, r
);
108 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5
, r
);
109 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2", DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2
, r
);
110 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6
, r
);
111 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS", DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS
, r
);
112 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8
, r
);
113 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5
, r
);
114 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6
, r
);
115 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3", DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3
, r
);
116 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7
, r
);
117 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT", DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT
, r
);
118 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS", DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS
, r
);
119 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10", DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10
, r
);
120 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2
, r
);
121 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3", DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3
, r
);
125 static enum ndr_err_code
ndr_push_drsuapi_SupportedExtensionsExt(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
127 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
128 return NDR_ERR_SUCCESS
;
131 static enum ndr_err_code
ndr_pull_drsuapi_SupportedExtensionsExt(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
134 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
136 return NDR_ERR_SUCCESS
;
139 _PUBLIC_
void ndr_print_drsuapi_SupportedExtensionsExt(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
141 ndr_print_uint32(ndr
, name
, r
);
143 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_ADAM", DRSUAPI_SUPPORTED_EXTENSION_ADAM
, r
);
144 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2", DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2
, r
);
145 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN", DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN
, r
);
149 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo24(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo24
*r
)
151 if (ndr_flags
& NDR_SCALARS
) {
152 NDR_CHECK(ndr_push_align(ndr
, 4));
153 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
154 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
155 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
156 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
158 if (ndr_flags
& NDR_BUFFERS
) {
160 return NDR_ERR_SUCCESS
;
163 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo24(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo24
*r
)
165 if (ndr_flags
& NDR_SCALARS
) {
166 NDR_CHECK(ndr_pull_align(ndr
, 4));
167 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
168 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
169 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
170 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
172 if (ndr_flags
& NDR_BUFFERS
) {
174 return NDR_ERR_SUCCESS
;
177 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo24(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo24
*r
)
179 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo24");
181 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
182 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
183 ndr_print_uint32(ndr
, "pid", r
->pid
);
187 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo28(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo28
*r
)
189 if (ndr_flags
& NDR_SCALARS
) {
190 NDR_CHECK(ndr_push_align(ndr
, 4));
191 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
192 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
193 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
194 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
195 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
197 if (ndr_flags
& NDR_BUFFERS
) {
199 return NDR_ERR_SUCCESS
;
202 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo28(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo28
*r
)
204 if (ndr_flags
& NDR_SCALARS
) {
205 NDR_CHECK(ndr_pull_align(ndr
, 4));
206 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
207 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
208 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
210 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
212 if (ndr_flags
& NDR_BUFFERS
) {
214 return NDR_ERR_SUCCESS
;
217 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo28(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo28
*r
)
219 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo28");
221 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
222 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
223 ndr_print_uint32(ndr
, "pid", r
->pid
);
224 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
228 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo48(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfo48
*r
)
230 if (ndr_flags
& NDR_SCALARS
) {
231 NDR_CHECK(ndr_push_align(ndr
, 4));
232 NDR_CHECK(ndr_push_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, r
->supported_extensions
));
233 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
234 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->pid
));
235 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->repl_epoch
));
236 NDR_CHECK(ndr_push_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, r
->supported_extensions_ext
));
237 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
238 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
240 if (ndr_flags
& NDR_BUFFERS
) {
242 return NDR_ERR_SUCCESS
;
245 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo48(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfo48
*r
)
247 if (ndr_flags
& NDR_SCALARS
) {
248 NDR_CHECK(ndr_pull_align(ndr
, 4));
249 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensions(ndr
, NDR_SCALARS
, &r
->supported_extensions
));
250 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->pid
));
252 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->repl_epoch
));
253 NDR_CHECK(ndr_pull_drsuapi_SupportedExtensionsExt(ndr
, NDR_SCALARS
, &r
->supported_extensions_ext
));
254 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->config_dn_guid
));
255 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
257 if (ndr_flags
& NDR_BUFFERS
) {
259 return NDR_ERR_SUCCESS
;
262 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo48(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfo48
*r
)
264 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfo48");
266 ndr_print_drsuapi_SupportedExtensions(ndr
, "supported_extensions", r
->supported_extensions
);
267 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
268 ndr_print_uint32(ndr
, "pid", r
->pid
);
269 ndr_print_uint32(ndr
, "repl_epoch", r
->repl_epoch
);
270 ndr_print_drsuapi_SupportedExtensionsExt(ndr
, "supported_extensions_ext", r
->supported_extensions_ext
);
271 ndr_print_GUID(ndr
, "config_dn_guid", &r
->config_dn_guid
);
275 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoFallBack(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoFallBack
*r
)
277 if (ndr_flags
& NDR_SCALARS
) {
278 NDR_CHECK(ndr_push_align(ndr
, 4));
280 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
281 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
282 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->info
));
283 ndr
->flags
= _flags_save_DATA_BLOB
;
285 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
287 if (ndr_flags
& NDR_BUFFERS
) {
289 return NDR_ERR_SUCCESS
;
292 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoFallBack(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoFallBack
*r
)
294 if (ndr_flags
& NDR_SCALARS
) {
295 NDR_CHECK(ndr_pull_align(ndr
, 4));
297 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
298 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
299 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->info
));
300 ndr
->flags
= _flags_save_DATA_BLOB
;
302 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
304 if (ndr_flags
& NDR_BUFFERS
) {
306 return NDR_ERR_SUCCESS
;
309 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoFallBack(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoFallBack
*r
)
311 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoFallBack");
313 ndr_print_DATA_BLOB(ndr
, "info", r
->info
);
317 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsBindInfo
*r
)
319 if (ndr_flags
& NDR_SCALARS
) {
320 int level
= ndr_push_get_switch_value(ndr
, r
);
321 NDR_CHECK(ndr_push_union_align(ndr
, 1));
325 struct ndr_push
*_ndr_info24
;
326 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
327 NDR_CHECK(ndr_push_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
328 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info24
, 4, -1));
334 struct ndr_push
*_ndr_info28
;
335 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
336 NDR_CHECK(ndr_push_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
337 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info28
, 4, -1));
343 struct ndr_push
*_ndr_info48
;
344 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
345 NDR_CHECK(ndr_push_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
346 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_info48
, 4, -1));
352 struct ndr_push
*_ndr_FallBack
;
353 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
354 NDR_CHECK(ndr_push_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
355 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
361 if (ndr_flags
& NDR_BUFFERS
) {
362 int level
= ndr_push_get_switch_value(ndr
, r
);
378 return NDR_ERR_SUCCESS
;
381 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsBindInfo
*r
)
384 level
= ndr_pull_get_switch_value(ndr
, r
);
385 if (ndr_flags
& NDR_SCALARS
) {
386 NDR_CHECK(ndr_pull_union_align(ndr
, 1));
390 struct ndr_pull
*_ndr_info24
;
391 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info24
, 4, -1));
392 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo24(_ndr_info24
, NDR_SCALARS
, &r
->info24
));
393 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info24
, 4, -1));
399 struct ndr_pull
*_ndr_info28
;
400 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info28
, 4, -1));
401 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo28(_ndr_info28
, NDR_SCALARS
, &r
->info28
));
402 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info28
, 4, -1));
408 struct ndr_pull
*_ndr_info48
;
409 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_info48
, 4, -1));
410 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo48(_ndr_info48
, NDR_SCALARS
, &r
->info48
));
411 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_info48
, 4, -1));
417 struct ndr_pull
*_ndr_FallBack
;
418 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_FallBack
, 4, -1));
419 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoFallBack(_ndr_FallBack
, NDR_SCALARS
, &r
->FallBack
));
420 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_FallBack
, 4, -1));
426 if (ndr_flags
& NDR_BUFFERS
) {
442 return NDR_ERR_SUCCESS
;
445 _PUBLIC_
void ndr_print_drsuapi_DsBindInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsBindInfo
*r
)
448 level
= ndr_print_get_switch_value(ndr
, r
);
449 ndr_print_union(ndr
, name
, level
, "drsuapi_DsBindInfo");
452 ndr_print_drsuapi_DsBindInfo24(ndr
, "info24", &r
->info24
);
456 ndr_print_drsuapi_DsBindInfo28(ndr
, "info28", &r
->info28
);
460 ndr_print_drsuapi_DsBindInfo48(ndr
, "info48", &r
->info48
);
464 ndr_print_drsuapi_DsBindInfoFallBack(ndr
, "FallBack", &r
->FallBack
);
470 static enum ndr_err_code
ndr_push_drsuapi_DsBindInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsBindInfoCtr
*r
)
472 if (ndr_flags
& NDR_SCALARS
) {
473 NDR_CHECK(ndr_push_align(ndr
, 4));
474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
475 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->info
, r
->length
));
476 NDR_CHECK(ndr_push_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
477 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
479 if (ndr_flags
& NDR_BUFFERS
) {
481 return NDR_ERR_SUCCESS
;
484 static enum ndr_err_code
ndr_pull_drsuapi_DsBindInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsBindInfoCtr
*r
)
486 if (ndr_flags
& NDR_SCALARS
) {
487 NDR_CHECK(ndr_pull_align(ndr
, 4));
488 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
489 if (r
->length
< 1 || r
->length
> 10000) {
490 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
492 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->info
, r
->length
));
493 NDR_CHECK(ndr_pull_drsuapi_DsBindInfo(ndr
, NDR_SCALARS
, &r
->info
));
494 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
496 if (ndr_flags
& NDR_BUFFERS
) {
498 return NDR_ERR_SUCCESS
;
501 _PUBLIC_
void ndr_print_drsuapi_DsBindInfoCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsBindInfoCtr
*r
)
503 ndr_print_struct(ndr
, name
, "drsuapi_DsBindInfoCtr");
505 ndr_print_uint32(ndr
, "length", r
->length
);
506 ndr_print_set_switch_value(ndr
, &r
->info
, r
->length
);
507 ndr_print_drsuapi_DsBindInfo(ndr
, "info", &r
->info
);
511 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
513 if (ndr_flags
& NDR_SCALARS
) {
514 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, strlen_m(r
->dn
) + 1));
515 NDR_CHECK(ndr_push_align(ndr
, 4));
516 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier(r
, ndr
->iconv_convenience
, ndr
->flags
) - 4));
517 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
518 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
519 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
520 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
521 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
522 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
524 if (ndr_flags
& NDR_BUFFERS
) {
525 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
527 return NDR_ERR_SUCCESS
;
530 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier
*r
)
532 if (ndr_flags
& NDR_SCALARS
) {
533 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dn
));
534 NDR_CHECK(ndr_pull_align(ndr
, 4));
535 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
537 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
538 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
539 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
540 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, ndr_get_array_size(ndr
, &r
->dn
), sizeof(uint16_t), CH_UTF16
));
542 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->dn
, r
->__ndr_size_dn
+ 1));
544 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
546 if (ndr_flags
& NDR_BUFFERS
) {
547 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
549 return NDR_ERR_SUCCESS
;
552 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier
*r
)
554 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier");
556 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
);
557 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
);
558 ndr_print_GUID(ndr
, "guid", &r
->guid
);
559 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
560 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
561 ndr_print_string(ndr
, "dn", r
->dn
);
565 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier(const struct drsuapi_DsReplicaObjectIdentifier
*r
, struct smb_iconv_convenience
*ic
, int flags
)
567 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier
, ic
);
570 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncOptions(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
573 return NDR_ERR_SUCCESS
;
576 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncOptions(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
579 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
581 return NDR_ERR_SUCCESS
;
584 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncOptions(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
586 ndr_print_uint32(ndr
, name
, r
);
588 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION
, r
);
589 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_WRITEABLE", DRSUAPI_DS_REPLICA_SYNC_WRITEABLE
, r
);
590 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PERIODIC", DRSUAPI_DS_REPLICA_SYNC_PERIODIC
, r
);
591 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING", DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING
, r
);
592 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES", DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES
, r
);
593 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL", DRSUAPI_DS_REPLICA_SYNC_FULL
, r
);
594 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_URGENT", DRSUAPI_DS_REPLICA_SYNC_URGENT
, r
);
595 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD", DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD
, r
);
596 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FORCE", DRSUAPI_DS_REPLICA_SYNC_FORCE
, r
);
597 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE", DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE
, r
);
598 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED", DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED
, r
);
599 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_TWO_WAY", DRSUAPI_DS_REPLICA_SYNC_TWO_WAY
, r
);
600 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY", DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY
, r
);
601 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL", DRSUAPI_DS_REPLICA_SYNC_INITIAL
, r
);
602 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION", DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION
, r
);
603 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ABANDONED", DRSUAPI_DS_REPLICA_SYNC_ABANDONED
, r
);
604 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS
, r
);
605 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET", DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET
, r
);
606 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_REQUEUE", DRSUAPI_DS_REPLICA_SYNC_REQUEUE
, r
);
607 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION", DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION
, r
);
608 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA", DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA
, r
);
609 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_CRITICAL", DRSUAPI_DS_REPLICA_SYNC_CRITICAL
, r
);
610 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS", DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS
, r
);
611 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_SYNC_PREEMPTED", DRSUAPI_DS_REPLICA_SYNC_PREEMPTED
, r
);
615 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
617 if (ndr_flags
& NDR_SCALARS
) {
618 NDR_CHECK(ndr_push_align(ndr
, 5));
619 if (r
->naming_context
== NULL
) {
620 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
622 NDR_CHECK(ndr_push_ref_ptr(ndr
));
623 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
625 uint32_t _flags_save_string
= ndr
->flags
;
626 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
627 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dns
));
628 ndr
->flags
= _flags_save_string
;
630 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
631 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
633 if (ndr_flags
& NDR_BUFFERS
) {
634 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
636 uint32_t _flags_save_string
= ndr
->flags
;
637 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
638 if (r
->source_dsa_dns
) {
639 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->source_dsa_dns
));
641 ndr
->flags
= _flags_save_string
;
644 return NDR_ERR_SUCCESS
;
647 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
649 uint32_t _ptr_naming_context
;
650 TALLOC_CTX
*_mem_save_naming_context_0
;
651 uint32_t _ptr_source_dsa_dns
;
652 TALLOC_CTX
*_mem_save_source_dsa_dns_0
;
653 if (ndr_flags
& NDR_SCALARS
) {
654 NDR_CHECK(ndr_pull_align(ndr
, 5));
655 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
656 if (_ptr_naming_context
) {
657 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
659 r
->naming_context
= NULL
;
661 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
663 uint32_t _flags_save_string
= ndr
->flags
;
664 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
665 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dns
));
666 if (_ptr_source_dsa_dns
) {
667 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dns
);
669 r
->source_dsa_dns
= NULL
;
671 ndr
->flags
= _flags_save_string
;
673 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
674 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
676 if (ndr_flags
& NDR_BUFFERS
) {
677 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
678 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
679 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
680 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
682 uint32_t _flags_save_string
= ndr
->flags
;
683 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
684 if (r
->source_dsa_dns
) {
685 _mem_save_source_dsa_dns_0
= NDR_PULL_GET_MEM_CTX(ndr
);
686 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dns
, 0);
687 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->source_dsa_dns
));
688 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dns_0
, 0);
690 ndr
->flags
= _flags_save_string
;
693 return NDR_ERR_SUCCESS
;
696 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
698 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
700 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
702 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
704 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
705 ndr_print_ptr(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
707 if (r
->source_dsa_dns
) {
708 ndr_print_string(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
711 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
715 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
717 if (ndr_flags
& NDR_SCALARS
) {
718 int level
= ndr_push_get_switch_value(ndr
, r
);
719 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
720 NDR_CHECK(ndr_push_union_align(ndr
, 5));
723 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
727 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
730 if (ndr_flags
& NDR_BUFFERS
) {
731 int level
= ndr_push_get_switch_value(ndr
, r
);
734 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
738 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
741 return NDR_ERR_SUCCESS
;
744 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
748 level
= ndr_pull_get_switch_value(ndr
, r
);
749 if (ndr_flags
& NDR_SCALARS
) {
750 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
751 if (_level
!= level
) {
752 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
754 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
757 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
761 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
764 if (ndr_flags
& NDR_BUFFERS
) {
767 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
771 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
774 return NDR_ERR_SUCCESS
;
777 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
780 level
= ndr_print_get_switch_value(ndr
, r
);
781 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
784 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
788 ndr_print_bad_level(ndr
, name
, level
);
792 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
794 if (ndr_flags
& NDR_SCALARS
) {
795 NDR_CHECK(ndr_push_align(ndr
, 8));
796 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
797 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
798 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
799 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
801 if (ndr_flags
& NDR_BUFFERS
) {
803 return NDR_ERR_SUCCESS
;
806 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
808 if (ndr_flags
& NDR_SCALARS
) {
809 NDR_CHECK(ndr_pull_align(ndr
, 8));
810 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
811 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
812 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
813 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
815 if (ndr_flags
& NDR_BUFFERS
) {
817 return NDR_ERR_SUCCESS
;
820 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
822 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
824 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
825 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
826 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
830 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
832 if (ndr_flags
& NDR_SCALARS
) {
833 NDR_CHECK(ndr_push_align(ndr
, 8));
834 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
835 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
836 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
838 if (ndr_flags
& NDR_BUFFERS
) {
840 return NDR_ERR_SUCCESS
;
843 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
845 if (ndr_flags
& NDR_SCALARS
) {
846 NDR_CHECK(ndr_pull_align(ndr
, 8));
847 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
848 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
849 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
851 if (ndr_flags
& NDR_BUFFERS
) {
853 return NDR_ERR_SUCCESS
;
856 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
858 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
860 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
861 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
865 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
867 uint32_t cntr_cursors_0
;
868 if (ndr_flags
& NDR_SCALARS
) {
869 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
870 NDR_CHECK(ndr_push_align(ndr
, 8));
871 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
872 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
873 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
874 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
875 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
876 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
878 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
880 if (ndr_flags
& NDR_BUFFERS
) {
882 return NDR_ERR_SUCCESS
;
885 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
887 uint32_t cntr_cursors_0
;
888 TALLOC_CTX
*_mem_save_cursors_0
;
889 if (ndr_flags
& NDR_SCALARS
) {
890 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
891 NDR_CHECK(ndr_pull_align(ndr
, 8));
892 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
893 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
894 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
895 if (r
->count
> 0x100000) {
896 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
898 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
899 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
900 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
901 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
902 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
903 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
907 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
909 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
911 if (ndr_flags
& NDR_BUFFERS
) {
913 return NDR_ERR_SUCCESS
;
916 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
918 uint32_t cntr_cursors_0
;
919 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
921 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
922 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
923 ndr_print_uint32(ndr
, "count", r
->count
);
924 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
925 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
927 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
929 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
930 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
938 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
941 uint32_t _flags_save_ENUM
= ndr
->flags
;
942 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
943 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
944 ndr
->flags
= _flags_save_ENUM
;
946 return NDR_ERR_SUCCESS
;
949 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
953 uint32_t _flags_save_ENUM
= ndr
->flags
;
954 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
955 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
957 ndr
->flags
= _flags_save_ENUM
;
959 return NDR_ERR_SUCCESS
;
962 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
964 const char *val
= NULL
;
967 uint32_t _flags_save_ENUM
= ndr
->flags
;
968 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
970 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
971 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
972 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
973 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
974 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
975 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
976 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
977 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
979 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
980 ndr
->flags
= _flags_save_ENUM
;
984 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
987 uint32_t _flags_save_ENUM
= ndr
->flags
;
988 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
989 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
990 ndr
->flags
= _flags_save_ENUM
;
992 return NDR_ERR_SUCCESS
;
995 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
999 uint32_t _flags_save_ENUM
= ndr
->flags
;
1000 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1001 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1003 ndr
->flags
= _flags_save_ENUM
;
1005 return NDR_ERR_SUCCESS
;
1008 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
1010 const char *val
= NULL
;
1013 uint32_t _flags_save_ENUM
= ndr
->flags
;
1014 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1016 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
1017 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
1018 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
1019 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
1020 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
1021 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
1022 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
1023 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
1024 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
1025 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
1026 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
1027 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
1028 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
1029 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
1030 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
1031 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
1032 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
1034 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1035 ndr
->flags
= _flags_save_ENUM
;
1039 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1041 if (ndr_flags
& NDR_SCALARS
) {
1042 NDR_CHECK(ndr_push_align(ndr
, 8));
1043 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1044 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1045 if (r
->naming_context
== NULL
) {
1046 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1048 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1049 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1050 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1051 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1052 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1053 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1054 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1055 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1056 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1058 if (ndr_flags
& NDR_BUFFERS
) {
1059 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1060 if (r
->uptodateness_vector
) {
1061 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1064 return NDR_ERR_SUCCESS
;
1067 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1069 uint32_t _ptr_naming_context
;
1070 TALLOC_CTX
*_mem_save_naming_context_0
;
1071 uint32_t _ptr_uptodateness_vector
;
1072 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1073 if (ndr_flags
& NDR_SCALARS
) {
1074 NDR_CHECK(ndr_pull_align(ndr
, 8));
1075 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1076 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1077 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1078 if (_ptr_naming_context
) {
1079 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1081 r
->naming_context
= NULL
;
1083 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1084 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1085 if (_ptr_uptodateness_vector
) {
1086 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1088 r
->uptodateness_vector
= NULL
;
1090 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1091 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1093 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1094 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1095 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1097 if (ndr_flags
& NDR_BUFFERS
) {
1098 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1099 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1101 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1102 if (r
->uptodateness_vector
) {
1103 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1104 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1105 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1109 return NDR_ERR_SUCCESS
;
1112 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1114 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1116 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1117 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1118 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1120 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1122 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1123 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1125 if (r
->uptodateness_vector
) {
1126 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1129 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1130 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1131 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1132 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1133 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1137 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOID(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOID
*r
)
1139 if (ndr_flags
& NDR_SCALARS
) {
1140 NDR_CHECK(ndr_push_align(ndr
, 5));
1141 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
1142 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary_oid
));
1143 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1145 if (ndr_flags
& NDR_BUFFERS
) {
1146 if (r
->binary_oid
) {
1147 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
1148 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1151 return NDR_ERR_SUCCESS
;
1154 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOID
*r
)
1156 uint32_t _ptr_binary_oid
;
1157 TALLOC_CTX
*_mem_save_binary_oid_0
;
1158 if (ndr_flags
& NDR_SCALARS
) {
1159 NDR_CHECK(ndr_pull_align(ndr
, 5));
1160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
1161 if (r
->length
> 10000) {
1162 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1164 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary_oid
));
1165 if (_ptr_binary_oid
) {
1166 NDR_PULL_ALLOC(ndr
, r
->binary_oid
);
1168 r
->binary_oid
= NULL
;
1170 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1172 if (ndr_flags
& NDR_BUFFERS
) {
1173 if (r
->binary_oid
) {
1174 _mem_save_binary_oid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1175 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary_oid
, 0);
1176 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->binary_oid
));
1177 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
));
1178 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
)));
1179 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_oid_0
, 0);
1181 if (r
->binary_oid
) {
1182 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->binary_oid
, r
->length
));
1185 return NDR_ERR_SUCCESS
;
1188 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1190 if (ndr_flags
& NDR_SCALARS
) {
1191 NDR_CHECK(ndr_push_align(ndr
, 5));
1192 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1194 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1196 if (ndr_flags
& NDR_BUFFERS
) {
1197 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1199 return NDR_ERR_SUCCESS
;
1202 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1204 if (ndr_flags
& NDR_SCALARS
) {
1205 NDR_CHECK(ndr_pull_align(ndr
, 5));
1206 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1208 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1210 if (ndr_flags
& NDR_BUFFERS
) {
1211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1213 return NDR_ERR_SUCCESS
;
1216 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1218 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1220 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1221 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1225 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1227 uint32_t cntr_mappings_1
;
1228 if (ndr_flags
& NDR_SCALARS
) {
1229 NDR_CHECK(ndr_push_align(ndr
, 5));
1230 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1231 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1232 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1234 if (ndr_flags
& NDR_BUFFERS
) {
1236 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1237 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1238 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1240 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1241 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1245 return NDR_ERR_SUCCESS
;
1248 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1250 uint32_t _ptr_mappings
;
1251 uint32_t cntr_mappings_1
;
1252 TALLOC_CTX
*_mem_save_mappings_0
;
1253 TALLOC_CTX
*_mem_save_mappings_1
;
1254 if (ndr_flags
& NDR_SCALARS
) {
1255 NDR_CHECK(ndr_pull_align(ndr
, 5));
1256 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1257 if (r
->num_mappings
> 0x100000) {
1258 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1260 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1261 if (_ptr_mappings
) {
1262 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1266 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1268 if (ndr_flags
& NDR_BUFFERS
) {
1270 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1271 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1272 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1273 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, ndr_get_array_size(ndr
, &r
->mappings
));
1274 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1275 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1276 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1277 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1279 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1280 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1286 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1289 return NDR_ERR_SUCCESS
;
1292 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1294 uint32_t cntr_mappings_1
;
1295 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1297 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1298 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1301 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1303 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1305 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1306 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1316 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1319 uint32_t _flags_save_ENUM
= ndr
->flags
;
1320 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1321 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1322 ndr
->flags
= _flags_save_ENUM
;
1324 return NDR_ERR_SUCCESS
;
1327 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1331 uint32_t _flags_save_ENUM
= ndr
->flags
;
1332 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1333 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1335 ndr
->flags
= _flags_save_ENUM
;
1337 return NDR_ERR_SUCCESS
;
1340 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1342 const char *val
= NULL
;
1345 uint32_t _flags_save_ENUM
= ndr
->flags
;
1346 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1348 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1349 case DRSUAPI_ATTRIBUTE_cn
: val
= "DRSUAPI_ATTRIBUTE_cn"; break;
1350 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1351 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1352 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1353 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1354 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1355 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1356 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1357 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1358 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1359 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1360 case DRSUAPI_ATTRIBUTE_rDNAttId
: val
= "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1361 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1362 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1363 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1364 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1365 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1366 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1367 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1368 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1369 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1370 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1371 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1372 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1373 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1374 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1375 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1376 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1377 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1378 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1379 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1380 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1381 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1382 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1383 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1384 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1385 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1386 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1387 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1388 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1389 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1390 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1391 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1392 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1393 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1394 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1395 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1396 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1397 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1398 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1399 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1400 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1401 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1402 case DRSUAPI_ATTRIBUTE_options
: val
= "DRSUAPI_ATTRIBUTE_options"; break;
1403 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1404 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1405 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1406 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1407 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1408 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1409 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1410 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1411 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1412 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1413 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1414 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1415 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1416 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1417 case DRSUAPI_ATTRIBUTE_transportAddressAttribute
: val
= "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1418 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1419 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1420 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1421 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1422 case DRSUAPI_ATTRIBUTE_NONE
: val
= "DRSUAPI_ATTRIBUTE_NONE"; break;
1424 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1425 ndr
->flags
= _flags_save_ENUM
;
1429 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1431 uint32_t cntr_attids_0
;
1432 if (ndr_flags
& NDR_SCALARS
) {
1433 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1434 NDR_CHECK(ndr_push_align(ndr
, 4));
1435 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1436 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1437 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1438 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1439 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1441 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1443 if (ndr_flags
& NDR_BUFFERS
) {
1445 return NDR_ERR_SUCCESS
;
1448 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1450 uint32_t cntr_attids_0
;
1451 TALLOC_CTX
*_mem_save_attids_0
;
1452 if (ndr_flags
& NDR_SCALARS
) {
1453 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1454 NDR_CHECK(ndr_pull_align(ndr
, 4));
1455 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1456 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1457 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1458 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1459 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1461 NDR_PULL_ALLOC_N(ndr
, r
->attids
, ndr_get_array_size(ndr
, &r
->attids
));
1462 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1463 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1464 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1465 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1467 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1469 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1471 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1473 if (ndr_flags
& NDR_BUFFERS
) {
1475 return NDR_ERR_SUCCESS
;
1478 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1480 uint32_t cntr_attids_0
;
1481 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1483 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1484 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1485 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1486 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1488 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1490 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1491 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1499 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1501 if (ndr_flags
& NDR_SCALARS
) {
1502 NDR_CHECK(ndr_push_align(ndr
, 8));
1503 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1504 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1505 if (r
->naming_context
== NULL
) {
1506 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1508 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1509 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1510 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1511 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1512 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1513 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1514 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1515 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1516 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1517 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1518 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1519 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1521 if (ndr_flags
& NDR_BUFFERS
) {
1522 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1523 if (r
->uptodateness_vector
) {
1524 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1526 if (r
->partial_attribute_set
) {
1527 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1529 if (r
->partial_attribute_set_ex
) {
1530 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1532 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1534 return NDR_ERR_SUCCESS
;
1537 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1539 uint32_t _ptr_naming_context
;
1540 TALLOC_CTX
*_mem_save_naming_context_0
;
1541 uint32_t _ptr_uptodateness_vector
;
1542 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1543 uint32_t _ptr_partial_attribute_set
;
1544 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1545 uint32_t _ptr_partial_attribute_set_ex
;
1546 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1547 if (ndr_flags
& NDR_SCALARS
) {
1548 NDR_CHECK(ndr_pull_align(ndr
, 8));
1549 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1550 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1551 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1552 if (_ptr_naming_context
) {
1553 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1555 r
->naming_context
= NULL
;
1557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1558 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1559 if (_ptr_uptodateness_vector
) {
1560 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1562 r
->uptodateness_vector
= NULL
;
1564 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1565 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1566 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1567 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1568 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1569 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1570 if (_ptr_partial_attribute_set
) {
1571 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1573 r
->partial_attribute_set
= NULL
;
1575 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1576 if (_ptr_partial_attribute_set_ex
) {
1577 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1579 r
->partial_attribute_set_ex
= NULL
;
1581 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1582 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1584 if (ndr_flags
& NDR_BUFFERS
) {
1585 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1586 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1588 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1589 if (r
->uptodateness_vector
) {
1590 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1591 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1592 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1595 if (r
->partial_attribute_set
) {
1596 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1597 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1598 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1601 if (r
->partial_attribute_set_ex
) {
1602 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1603 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1604 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1605 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1607 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1609 return NDR_ERR_SUCCESS
;
1612 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1614 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1616 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1617 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1618 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1620 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1622 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1623 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1625 if (r
->uptodateness_vector
) {
1626 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1629 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1630 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1631 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1632 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1633 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1634 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1636 if (r
->partial_attribute_set
) {
1637 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1640 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1642 if (r
->partial_attribute_set_ex
) {
1643 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1646 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1650 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1652 if (ndr_flags
& NDR_SCALARS
) {
1653 NDR_CHECK(ndr_push_align(ndr
, 8));
1654 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1655 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1656 if (r
->naming_context
== NULL
) {
1657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1659 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1660 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1661 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1662 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1663 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1664 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1665 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1666 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1667 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1668 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1669 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1670 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1671 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1673 if (ndr_flags
& NDR_BUFFERS
) {
1674 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1675 if (r
->uptodateness_vector
) {
1676 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1678 if (r
->partial_attribute_set
) {
1679 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1681 if (r
->partial_attribute_set_ex
) {
1682 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1684 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1686 return NDR_ERR_SUCCESS
;
1689 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1691 uint32_t _ptr_naming_context
;
1692 TALLOC_CTX
*_mem_save_naming_context_0
;
1693 uint32_t _ptr_uptodateness_vector
;
1694 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1695 uint32_t _ptr_partial_attribute_set
;
1696 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1697 uint32_t _ptr_partial_attribute_set_ex
;
1698 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1699 if (ndr_flags
& NDR_SCALARS
) {
1700 NDR_CHECK(ndr_pull_align(ndr
, 8));
1701 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1702 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1703 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1704 if (_ptr_naming_context
) {
1705 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1707 r
->naming_context
= NULL
;
1709 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1710 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1711 if (_ptr_uptodateness_vector
) {
1712 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1714 r
->uptodateness_vector
= NULL
;
1716 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1717 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1719 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1720 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1721 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1722 if (_ptr_partial_attribute_set
) {
1723 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1725 r
->partial_attribute_set
= NULL
;
1727 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1728 if (_ptr_partial_attribute_set_ex
) {
1729 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1731 r
->partial_attribute_set_ex
= NULL
;
1733 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1734 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1735 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1737 if (ndr_flags
& NDR_BUFFERS
) {
1738 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1739 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1740 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1741 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1742 if (r
->uptodateness_vector
) {
1743 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1744 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1748 if (r
->partial_attribute_set
) {
1749 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1750 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1751 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1752 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1754 if (r
->partial_attribute_set_ex
) {
1755 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1756 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1757 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1758 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1762 return NDR_ERR_SUCCESS
;
1765 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1767 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1769 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1770 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1771 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1773 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1775 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1776 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1778 if (r
->uptodateness_vector
) {
1779 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1782 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1783 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1784 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1785 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1786 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1787 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1789 if (r
->partial_attribute_set
) {
1790 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1793 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1795 if (r
->partial_attribute_set_ex
) {
1796 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1799 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1800 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1804 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1806 if (ndr_flags
& NDR_SCALARS
) {
1807 int level
= ndr_push_get_switch_value(ndr
, r
);
1808 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
1809 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1812 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1816 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1820 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1824 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1827 if (ndr_flags
& NDR_BUFFERS
) {
1828 int level
= ndr_push_get_switch_value(ndr
, r
);
1831 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1835 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1839 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1843 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1846 return NDR_ERR_SUCCESS
;
1849 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1853 level
= ndr_pull_get_switch_value(ndr
, r
);
1854 if (ndr_flags
& NDR_SCALARS
) {
1855 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
1856 if (_level
!= level
) {
1857 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1859 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1862 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1866 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1870 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1874 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1877 if (ndr_flags
& NDR_BUFFERS
) {
1880 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1884 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1888 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1892 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1895 return NDR_ERR_SUCCESS
;
1898 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1901 level
= ndr_print_get_switch_value(ndr
, r
);
1902 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1905 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1909 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1913 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1917 ndr_print_bad_level(ndr
, name
, level
);
1921 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1923 if (ndr_flags
& NDR_SCALARS
) {
1924 NDR_CHECK(ndr_push_align(ndr
, 8));
1925 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1926 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1927 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1928 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1930 if (ndr_flags
& NDR_BUFFERS
) {
1932 return NDR_ERR_SUCCESS
;
1935 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1937 if (ndr_flags
& NDR_SCALARS
) {
1938 NDR_CHECK(ndr_pull_align(ndr
, 8));
1939 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1940 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1941 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1942 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1944 if (ndr_flags
& NDR_BUFFERS
) {
1946 return NDR_ERR_SUCCESS
;
1949 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1951 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1953 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1954 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1955 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1959 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1961 uint32_t cntr_cursors_0
;
1962 if (ndr_flags
& NDR_SCALARS
) {
1963 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1964 NDR_CHECK(ndr_push_align(ndr
, 8));
1965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1967 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1968 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1969 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1970 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1972 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1974 if (ndr_flags
& NDR_BUFFERS
) {
1976 return NDR_ERR_SUCCESS
;
1979 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1981 uint32_t cntr_cursors_0
;
1982 TALLOC_CTX
*_mem_save_cursors_0
;
1983 if (ndr_flags
& NDR_SCALARS
) {
1984 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1985 NDR_CHECK(ndr_pull_align(ndr
, 8));
1986 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1987 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1988 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1989 if (r
->count
> 0x100000) {
1990 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1992 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1993 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
1994 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1995 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1996 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1999 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
2001 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
2003 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2005 if (ndr_flags
& NDR_BUFFERS
) {
2007 return NDR_ERR_SUCCESS
;
2010 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
2012 uint32_t cntr_cursors_0
;
2013 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
2015 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
2016 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
2017 ndr_print_uint32(ndr
, "count", r
->count
);
2018 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
2019 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
2021 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
2023 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
2024 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
2032 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
2034 if (ndr_flags
& NDR_SCALARS
) {
2035 NDR_CHECK(ndr_push_align(ndr
, 5));
2036 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
2037 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
2038 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2040 if (ndr_flags
& NDR_BUFFERS
) {
2042 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
2045 return NDR_ERR_SUCCESS
;
2048 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2051 TALLOC_CTX
*_mem_save_blob_0
;
2052 if (ndr_flags
& NDR_SCALARS
) {
2053 NDR_CHECK(ndr_pull_align(ndr
, 5));
2054 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2055 if (r
->__ndr_size
> 10485760) {
2056 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2058 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2060 NDR_PULL_ALLOC(ndr
, r
->blob
);
2064 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2066 if (ndr_flags
& NDR_BUFFERS
) {
2068 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2069 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2070 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2071 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2074 return NDR_ERR_SUCCESS
;
2077 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2079 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2081 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2082 ndr_print_ptr(ndr
, "blob", r
->blob
);
2085 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2091 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2093 uint32_t cntr_values_1
;
2094 if (ndr_flags
& NDR_SCALARS
) {
2095 NDR_CHECK(ndr_push_align(ndr
, 5));
2096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2097 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2098 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2100 if (ndr_flags
& NDR_BUFFERS
) {
2102 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2103 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2104 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2106 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2107 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2111 return NDR_ERR_SUCCESS
;
2114 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2116 uint32_t _ptr_values
;
2117 uint32_t cntr_values_1
;
2118 TALLOC_CTX
*_mem_save_values_0
;
2119 TALLOC_CTX
*_mem_save_values_1
;
2120 if (ndr_flags
& NDR_SCALARS
) {
2121 NDR_CHECK(ndr_pull_align(ndr
, 5));
2122 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2123 if (r
->num_values
> 10485760) {
2124 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2126 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2128 NDR_PULL_ALLOC(ndr
, r
->values
);
2132 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2134 if (ndr_flags
& NDR_BUFFERS
) {
2136 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2137 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2138 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2139 NDR_PULL_ALLOC_N(ndr
, r
->values
, ndr_get_array_size(ndr
, &r
->values
));
2140 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2141 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2142 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2143 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2145 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2146 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2148 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2149 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2152 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2155 return NDR_ERR_SUCCESS
;
2158 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2160 uint32_t cntr_values_1
;
2161 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2163 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2164 ndr_print_ptr(ndr
, "values", r
->values
);
2167 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2169 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2171 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2172 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2182 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2184 if (ndr_flags
& NDR_SCALARS
) {
2185 NDR_CHECK(ndr_push_align(ndr
, 4));
2186 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2187 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2188 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2189 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2190 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2191 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2192 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2194 if (ndr_flags
& NDR_BUFFERS
) {
2195 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2197 return NDR_ERR_SUCCESS
;
2200 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2202 if (ndr_flags
& NDR_SCALARS
) {
2203 NDR_CHECK(ndr_pull_align(ndr
, 4));
2204 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2205 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2206 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2207 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2208 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2209 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2210 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2212 if (ndr_flags
& NDR_BUFFERS
) {
2213 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2215 return NDR_ERR_SUCCESS
;
2218 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2220 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2222 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
);
2223 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
);
2224 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2225 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2226 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2227 ndr_print_string(ndr
, "dn", r
->dn
);
2231 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2233 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2236 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2238 if (ndr_flags
& NDR_SCALARS
) {
2239 NDR_CHECK(ndr_push_align(ndr
, 4));
2240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2241 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2242 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2243 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2244 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2245 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2246 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2248 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2249 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2250 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2251 ndr
->flags
= _flags_save_DATA_BLOB
;
2253 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2255 if (ndr_flags
& NDR_BUFFERS
) {
2256 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2258 return NDR_ERR_SUCCESS
;
2261 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2263 if (ndr_flags
& NDR_SCALARS
) {
2264 NDR_CHECK(ndr_pull_align(ndr
, 4));
2265 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2266 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2267 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2268 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2269 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2270 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2271 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2273 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2274 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2275 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2276 ndr
->flags
= _flags_save_DATA_BLOB
;
2278 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2280 if (ndr_flags
& NDR_BUFFERS
) {
2281 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2283 return NDR_ERR_SUCCESS
;
2286 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2288 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2290 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
);
2291 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
);
2292 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2293 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2294 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2295 ndr_print_string(ndr
, "dn", r
->dn
);
2296 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2297 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2301 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2303 if (ndr_flags
& NDR_SCALARS
) {
2304 NDR_CHECK(ndr_push_align(ndr
, 5));
2305 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2306 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2307 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2309 if (ndr_flags
& NDR_BUFFERS
) {
2310 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2312 return NDR_ERR_SUCCESS
;
2315 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2317 if (ndr_flags
& NDR_SCALARS
) {
2318 NDR_CHECK(ndr_pull_align(ndr
, 5));
2319 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2320 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2321 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2323 if (ndr_flags
& NDR_BUFFERS
) {
2324 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2326 return NDR_ERR_SUCCESS
;
2329 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2331 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2333 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2334 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2338 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2340 uint32_t cntr_attributes_1
;
2341 if (ndr_flags
& NDR_SCALARS
) {
2342 NDR_CHECK(ndr_push_align(ndr
, 5));
2343 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2344 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2345 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2347 if (ndr_flags
& NDR_BUFFERS
) {
2348 if (r
->attributes
) {
2349 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2350 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2351 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2353 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2354 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2358 return NDR_ERR_SUCCESS
;
2361 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2363 uint32_t _ptr_attributes
;
2364 uint32_t cntr_attributes_1
;
2365 TALLOC_CTX
*_mem_save_attributes_0
;
2366 TALLOC_CTX
*_mem_save_attributes_1
;
2367 if (ndr_flags
& NDR_SCALARS
) {
2368 NDR_CHECK(ndr_pull_align(ndr
, 5));
2369 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2370 if (r
->num_attributes
> 1048576) {
2371 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2373 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2374 if (_ptr_attributes
) {
2375 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2377 r
->attributes
= NULL
;
2379 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2381 if (ndr_flags
& NDR_BUFFERS
) {
2382 if (r
->attributes
) {
2383 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2384 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2385 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2386 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2387 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2388 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2389 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2392 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2393 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2396 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2398 if (r
->attributes
) {
2399 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2402 return NDR_ERR_SUCCESS
;
2405 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2407 uint32_t cntr_attributes_1
;
2408 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2410 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2411 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2413 if (r
->attributes
) {
2414 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2416 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2418 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2419 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2429 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2432 return NDR_ERR_SUCCESS
;
2435 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2438 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2440 return NDR_ERR_SUCCESS
;
2443 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2445 ndr_print_uint32(ndr
, name
, r
);
2447 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2448 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2449 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2453 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2455 if (ndr_flags
& NDR_SCALARS
) {
2456 NDR_CHECK(ndr_push_align(ndr
, 5));
2457 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2458 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2459 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2460 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2462 if (ndr_flags
& NDR_BUFFERS
) {
2463 if (r
->identifier
) {
2464 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2466 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2468 return NDR_ERR_SUCCESS
;
2471 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2473 uint32_t _ptr_identifier
;
2474 TALLOC_CTX
*_mem_save_identifier_0
;
2475 if (ndr_flags
& NDR_SCALARS
) {
2476 NDR_CHECK(ndr_pull_align(ndr
, 5));
2477 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2478 if (_ptr_identifier
) {
2479 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2481 r
->identifier
= NULL
;
2483 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2484 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2485 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2487 if (ndr_flags
& NDR_BUFFERS
) {
2488 if (r
->identifier
) {
2489 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2490 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2491 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2492 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2494 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2496 return NDR_ERR_SUCCESS
;
2499 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2501 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2503 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2505 if (r
->identifier
) {
2506 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2509 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2510 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2514 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2516 if (ndr_flags
& NDR_SCALARS
) {
2517 NDR_CHECK(ndr_push_align(ndr
, 8));
2518 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2519 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2520 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2521 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2522 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2524 if (ndr_flags
& NDR_BUFFERS
) {
2526 return NDR_ERR_SUCCESS
;
2529 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2531 if (ndr_flags
& NDR_SCALARS
) {
2532 NDR_CHECK(ndr_pull_align(ndr
, 8));
2533 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2534 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2535 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2536 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2539 if (ndr_flags
& NDR_BUFFERS
) {
2541 return NDR_ERR_SUCCESS
;
2544 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2546 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2548 ndr_print_uint32(ndr
, "version", r
->version
);
2549 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2550 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2551 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2555 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2557 uint32_t cntr_meta_data_0
;
2558 if (ndr_flags
& NDR_SCALARS
) {
2559 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2560 NDR_CHECK(ndr_push_align(ndr
, 8));
2561 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2562 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2563 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2565 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2567 if (ndr_flags
& NDR_BUFFERS
) {
2569 return NDR_ERR_SUCCESS
;
2572 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2574 uint32_t cntr_meta_data_0
;
2575 TALLOC_CTX
*_mem_save_meta_data_0
;
2576 if (ndr_flags
& NDR_SCALARS
) {
2577 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2578 NDR_CHECK(ndr_pull_align(ndr
, 8));
2579 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2580 if (r
->count
> 1048576) {
2581 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2583 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2584 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2585 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2586 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2587 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2589 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2591 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2593 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2595 if (ndr_flags
& NDR_BUFFERS
) {
2597 return NDR_ERR_SUCCESS
;
2600 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2602 uint32_t cntr_meta_data_0
;
2603 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2605 ndr_print_uint32(ndr
, "count", r
->count
);
2606 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2608 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2610 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2611 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2619 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2621 if (ndr_flags
& NDR_SCALARS
) {
2622 NDR_CHECK(ndr_push_align(ndr
, 5));
2623 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2624 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2625 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2626 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2627 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2628 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2630 if (ndr_flags
& NDR_BUFFERS
) {
2631 if (r
->next_object
) {
2632 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2634 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2635 if (r
->parent_object_guid
) {
2636 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2638 if (r
->meta_data_ctr
) {
2639 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2642 return NDR_ERR_SUCCESS
;
2645 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2647 uint32_t _ptr_next_object
;
2648 TALLOC_CTX
*_mem_save_next_object_0
;
2649 uint32_t _ptr_parent_object_guid
;
2650 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2651 uint32_t _ptr_meta_data_ctr
;
2652 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2653 if (ndr_flags
& NDR_SCALARS
) {
2654 NDR_CHECK(ndr_pull_align(ndr
, 5));
2655 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2656 if (_ptr_next_object
) {
2657 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2659 r
->next_object
= NULL
;
2661 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2662 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2663 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2664 if (_ptr_parent_object_guid
) {
2665 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2667 r
->parent_object_guid
= NULL
;
2669 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2670 if (_ptr_meta_data_ctr
) {
2671 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2673 r
->meta_data_ctr
= NULL
;
2675 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2677 if (ndr_flags
& NDR_BUFFERS
) {
2678 if (r
->next_object
) {
2679 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2680 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2681 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2682 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2684 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2685 if (r
->parent_object_guid
) {
2686 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2687 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2688 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2689 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2691 if (r
->meta_data_ctr
) {
2692 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2693 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2694 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2695 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2698 return NDR_ERR_SUCCESS
;
2701 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2703 if (ndr_flags
& NDR_SCALARS
) {
2704 NDR_CHECK(ndr_push_align(ndr
, 8));
2705 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2706 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2707 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2708 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2709 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2710 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2711 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2712 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2713 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2714 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2715 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2716 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2717 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2719 if (ndr_flags
& NDR_BUFFERS
) {
2720 if (r
->naming_context
) {
2721 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2723 if (r
->uptodateness_vector
) {
2724 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2726 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2727 if (r
->first_object
) {
2728 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2731 return NDR_ERR_SUCCESS
;
2734 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2736 uint32_t _ptr_naming_context
;
2737 TALLOC_CTX
*_mem_save_naming_context_0
;
2738 uint32_t _ptr_uptodateness_vector
;
2739 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2740 uint32_t _ptr_first_object
;
2741 TALLOC_CTX
*_mem_save_first_object_0
;
2742 if (ndr_flags
& NDR_SCALARS
) {
2743 NDR_CHECK(ndr_pull_align(ndr
, 8));
2744 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2745 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2746 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2747 if (_ptr_naming_context
) {
2748 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2750 r
->naming_context
= NULL
;
2752 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2753 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2754 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2755 if (_ptr_uptodateness_vector
) {
2756 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2758 r
->uptodateness_vector
= NULL
;
2760 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2761 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2762 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2763 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2764 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2765 if (_ptr_first_object
) {
2766 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2768 r
->first_object
= NULL
;
2770 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2771 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2773 if (ndr_flags
& NDR_BUFFERS
) {
2774 if (r
->naming_context
) {
2775 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2776 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2777 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2778 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2780 if (r
->uptodateness_vector
) {
2781 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2782 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2783 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2784 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2786 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2787 if (r
->first_object
) {
2788 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2789 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2790 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2791 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2794 return NDR_ERR_SUCCESS
;
2797 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2799 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2801 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2802 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2803 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2805 if (r
->naming_context
) {
2806 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2809 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2810 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2811 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2813 if (r
->uptodateness_vector
) {
2814 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2817 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2818 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2819 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2820 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
);
2821 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2823 if (r
->first_object
) {
2824 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2827 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2831 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2833 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2836 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2838 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2839 return NDR_ERR_SUCCESS
;
2842 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2845 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2847 return NDR_ERR_SUCCESS
;
2850 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2852 ndr_print_uint32(ndr
, name
, r
);
2854 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2858 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2860 if (ndr_flags
& NDR_SCALARS
) {
2861 NDR_CHECK(ndr_push_align(ndr
, 8));
2862 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2863 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2864 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2865 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2866 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2867 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2868 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2870 if (ndr_flags
& NDR_BUFFERS
) {
2871 if (r
->identifier
) {
2872 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2874 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2876 return NDR_ERR_SUCCESS
;
2879 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2881 uint32_t _ptr_identifier
;
2882 TALLOC_CTX
*_mem_save_identifier_0
;
2883 if (ndr_flags
& NDR_SCALARS
) {
2884 NDR_CHECK(ndr_pull_align(ndr
, 8));
2885 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2886 if (_ptr_identifier
) {
2887 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2889 r
->identifier
= NULL
;
2891 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2892 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2893 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2894 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2895 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2896 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2898 if (ndr_flags
& NDR_BUFFERS
) {
2899 if (r
->identifier
) {
2900 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2901 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2902 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2903 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2905 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2907 return NDR_ERR_SUCCESS
;
2910 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2912 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2914 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2916 if (r
->identifier
) {
2917 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2920 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2921 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2922 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2923 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2924 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2928 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2930 uint32_t cntr_linked_attributes_1
;
2931 if (ndr_flags
& NDR_SCALARS
) {
2932 NDR_CHECK(ndr_push_align(ndr
, 8));
2933 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2934 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2935 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2936 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2937 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2938 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2939 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2940 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2941 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2942 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2943 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2944 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2945 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2946 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2947 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2948 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2949 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2950 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2952 if (ndr_flags
& NDR_BUFFERS
) {
2953 if (r
->naming_context
) {
2954 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2956 if (r
->uptodateness_vector
) {
2957 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2959 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2960 if (r
->first_object
) {
2961 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2963 if (r
->linked_attributes
) {
2964 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2965 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2966 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2968 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2969 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2973 return NDR_ERR_SUCCESS
;
2976 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2978 uint32_t _ptr_naming_context
;
2979 TALLOC_CTX
*_mem_save_naming_context_0
;
2980 uint32_t _ptr_uptodateness_vector
;
2981 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2982 uint32_t _ptr_first_object
;
2983 TALLOC_CTX
*_mem_save_first_object_0
;
2984 uint32_t _ptr_linked_attributes
;
2985 uint32_t cntr_linked_attributes_1
;
2986 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2987 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2988 if (ndr_flags
& NDR_SCALARS
) {
2989 NDR_CHECK(ndr_pull_align(ndr
, 8));
2990 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2991 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2992 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2993 if (_ptr_naming_context
) {
2994 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2996 r
->naming_context
= NULL
;
2998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2999 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
3000 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
3001 if (_ptr_uptodateness_vector
) {
3002 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
3004 r
->uptodateness_vector
= NULL
;
3006 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
3007 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
3008 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
3009 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
3010 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
3011 if (_ptr_first_object
) {
3012 NDR_PULL_ALLOC(ndr
, r
->first_object
);
3014 r
->first_object
= NULL
;
3016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
3017 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
3018 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
3019 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
3020 if (r
->linked_attributes_count
> 1048576) {
3021 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3023 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
3024 if (_ptr_linked_attributes
) {
3025 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
3027 r
->linked_attributes
= NULL
;
3029 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
3030 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
3032 if (ndr_flags
& NDR_BUFFERS
) {
3033 if (r
->naming_context
) {
3034 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3035 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3039 if (r
->uptodateness_vector
) {
3040 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3041 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
3042 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
3043 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3045 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3046 if (r
->first_object
) {
3047 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3048 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3049 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3050 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3052 if (r
->linked_attributes
) {
3053 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3054 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3055 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3056 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3057 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3058 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3059 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3062 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3063 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3065 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3066 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3068 if (r
->linked_attributes
) {
3069 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3072 return NDR_ERR_SUCCESS
;
3075 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3077 uint32_t cntr_linked_attributes_1
;
3078 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3080 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3081 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3082 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3084 if (r
->naming_context
) {
3085 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3088 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3089 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3090 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3092 if (r
->uptodateness_vector
) {
3093 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3096 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3097 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3098 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3099 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
);
3100 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3102 if (r
->first_object
) {
3103 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3106 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3107 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3108 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3109 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3110 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3112 if (r
->linked_attributes
) {
3113 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3115 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3117 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3118 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3125 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3129 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3131 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3134 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3136 if (ndr_flags
& NDR_SCALARS
) {
3137 NDR_CHECK(ndr_push_align(ndr
, 1));
3139 struct ndr_push
*_ndr_ctr1
;
3140 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3141 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3142 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3144 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3146 if (ndr_flags
& NDR_BUFFERS
) {
3148 return NDR_ERR_SUCCESS
;
3151 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3153 if (ndr_flags
& NDR_SCALARS
) {
3154 NDR_CHECK(ndr_pull_align(ndr
, 1));
3156 struct ndr_pull
*_ndr_ctr1
;
3157 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3158 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3159 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3161 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3163 if (ndr_flags
& NDR_BUFFERS
) {
3165 return NDR_ERR_SUCCESS
;
3168 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3170 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3172 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3176 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3178 if (ndr_flags
& NDR_SCALARS
) {
3179 NDR_CHECK(ndr_push_align(ndr
, 1));
3181 struct ndr_push
*_ndr_ctr6
;
3182 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3183 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3184 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3186 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3188 if (ndr_flags
& NDR_BUFFERS
) {
3190 return NDR_ERR_SUCCESS
;
3193 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3195 if (ndr_flags
& NDR_SCALARS
) {
3196 NDR_CHECK(ndr_pull_align(ndr
, 1));
3198 struct ndr_pull
*_ndr_ctr6
;
3199 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3200 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3201 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3203 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3205 if (ndr_flags
& NDR_BUFFERS
) {
3207 return NDR_ERR_SUCCESS
;
3210 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3212 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3214 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3218 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3221 TALLOC_CTX
*_mem_save_ts_0
;
3222 if (ndr_flags
& NDR_SCALARS
) {
3223 NDR_CHECK(ndr_pull_align(ndr
, 5));
3224 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3225 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3226 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3228 NDR_PULL_ALLOC(ndr
, r
->ts
);
3232 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3234 if (ndr_flags
& NDR_BUFFERS
) {
3236 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3237 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3239 struct ndr_pull
*_ndr_ts
;
3240 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3242 struct ndr_pull
*_ndr_ts_compressed
;
3243 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3244 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3245 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3247 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3252 return NDR_ERR_SUCCESS
;
3255 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3257 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3259 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3260 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3261 ndr_print_ptr(ndr
, "ts", r
->ts
);
3264 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3270 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3273 TALLOC_CTX
*_mem_save_ts_0
;
3274 if (ndr_flags
& NDR_SCALARS
) {
3275 NDR_CHECK(ndr_pull_align(ndr
, 5));
3276 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3277 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3278 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3280 NDR_PULL_ALLOC(ndr
, r
->ts
);
3284 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3286 if (ndr_flags
& NDR_BUFFERS
) {
3288 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3289 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3291 struct ndr_pull
*_ndr_ts
;
3292 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3294 struct ndr_pull
*_ndr_ts_compressed
;
3295 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3296 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3297 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3299 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3301 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3304 return NDR_ERR_SUCCESS
;
3307 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3309 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3311 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3312 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3313 ndr_print_ptr(ndr
, "ts", r
->ts
);
3316 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3322 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3325 TALLOC_CTX
*_mem_save_ts_0
;
3326 if (ndr_flags
& NDR_SCALARS
) {
3327 NDR_CHECK(ndr_pull_align(ndr
, 5));
3328 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3329 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3330 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3332 NDR_PULL_ALLOC(ndr
, r
->ts
);
3336 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3338 if (ndr_flags
& NDR_BUFFERS
) {
3340 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3341 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3343 struct ndr_pull
*_ndr_ts
;
3344 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3346 struct ndr_pull
*_ndr_ts_compressed
;
3347 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3348 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3349 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3351 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3353 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3356 return NDR_ERR_SUCCESS
;
3359 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3361 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3363 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3364 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3365 ndr_print_ptr(ndr
, "ts", r
->ts
);
3368 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3374 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3377 TALLOC_CTX
*_mem_save_ts_0
;
3378 if (ndr_flags
& NDR_SCALARS
) {
3379 NDR_CHECK(ndr_pull_align(ndr
, 5));
3380 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3382 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3384 NDR_PULL_ALLOC(ndr
, r
->ts
);
3388 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3390 if (ndr_flags
& NDR_BUFFERS
) {
3392 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3393 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3395 struct ndr_pull
*_ndr_ts
;
3396 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3398 struct ndr_pull
*_ndr_ts_compressed
;
3399 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3400 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3401 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3403 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3408 return NDR_ERR_SUCCESS
;
3411 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3413 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3415 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3416 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3417 ndr_print_ptr(ndr
, "ts", r
->ts
);
3420 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3426 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3428 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3429 return NDR_ERR_SUCCESS
;
3432 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3435 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3437 return NDR_ERR_SUCCESS
;
3440 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3442 const char *val
= NULL
;
3445 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3446 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3448 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3451 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3454 uint32_t _flags_save_UNION
= ndr
->flags
;
3455 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3456 if (ndr_flags
& NDR_SCALARS
) {
3457 int level
= ndr_push_get_switch_value(ndr
, r
);
3458 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3460 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3461 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3464 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3465 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3468 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3469 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3472 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3473 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3477 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3480 if (ndr_flags
& NDR_BUFFERS
) {
3481 int level
= ndr_push_get_switch_value(ndr
, r
);
3483 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3484 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3487 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3488 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3491 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3492 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3495 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3496 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3500 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3503 ndr
->flags
= _flags_save_UNION
;
3505 return NDR_ERR_SUCCESS
;
3508 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3512 uint32_t _flags_save_UNION
= ndr
->flags
;
3513 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3514 level
= ndr_pull_get_switch_value(ndr
, r
);
3515 if (ndr_flags
& NDR_SCALARS
) {
3516 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3518 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3519 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3522 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3523 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3526 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3527 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3530 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3531 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3535 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3538 if (ndr_flags
& NDR_BUFFERS
) {
3540 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3541 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3544 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3545 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3548 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3549 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3552 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3553 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3557 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3560 ndr
->flags
= _flags_save_UNION
;
3562 return NDR_ERR_SUCCESS
;
3565 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3569 uint32_t _flags_save_UNION
= ndr
->flags
;
3570 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3571 level
= ndr_print_get_switch_value(ndr
, r
);
3572 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3574 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3575 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3578 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3579 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3582 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3583 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3586 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3587 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3591 ndr_print_bad_level(ndr
, name
, level
);
3593 ndr
->flags
= _flags_save_UNION
;
3597 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3599 if (ndr_flags
& NDR_SCALARS
) {
3600 NDR_CHECK(ndr_push_align(ndr
, 5));
3601 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3602 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3604 if (ndr_flags
& NDR_BUFFERS
) {
3605 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3607 return NDR_ERR_SUCCESS
;
3610 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3612 if (ndr_flags
& NDR_SCALARS
) {
3613 NDR_CHECK(ndr_pull_align(ndr
, 5));
3614 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3615 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3617 if (ndr_flags
& NDR_BUFFERS
) {
3618 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3620 return NDR_ERR_SUCCESS
;
3623 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3625 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3627 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3631 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3633 if (ndr_flags
& NDR_SCALARS
) {
3634 NDR_CHECK(ndr_push_align(ndr
, 5));
3635 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
3636 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3637 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3638 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3639 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3641 if (ndr_flags
& NDR_BUFFERS
) {
3642 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3644 return NDR_ERR_SUCCESS
;
3647 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3649 if (ndr_flags
& NDR_SCALARS
) {
3650 NDR_CHECK(ndr_pull_align(ndr
, 5));
3651 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
3652 if (r
->level
< 0 || r
->level
> 6) {
3653 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3655 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3656 if (r
->type
< 2 || r
->type
> 3) {
3657 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3659 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3660 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3661 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3663 if (ndr_flags
& NDR_BUFFERS
) {
3664 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3666 return NDR_ERR_SUCCESS
;
3669 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3671 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3673 ndr_print_int32(ndr
, "level", r
->level
);
3674 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3675 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3676 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3680 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3682 if (ndr_flags
& NDR_SCALARS
) {
3683 int level
= ndr_push_get_switch_value(ndr
, r
);
3684 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3685 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3688 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3692 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3696 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3700 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3704 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3707 if (ndr_flags
& NDR_BUFFERS
) {
3708 int level
= ndr_push_get_switch_value(ndr
, r
);
3711 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3715 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3719 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3723 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3727 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3730 return NDR_ERR_SUCCESS
;
3733 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3737 level
= ndr_pull_get_switch_value(ndr
, r
);
3738 if (ndr_flags
& NDR_SCALARS
) {
3739 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3740 if (_level
!= level
) {
3741 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3743 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3746 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3750 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3754 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3758 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3762 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3765 if (ndr_flags
& NDR_BUFFERS
) {
3768 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3772 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3776 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3780 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3784 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3787 return NDR_ERR_SUCCESS
;
3790 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3793 level
= ndr_print_get_switch_value(ndr
, r
);
3794 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3797 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3801 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3805 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3809 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3813 ndr_print_bad_level(ndr
, name
, level
);
3817 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3819 if (ndr_flags
& NDR_SCALARS
) {
3820 NDR_CHECK(ndr_push_align(ndr
, 5));
3821 if (r
->naming_context
== NULL
) {
3822 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3824 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3825 if (r
->dest_dsa_dns_name
== NULL
) {
3826 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3828 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3829 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3830 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3831 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3833 if (ndr_flags
& NDR_BUFFERS
) {
3834 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3835 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3836 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3837 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3838 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
));
3840 return NDR_ERR_SUCCESS
;
3843 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3845 uint32_t _ptr_naming_context
;
3846 TALLOC_CTX
*_mem_save_naming_context_0
;
3847 uint32_t _ptr_dest_dsa_dns_name
;
3848 if (ndr_flags
& NDR_SCALARS
) {
3849 NDR_CHECK(ndr_pull_align(ndr
, 5));
3850 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3851 if (_ptr_naming_context
) {
3852 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3854 r
->naming_context
= NULL
;
3856 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3857 if (_ptr_dest_dsa_dns_name
) {
3858 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3860 r
->dest_dsa_dns_name
= NULL
;
3862 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3863 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3864 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3866 if (ndr_flags
& NDR_BUFFERS
) {
3867 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3868 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3869 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3870 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3871 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3872 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3873 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3874 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
));
3876 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3877 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
));
3879 return NDR_ERR_SUCCESS
;
3882 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3884 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3886 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3888 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3890 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3892 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3894 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3895 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
3899 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3901 if (ndr_flags
& NDR_SCALARS
) {
3902 int level
= ndr_push_get_switch_value(ndr
, r
);
3903 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
3904 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3907 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3911 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3914 if (ndr_flags
& NDR_BUFFERS
) {
3915 int level
= ndr_push_get_switch_value(ndr
, r
);
3918 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3922 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3925 return NDR_ERR_SUCCESS
;
3928 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3932 level
= ndr_pull_get_switch_value(ndr
, r
);
3933 if (ndr_flags
& NDR_SCALARS
) {
3934 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
3935 if (_level
!= level
) {
3936 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3938 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3941 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3945 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3948 if (ndr_flags
& NDR_BUFFERS
) {
3951 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3955 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3958 return NDR_ERR_SUCCESS
;
3961 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3964 level
= ndr_print_get_switch_value(ndr
, r
);
3965 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3968 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3972 ndr_print_bad_level(ndr
, name
, level
);
3976 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
3978 if (ndr_flags
& NDR_SCALARS
) {
3979 NDR_CHECK(ndr_push_align(ndr
, 5));
3980 if (r
->naming_context
== NULL
) {
3981 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3983 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3984 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
3985 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3986 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3987 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3989 if (ndr_flags
& NDR_BUFFERS
) {
3990 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3991 if (r
->source_dsa_address
) {
3992 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3993 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3994 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3995 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
));
3998 return NDR_ERR_SUCCESS
;
4001 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
4003 uint32_t _ptr_naming_context
;
4004 TALLOC_CTX
*_mem_save_naming_context_0
;
4005 uint32_t _ptr_source_dsa_address
;
4006 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4007 if (ndr_flags
& NDR_SCALARS
) {
4008 NDR_CHECK(ndr_pull_align(ndr
, 5));
4009 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4010 if (_ptr_naming_context
) {
4011 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4013 r
->naming_context
= NULL
;
4015 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4016 if (_ptr_source_dsa_address
) {
4017 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4019 r
->source_dsa_address
= NULL
;
4021 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4022 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4023 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4025 if (ndr_flags
& NDR_BUFFERS
) {
4026 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4027 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4028 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4029 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4030 if (r
->source_dsa_address
) {
4031 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4032 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4033 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4034 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4035 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4036 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
));
4038 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4039 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
));
4040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4043 return NDR_ERR_SUCCESS
;
4046 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4048 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4050 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4052 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4054 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4056 if (r
->source_dsa_address
) {
4057 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4060 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4061 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4065 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4067 if (ndr_flags
& NDR_SCALARS
) {
4068 NDR_CHECK(ndr_push_align(ndr
, 5));
4069 if (r
->naming_context
== NULL
) {
4070 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4072 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4073 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4074 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4075 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4076 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4077 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4078 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4080 if (ndr_flags
& NDR_BUFFERS
) {
4081 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4082 if (r
->source_dsa_dn
) {
4083 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4085 if (r
->transport_dn
) {
4086 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4088 if (r
->source_dsa_address
) {
4089 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4090 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4091 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4092 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
));
4095 return NDR_ERR_SUCCESS
;
4098 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4100 uint32_t _ptr_naming_context
;
4101 TALLOC_CTX
*_mem_save_naming_context_0
;
4102 uint32_t _ptr_source_dsa_dn
;
4103 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4104 uint32_t _ptr_transport_dn
;
4105 TALLOC_CTX
*_mem_save_transport_dn_0
;
4106 uint32_t _ptr_source_dsa_address
;
4107 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4108 if (ndr_flags
& NDR_SCALARS
) {
4109 NDR_CHECK(ndr_pull_align(ndr
, 5));
4110 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4111 if (_ptr_naming_context
) {
4112 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4114 r
->naming_context
= NULL
;
4116 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4117 if (_ptr_source_dsa_dn
) {
4118 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4120 r
->source_dsa_dn
= NULL
;
4122 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4123 if (_ptr_transport_dn
) {
4124 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4126 r
->transport_dn
= NULL
;
4128 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4129 if (_ptr_source_dsa_address
) {
4130 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4132 r
->source_dsa_address
= NULL
;
4134 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4135 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4136 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4138 if (ndr_flags
& NDR_BUFFERS
) {
4139 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4140 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4141 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4142 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4143 if (r
->source_dsa_dn
) {
4144 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4145 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4146 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4147 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4149 if (r
->transport_dn
) {
4150 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4151 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4152 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4153 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4155 if (r
->source_dsa_address
) {
4156 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4157 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4158 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4159 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4160 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4161 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
));
4163 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4164 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
));
4165 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4168 return NDR_ERR_SUCCESS
;
4171 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4173 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4175 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4177 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4179 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4181 if (r
->source_dsa_dn
) {
4182 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4185 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4187 if (r
->transport_dn
) {
4188 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4191 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4193 if (r
->source_dsa_address
) {
4194 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4197 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4198 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4202 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4204 if (ndr_flags
& NDR_SCALARS
) {
4205 int level
= ndr_push_get_switch_value(ndr
, r
);
4206 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4207 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4210 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4214 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4218 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4221 if (ndr_flags
& NDR_BUFFERS
) {
4222 int level
= ndr_push_get_switch_value(ndr
, r
);
4225 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4229 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4233 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4236 return NDR_ERR_SUCCESS
;
4239 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4243 level
= ndr_pull_get_switch_value(ndr
, r
);
4244 if (ndr_flags
& NDR_SCALARS
) {
4245 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4246 if (_level
!= level
) {
4247 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4249 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4252 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4256 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4260 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4263 if (ndr_flags
& NDR_BUFFERS
) {
4266 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4270 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4274 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4277 return NDR_ERR_SUCCESS
;
4280 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4283 level
= ndr_print_get_switch_value(ndr
, r
);
4284 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4287 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4291 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4295 ndr_print_bad_level(ndr
, name
, level
);
4299 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4301 if (ndr_flags
& NDR_SCALARS
) {
4302 NDR_CHECK(ndr_push_align(ndr
, 5));
4303 if (r
->naming_context
== NULL
) {
4304 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4306 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4307 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4308 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4309 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4311 if (ndr_flags
& NDR_BUFFERS
) {
4312 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4313 if (r
->source_dsa_address
) {
4314 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4315 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4316 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4317 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
));
4320 return NDR_ERR_SUCCESS
;
4323 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4325 uint32_t _ptr_naming_context
;
4326 TALLOC_CTX
*_mem_save_naming_context_0
;
4327 uint32_t _ptr_source_dsa_address
;
4328 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4329 if (ndr_flags
& NDR_SCALARS
) {
4330 NDR_CHECK(ndr_pull_align(ndr
, 5));
4331 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4332 if (_ptr_naming_context
) {
4333 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4335 r
->naming_context
= NULL
;
4337 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4338 if (_ptr_source_dsa_address
) {
4339 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4341 r
->source_dsa_address
= NULL
;
4343 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4344 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4346 if (ndr_flags
& NDR_BUFFERS
) {
4347 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4348 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4349 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4350 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4351 if (r
->source_dsa_address
) {
4352 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4353 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4354 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4355 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4356 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4357 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
));
4359 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4360 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
));
4361 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4364 return NDR_ERR_SUCCESS
;
4367 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4369 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4371 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4373 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4375 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4377 if (r
->source_dsa_address
) {
4378 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4381 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4385 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4387 if (ndr_flags
& NDR_SCALARS
) {
4388 int level
= ndr_push_get_switch_value(ndr
, r
);
4389 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4390 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4393 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4397 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4400 if (ndr_flags
& NDR_BUFFERS
) {
4401 int level
= ndr_push_get_switch_value(ndr
, r
);
4404 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4408 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4411 return NDR_ERR_SUCCESS
;
4414 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4418 level
= ndr_pull_get_switch_value(ndr
, r
);
4419 if (ndr_flags
& NDR_SCALARS
) {
4420 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4421 if (_level
!= level
) {
4422 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4424 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4427 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4431 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4434 if (ndr_flags
& NDR_BUFFERS
) {
4437 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4441 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4444 return NDR_ERR_SUCCESS
;
4447 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4450 level
= ndr_print_get_switch_value(ndr
, r
);
4451 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4454 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4458 ndr_print_bad_level(ndr
, name
, level
);
4462 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4464 if (ndr_flags
& NDR_SCALARS
) {
4465 NDR_CHECK(ndr_push_align(ndr
, 5));
4466 if (r
->naming_context
== NULL
) {
4467 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4469 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4470 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4471 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4472 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4475 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4476 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4478 if (ndr_flags
& NDR_BUFFERS
) {
4479 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4480 if (r
->source_dra_address
) {
4481 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4482 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4483 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4484 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
));
4487 return NDR_ERR_SUCCESS
;
4490 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4492 uint32_t _ptr_naming_context
;
4493 TALLOC_CTX
*_mem_save_naming_context_0
;
4494 uint32_t _ptr_source_dra_address
;
4495 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4496 if (ndr_flags
& NDR_SCALARS
) {
4497 NDR_CHECK(ndr_pull_align(ndr
, 5));
4498 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4499 if (_ptr_naming_context
) {
4500 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4502 r
->naming_context
= NULL
;
4504 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4505 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4506 if (_ptr_source_dra_address
) {
4507 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4509 r
->source_dra_address
= NULL
;
4511 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4512 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4513 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4514 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4515 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4517 if (ndr_flags
& NDR_BUFFERS
) {
4518 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4519 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4520 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4521 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4522 if (r
->source_dra_address
) {
4523 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4524 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4525 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4526 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4527 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4528 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
));
4530 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4531 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
));
4532 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4535 return NDR_ERR_SUCCESS
;
4538 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4540 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4542 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4544 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4546 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4547 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4549 if (r
->source_dra_address
) {
4550 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4553 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4554 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4555 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4556 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4560 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4562 if (ndr_flags
& NDR_SCALARS
) {
4563 int level
= ndr_push_get_switch_value(ndr
, r
);
4564 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4565 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4568 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4572 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4575 if (ndr_flags
& NDR_BUFFERS
) {
4576 int level
= ndr_push_get_switch_value(ndr
, r
);
4579 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4583 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4586 return NDR_ERR_SUCCESS
;
4589 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4593 level
= ndr_pull_get_switch_value(ndr
, r
);
4594 if (ndr_flags
& NDR_SCALARS
) {
4595 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4596 if (_level
!= level
) {
4597 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4599 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4602 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4606 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4609 if (ndr_flags
& NDR_BUFFERS
) {
4612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4616 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4619 return NDR_ERR_SUCCESS
;
4622 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4625 level
= ndr_print_get_switch_value(ndr
, r
);
4626 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4629 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4633 ndr_print_bad_level(ndr
, name
, level
);
4637 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4639 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4640 return NDR_ERR_SUCCESS
;
4643 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4646 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4648 return NDR_ERR_SUCCESS
;
4651 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4653 const char *val
= NULL
;
4656 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4657 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4658 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4659 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4660 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4661 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4662 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4664 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4667 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4669 uint32_t cntr_info_array_1
;
4670 uint32_t cntr_group_attrs_1
;
4671 uint32_t cntr_sids_1
;
4672 if (ndr_flags
& NDR_SCALARS
) {
4673 NDR_CHECK(ndr_push_align(ndr
, 5));
4674 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4675 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4676 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4677 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4678 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4679 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4680 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4682 if (ndr_flags
& NDR_BUFFERS
) {
4683 if (r
->info_array
) {
4684 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4685 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4686 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4688 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4689 if (r
->info_array
[cntr_info_array_1
]) {
4690 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4694 if (r
->group_attrs
) {
4695 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4696 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4697 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4701 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4702 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4703 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4705 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4706 if (r
->sids
[cntr_sids_1
]) {
4707 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4712 return NDR_ERR_SUCCESS
;
4715 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4717 uint32_t _ptr_info_array
;
4718 uint32_t cntr_info_array_1
;
4719 TALLOC_CTX
*_mem_save_info_array_0
;
4720 TALLOC_CTX
*_mem_save_info_array_1
;
4721 TALLOC_CTX
*_mem_save_info_array_2
;
4722 uint32_t _ptr_group_attrs
;
4723 uint32_t cntr_group_attrs_1
;
4724 TALLOC_CTX
*_mem_save_group_attrs_0
;
4725 TALLOC_CTX
*_mem_save_group_attrs_1
;
4727 uint32_t cntr_sids_1
;
4728 TALLOC_CTX
*_mem_save_sids_0
;
4729 TALLOC_CTX
*_mem_save_sids_1
;
4730 TALLOC_CTX
*_mem_save_sids_2
;
4731 if (ndr_flags
& NDR_SCALARS
) {
4732 NDR_CHECK(ndr_pull_align(ndr
, 5));
4733 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4734 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4735 if (r
->num_memberships
> 10000) {
4736 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4738 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4739 if (r
->num_sids
> 10000) {
4740 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4742 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4743 if (_ptr_info_array
) {
4744 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4746 r
->info_array
= NULL
;
4748 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4749 if (_ptr_group_attrs
) {
4750 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4752 r
->group_attrs
= NULL
;
4754 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4756 NDR_PULL_ALLOC(ndr
, r
->sids
);
4760 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4762 if (ndr_flags
& NDR_BUFFERS
) {
4763 if (r
->info_array
) {
4764 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4765 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4766 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4767 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4768 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4769 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4770 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4771 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4772 if (_ptr_info_array
) {
4773 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4775 r
->info_array
[cntr_info_array_1
] = NULL
;
4778 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4779 if (r
->info_array
[cntr_info_array_1
]) {
4780 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4781 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4782 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4783 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4786 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4787 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4789 if (r
->group_attrs
) {
4790 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4791 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4792 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4793 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4794 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4795 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4796 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4797 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4799 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4800 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4803 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4804 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4805 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4806 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4807 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4808 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4809 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4810 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4812 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4814 r
->sids
[cntr_sids_1
] = NULL
;
4817 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4818 if (r
->sids
[cntr_sids_1
]) {
4819 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4820 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4821 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4828 if (r
->info_array
) {
4829 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4831 if (r
->group_attrs
) {
4832 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4835 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4838 return NDR_ERR_SUCCESS
;
4841 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4843 uint32_t cntr_info_array_1
;
4844 uint32_t cntr_group_attrs_1
;
4845 uint32_t cntr_sids_1
;
4846 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4848 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4849 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4850 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4851 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4853 if (r
->info_array
) {
4854 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4856 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4858 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4859 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4861 if (r
->info_array
[cntr_info_array_1
]) {
4862 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4871 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4873 if (r
->group_attrs
) {
4874 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4876 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4878 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4879 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4886 ndr_print_ptr(ndr
, "sids", r
->sids
);
4889 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4891 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4893 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4894 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4896 if (r
->sids
[cntr_sids_1
]) {
4897 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4909 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4911 if (ndr_flags
& NDR_SCALARS
) {
4912 int level
= ndr_push_get_switch_value(ndr
, r
);
4913 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
4914 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4917 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4921 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4924 if (ndr_flags
& NDR_BUFFERS
) {
4925 int level
= ndr_push_get_switch_value(ndr
, r
);
4928 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4932 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4935 return NDR_ERR_SUCCESS
;
4938 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
4942 level
= ndr_pull_get_switch_value(ndr
, r
);
4943 if (ndr_flags
& NDR_SCALARS
) {
4944 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
4945 if (_level
!= level
) {
4946 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4948 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4951 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4955 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4958 if (ndr_flags
& NDR_BUFFERS
) {
4961 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4965 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4968 return NDR_ERR_SUCCESS
;
4971 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
4974 level
= ndr_print_get_switch_value(ndr
, r
);
4975 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
4978 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
4982 ndr_print_bad_level(ndr
, name
, level
);
4986 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4988 uint32_t cntr_info_array_1
;
4989 if (ndr_flags
& NDR_SCALARS
) {
4990 NDR_CHECK(ndr_push_align(ndr
, 5));
4991 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4992 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4993 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4994 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
4995 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
4996 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4998 if (ndr_flags
& NDR_BUFFERS
) {
4999 if (r
->info_array
) {
5000 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5001 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5002 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
5004 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5005 if (r
->info_array
[cntr_info_array_1
]) {
5006 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5011 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5014 return NDR_ERR_SUCCESS
;
5017 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
5019 uint32_t _ptr_info_array
;
5020 uint32_t cntr_info_array_1
;
5021 TALLOC_CTX
*_mem_save_info_array_0
;
5022 TALLOC_CTX
*_mem_save_info_array_1
;
5023 TALLOC_CTX
*_mem_save_info_array_2
;
5024 uint32_t _ptr_domain
;
5025 TALLOC_CTX
*_mem_save_domain_0
;
5026 if (ndr_flags
& NDR_SCALARS
) {
5027 NDR_CHECK(ndr_pull_align(ndr
, 5));
5028 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5029 if (r
->count
< 1 || r
->count
> 10000) {
5030 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5032 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5033 if (_ptr_info_array
) {
5034 NDR_PULL_ALLOC(ndr
, r
->info_array
);
5036 r
->info_array
= NULL
;
5038 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
5039 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
5040 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5042 NDR_PULL_ALLOC(ndr
, r
->domain
);
5046 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5048 if (ndr_flags
& NDR_BUFFERS
) {
5049 if (r
->info_array
) {
5050 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5051 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5052 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5053 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5054 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5055 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5056 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5057 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5058 if (_ptr_info_array
) {
5059 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5061 r
->info_array
[cntr_info_array_1
] = NULL
;
5064 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5065 if (r
->info_array
[cntr_info_array_1
]) {
5066 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5067 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5068 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5072 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5073 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5076 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5077 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5078 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5079 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5081 if (r
->info_array
) {
5082 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5085 return NDR_ERR_SUCCESS
;
5088 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5090 uint32_t cntr_info_array_1
;
5091 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5093 ndr_print_uint32(ndr
, "count", r
->count
);
5094 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5096 if (r
->info_array
) {
5097 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5099 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5101 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5102 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5104 if (r
->info_array
[cntr_info_array_1
]) {
5105 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5114 ndr_print_uint32(ndr
, "flags", r
->flags
);
5115 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5116 ndr_print_ptr(ndr
, "domain", r
->domain
);
5119 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5125 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5127 if (ndr_flags
& NDR_SCALARS
) {
5128 int level
= ndr_push_get_switch_value(ndr
, r
);
5129 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5130 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5133 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5137 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5140 if (ndr_flags
& NDR_BUFFERS
) {
5141 int level
= ndr_push_get_switch_value(ndr
, r
);
5144 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5148 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5151 return NDR_ERR_SUCCESS
;
5154 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5158 level
= ndr_pull_get_switch_value(ndr
, r
);
5159 if (ndr_flags
& NDR_SCALARS
) {
5160 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5161 if (_level
!= level
) {
5162 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5164 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5167 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5171 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5174 if (ndr_flags
& NDR_BUFFERS
) {
5177 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5181 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5184 return NDR_ERR_SUCCESS
;
5187 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5190 level
= ndr_print_get_switch_value(ndr
, r
);
5191 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5194 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5198 ndr_print_bad_level(ndr
, name
, level
);
5202 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5204 if (ndr_flags
& NDR_SCALARS
) {
5205 NDR_CHECK(ndr_push_align(ndr
, 5));
5206 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
5207 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
5208 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
5209 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
5210 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5212 if (ndr_flags
& NDR_BUFFERS
) {
5214 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
5215 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->length
));
5218 return NDR_ERR_SUCCESS
;
5221 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5224 TALLOC_CTX
*_mem_save_data_0
;
5225 if (ndr_flags
& NDR_SCALARS
) {
5226 NDR_CHECK(ndr_pull_align(ndr
, 5));
5227 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
5228 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
5229 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
5230 if (r
->length
> 0x00A00000) {
5231 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5233 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
5235 NDR_PULL_ALLOC(ndr
, r
->data
);
5239 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5241 if (ndr_flags
& NDR_BUFFERS
) {
5243 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5244 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
5245 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
5246 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
5247 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
5248 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
5251 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->length
));
5254 return NDR_ERR_SUCCESS
;
5257 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5259 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5261 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
5262 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
5263 ndr_print_uint32(ndr
, "length", r
->length
);
5264 ndr_print_ptr(ndr
, "data", r
->data
);
5267 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->length
);
5273 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5275 if (ndr_flags
& NDR_SCALARS
) {
5276 int level
= ndr_push_get_switch_value(ndr
, r
);
5277 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5278 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5281 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5285 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5288 if (ndr_flags
& NDR_BUFFERS
) {
5289 int level
= ndr_push_get_switch_value(ndr
, r
);
5292 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5296 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5299 return NDR_ERR_SUCCESS
;
5302 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5306 level
= ndr_pull_get_switch_value(ndr
, r
);
5307 if (ndr_flags
& NDR_SCALARS
) {
5308 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5309 if (_level
!= level
) {
5310 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5312 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5315 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5319 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5322 if (ndr_flags
& NDR_BUFFERS
) {
5325 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5329 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5332 return NDR_ERR_SUCCESS
;
5335 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5338 level
= ndr_print_get_switch_value(ndr
, r
);
5339 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5342 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5346 ndr_print_bad_level(ndr
, name
, level
);
5350 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5352 if (ndr_flags
& NDR_SCALARS
) {
5353 NDR_CHECK(ndr_push_align(ndr
, 8));
5354 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length1
));
5355 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length2
));
5356 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown1
));
5357 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time2
));
5358 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown3
));
5359 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time4
));
5360 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->unknown5
));
5361 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time6
));
5362 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5363 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data1
));
5364 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data2
));
5365 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5367 if (ndr_flags
& NDR_BUFFERS
) {
5369 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length1
));
5370 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, r
->length1
));
5373 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length2
));
5374 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, r
->length2
));
5377 return NDR_ERR_SUCCESS
;
5380 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5382 uint32_t _ptr_data1
;
5383 TALLOC_CTX
*_mem_save_data1_0
;
5384 uint32_t _ptr_data2
;
5385 TALLOC_CTX
*_mem_save_data2_0
;
5386 if (ndr_flags
& NDR_SCALARS
) {
5387 NDR_CHECK(ndr_pull_align(ndr
, 8));
5388 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length1
));
5389 if (r
->length1
> 0x00A00000) {
5390 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5392 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length2
));
5393 if (r
->length2
> 0x00A00000) {
5394 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5396 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown1
));
5397 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time2
));
5398 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown3
));
5399 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time4
));
5400 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->unknown5
));
5401 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time6
));
5402 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5403 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data1
));
5405 NDR_PULL_ALLOC(ndr
, r
->data1
);
5409 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data2
));
5411 NDR_PULL_ALLOC(ndr
, r
->data2
);
5415 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5417 if (ndr_flags
& NDR_BUFFERS
) {
5419 _mem_save_data1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5420 NDR_PULL_SET_MEM_CTX(ndr
, r
->data1
, 0);
5421 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data1
));
5422 NDR_PULL_ALLOC_N(ndr
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
));
5423 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data1
, ndr_get_array_size(ndr
, &r
->data1
)));
5424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data1_0
, 0);
5427 _mem_save_data2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5428 NDR_PULL_SET_MEM_CTX(ndr
, r
->data2
, 0);
5429 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data2
));
5430 NDR_PULL_ALLOC_N(ndr
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
));
5431 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data2
, ndr_get_array_size(ndr
, &r
->data2
)));
5432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data2_0
, 0);
5435 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data1
, r
->length1
));
5438 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data2
, r
->length2
));
5441 return NDR_ERR_SUCCESS
;
5444 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5446 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5448 ndr_print_uint32(ndr
, "length1", r
->length1
);
5449 ndr_print_uint32(ndr
, "length2", r
->length2
);
5450 ndr_print_hyper(ndr
, "unknown1", r
->unknown1
);
5451 ndr_print_NTTIME(ndr
, "time2", r
->time2
);
5452 ndr_print_hyper(ndr
, "unknown3", r
->unknown3
);
5453 ndr_print_NTTIME(ndr
, "time4", r
->time4
);
5454 ndr_print_hyper(ndr
, "unknown5", r
->unknown5
);
5455 ndr_print_NTTIME(ndr
, "time6", r
->time6
);
5456 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5457 ndr_print_ptr(ndr
, "data1", r
->data1
);
5460 ndr_print_array_uint8(ndr
, "data1", r
->data1
, r
->length1
);
5463 ndr_print_ptr(ndr
, "data2", r
->data2
);
5466 ndr_print_array_uint8(ndr
, "data2", r
->data2
, r
->length2
);
5472 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5474 if (ndr_flags
& NDR_SCALARS
) {
5475 int level
= ndr_push_get_switch_value(ndr
, r
);
5476 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5477 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5480 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5484 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5487 if (ndr_flags
& NDR_BUFFERS
) {
5488 int level
= ndr_push_get_switch_value(ndr
, r
);
5491 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5495 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5498 return NDR_ERR_SUCCESS
;
5501 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5505 level
= ndr_pull_get_switch_value(ndr
, r
);
5506 if (ndr_flags
& NDR_SCALARS
) {
5507 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5508 if (_level
!= level
) {
5509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5511 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5514 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5518 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5521 if (ndr_flags
& NDR_BUFFERS
) {
5524 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5528 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5531 return NDR_ERR_SUCCESS
;
5534 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5537 level
= ndr_print_get_switch_value(ndr
, r
);
5538 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5541 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5545 ndr_print_bad_level(ndr
, name
, level
);
5549 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5551 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5552 return NDR_ERR_SUCCESS
;
5555 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5558 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5560 return NDR_ERR_SUCCESS
;
5563 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5565 const char *val
= NULL
;
5568 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5569 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5570 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5571 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5572 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5573 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5574 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5575 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5577 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5580 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5582 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5583 return NDR_ERR_SUCCESS
;
5586 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5589 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5591 return NDR_ERR_SUCCESS
;
5594 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5596 const char *val
= NULL
;
5599 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5600 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5601 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5602 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5603 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5605 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5608 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5610 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5611 return NDR_ERR_SUCCESS
;
5614 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5617 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5619 return NDR_ERR_SUCCESS
;
5622 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5624 const char *val
= NULL
;
5627 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5628 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5629 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5630 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5631 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5632 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5633 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5634 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5635 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5636 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5637 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5639 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5642 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5644 if (ndr_flags
& NDR_SCALARS
) {
5645 NDR_CHECK(ndr_push_align(ndr
, 5));
5646 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5647 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5649 if (ndr_flags
& NDR_BUFFERS
) {
5651 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5652 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5653 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5654 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5657 return NDR_ERR_SUCCESS
;
5660 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5663 TALLOC_CTX
*_mem_save_str_0
;
5664 if (ndr_flags
& NDR_SCALARS
) {
5665 NDR_CHECK(ndr_pull_align(ndr
, 5));
5666 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5668 NDR_PULL_ALLOC(ndr
, r
->str
);
5672 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5674 if (ndr_flags
& NDR_BUFFERS
) {
5676 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5677 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5678 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5679 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5680 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5681 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
));
5683 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5684 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5685 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5688 return NDR_ERR_SUCCESS
;
5691 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5693 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5695 ndr_print_ptr(ndr
, "str", r
->str
);
5698 ndr_print_string(ndr
, "str", r
->str
);
5704 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5706 uint32_t cntr_names_1
;
5707 if (ndr_flags
& NDR_SCALARS
) {
5708 NDR_CHECK(ndr_push_align(ndr
, 5));
5709 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5710 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5711 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5712 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5713 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5714 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5715 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5716 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5718 if (ndr_flags
& NDR_BUFFERS
) {
5720 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5721 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5722 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5724 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5725 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5729 return NDR_ERR_SUCCESS
;
5732 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5734 uint32_t _ptr_names
;
5735 uint32_t cntr_names_1
;
5736 TALLOC_CTX
*_mem_save_names_0
;
5737 TALLOC_CTX
*_mem_save_names_1
;
5738 if (ndr_flags
& NDR_SCALARS
) {
5739 NDR_CHECK(ndr_pull_align(ndr
, 5));
5740 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5741 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5742 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5743 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5744 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5745 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5746 if (r
->count
< 1 || r
->count
> 10000) {
5747 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5749 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5751 NDR_PULL_ALLOC(ndr
, r
->names
);
5755 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5757 if (ndr_flags
& NDR_BUFFERS
) {
5759 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5760 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5761 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5762 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5763 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5764 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5765 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5766 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5768 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5769 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5771 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5772 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5775 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5778 return NDR_ERR_SUCCESS
;
5781 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5783 uint32_t cntr_names_1
;
5784 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5786 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5787 ndr_print_uint32(ndr
, "language", r
->language
);
5788 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5789 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5790 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5791 ndr_print_uint32(ndr
, "count", r
->count
);
5792 ndr_print_ptr(ndr
, "names", r
->names
);
5795 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5797 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5799 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5800 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5810 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5812 if (ndr_flags
& NDR_SCALARS
) {
5813 int level
= ndr_push_get_switch_value(ndr
, r
);
5814 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
5815 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5818 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5822 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5825 if (ndr_flags
& NDR_BUFFERS
) {
5826 int level
= ndr_push_get_switch_value(ndr
, r
);
5829 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5833 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5836 return NDR_ERR_SUCCESS
;
5839 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5843 level
= ndr_pull_get_switch_value(ndr
, r
);
5844 if (ndr_flags
& NDR_SCALARS
) {
5845 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
5846 if (_level
!= level
) {
5847 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5849 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5852 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5856 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5859 if (ndr_flags
& NDR_BUFFERS
) {
5862 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5866 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5869 return NDR_ERR_SUCCESS
;
5872 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5875 level
= ndr_print_get_switch_value(ndr
, r
);
5876 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5879 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5883 ndr_print_bad_level(ndr
, name
, level
);
5887 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5889 if (ndr_flags
& NDR_SCALARS
) {
5890 NDR_CHECK(ndr_push_align(ndr
, 5));
5891 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5892 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5893 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5894 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5896 if (ndr_flags
& NDR_BUFFERS
) {
5897 if (r
->dns_domain_name
) {
5898 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5899 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5900 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5901 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
));
5903 if (r
->result_name
) {
5904 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5905 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5906 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5907 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5910 return NDR_ERR_SUCCESS
;
5913 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
5915 uint32_t _ptr_dns_domain_name
;
5916 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
5917 uint32_t _ptr_result_name
;
5918 TALLOC_CTX
*_mem_save_result_name_0
;
5919 if (ndr_flags
& NDR_SCALARS
) {
5920 NDR_CHECK(ndr_pull_align(ndr
, 5));
5921 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
5922 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
5923 if (_ptr_dns_domain_name
) {
5924 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
5926 r
->dns_domain_name
= NULL
;
5928 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
5929 if (_ptr_result_name
) {
5930 NDR_PULL_ALLOC(ndr
, r
->result_name
);
5932 r
->result_name
= NULL
;
5934 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5936 if (ndr_flags
& NDR_BUFFERS
) {
5937 if (r
->dns_domain_name
) {
5938 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5939 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
5940 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
5941 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
5942 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
5943 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
));
5945 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
5946 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
));
5947 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
5949 if (r
->result_name
) {
5950 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5951 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
5952 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
5953 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
5954 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
5955 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
));
5957 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
5958 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
5959 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
5962 return NDR_ERR_SUCCESS
;
5965 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
5967 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
5969 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
5970 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
5972 if (r
->dns_domain_name
) {
5973 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
5976 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
5978 if (r
->result_name
) {
5979 ndr_print_string(ndr
, "result_name", r
->result_name
);
5985 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
5987 uint32_t cntr_array_1
;
5988 if (ndr_flags
& NDR_SCALARS
) {
5989 NDR_CHECK(ndr_push_align(ndr
, 5));
5990 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5991 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
5992 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5994 if (ndr_flags
& NDR_BUFFERS
) {
5996 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5997 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5998 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6000 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6001 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6005 return NDR_ERR_SUCCESS
;
6008 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
6010 uint32_t _ptr_array
;
6011 uint32_t cntr_array_1
;
6012 TALLOC_CTX
*_mem_save_array_0
;
6013 TALLOC_CTX
*_mem_save_array_1
;
6014 if (ndr_flags
& NDR_SCALARS
) {
6015 NDR_CHECK(ndr_pull_align(ndr
, 5));
6016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6017 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6019 NDR_PULL_ALLOC(ndr
, r
->array
);
6023 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6025 if (ndr_flags
& NDR_BUFFERS
) {
6027 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6028 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6029 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6030 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6031 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6032 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6033 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6034 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6036 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6037 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6039 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6043 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6046 return NDR_ERR_SUCCESS
;
6049 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6051 uint32_t cntr_array_1
;
6052 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6054 ndr_print_uint32(ndr
, "count", r
->count
);
6055 ndr_print_ptr(ndr
, "array", r
->array
);
6058 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6060 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6062 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6063 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6073 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6075 if (ndr_flags
& NDR_SCALARS
) {
6076 int level
= ndr_push_get_switch_value(ndr
, r
);
6077 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6078 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6081 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6085 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6088 if (ndr_flags
& NDR_BUFFERS
) {
6089 int level
= ndr_push_get_switch_value(ndr
, r
);
6093 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6098 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6101 return NDR_ERR_SUCCESS
;
6104 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6108 TALLOC_CTX
*_mem_save_ctr1_0
;
6109 level
= ndr_pull_get_switch_value(ndr
, r
);
6110 if (ndr_flags
& NDR_SCALARS
) {
6111 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6112 if (_level
!= level
) {
6113 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6115 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6119 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6121 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6128 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6131 if (ndr_flags
& NDR_BUFFERS
) {
6135 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6136 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6137 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6138 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6143 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6146 return NDR_ERR_SUCCESS
;
6149 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6152 level
= ndr_print_get_switch_value(ndr
, r
);
6153 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6156 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6159 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6165 ndr_print_bad_level(ndr
, name
, level
);
6169 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6171 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6172 return NDR_ERR_SUCCESS
;
6175 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6178 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6180 return NDR_ERR_SUCCESS
;
6183 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6185 const char *val
= NULL
;
6188 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6189 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6190 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6192 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6195 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6197 uint32_t cntr_spn_names_1
;
6198 if (ndr_flags
& NDR_SCALARS
) {
6199 NDR_CHECK(ndr_push_align(ndr
, 5));
6200 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6201 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6202 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6203 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6204 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6205 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6207 if (ndr_flags
& NDR_BUFFERS
) {
6209 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6210 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6211 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6212 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6215 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6216 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6217 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6219 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6220 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6224 return NDR_ERR_SUCCESS
;
6227 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6229 uint32_t _ptr_object_dn
;
6230 TALLOC_CTX
*_mem_save_object_dn_0
;
6231 uint32_t _ptr_spn_names
;
6232 uint32_t cntr_spn_names_1
;
6233 TALLOC_CTX
*_mem_save_spn_names_0
;
6234 TALLOC_CTX
*_mem_save_spn_names_1
;
6235 if (ndr_flags
& NDR_SCALARS
) {
6236 NDR_CHECK(ndr_pull_align(ndr
, 5));
6237 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6238 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6239 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6240 if (_ptr_object_dn
) {
6241 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6243 r
->object_dn
= NULL
;
6245 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6246 if (r
->count
> 10000) {
6247 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6249 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6250 if (_ptr_spn_names
) {
6251 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6253 r
->spn_names
= NULL
;
6255 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6257 if (ndr_flags
& NDR_BUFFERS
) {
6259 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6260 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6261 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6262 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6263 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6264 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
));
6266 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6267 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6268 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6271 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6272 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6273 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6274 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6275 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6276 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6277 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6278 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6280 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6281 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6284 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6287 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6290 return NDR_ERR_SUCCESS
;
6293 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6295 uint32_t cntr_spn_names_1
;
6296 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6298 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6299 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6300 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6303 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6306 ndr_print_uint32(ndr
, "count", r
->count
);
6307 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6310 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6312 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6314 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6315 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6325 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6327 if (ndr_flags
& NDR_SCALARS
) {
6328 int level
= ndr_push_get_switch_value(ndr
, r
);
6329 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6330 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6333 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6337 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6340 if (ndr_flags
& NDR_BUFFERS
) {
6341 int level
= ndr_push_get_switch_value(ndr
, r
);
6344 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6348 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6351 return NDR_ERR_SUCCESS
;
6354 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6358 level
= ndr_pull_get_switch_value(ndr
, r
);
6359 if (ndr_flags
& NDR_SCALARS
) {
6360 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6361 if (_level
!= level
) {
6362 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6364 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6367 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6371 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6374 if (ndr_flags
& NDR_BUFFERS
) {
6377 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6381 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6384 return NDR_ERR_SUCCESS
;
6387 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6390 level
= ndr_print_get_switch_value(ndr
, r
);
6391 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6394 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6398 ndr_print_bad_level(ndr
, name
, level
);
6402 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6404 if (ndr_flags
& NDR_SCALARS
) {
6405 NDR_CHECK(ndr_push_align(ndr
, 4));
6406 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6407 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6409 if (ndr_flags
& NDR_BUFFERS
) {
6411 return NDR_ERR_SUCCESS
;
6414 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6416 if (ndr_flags
& NDR_SCALARS
) {
6417 NDR_CHECK(ndr_pull_align(ndr
, 4));
6418 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6419 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6421 if (ndr_flags
& NDR_BUFFERS
) {
6423 return NDR_ERR_SUCCESS
;
6426 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6428 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6430 ndr_print_WERROR(ndr
, "status", r
->status
);
6434 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6436 if (ndr_flags
& NDR_SCALARS
) {
6437 int level
= ndr_push_get_switch_value(ndr
, r
);
6438 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6439 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6442 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6446 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6449 if (ndr_flags
& NDR_BUFFERS
) {
6450 int level
= ndr_push_get_switch_value(ndr
, r
);
6456 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6459 return NDR_ERR_SUCCESS
;
6462 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6466 level
= ndr_pull_get_switch_value(ndr
, r
);
6467 if (ndr_flags
& NDR_SCALARS
) {
6468 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6469 if (_level
!= level
) {
6470 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6472 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6475 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6479 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6482 if (ndr_flags
& NDR_BUFFERS
) {
6488 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6491 return NDR_ERR_SUCCESS
;
6494 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6497 level
= ndr_print_get_switch_value(ndr
, r
);
6498 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6501 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6505 ndr_print_bad_level(ndr
, name
, level
);
6509 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6511 if (ndr_flags
& NDR_SCALARS
) {
6512 NDR_CHECK(ndr_push_align(ndr
, 5));
6513 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6514 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6515 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6516 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6518 if (ndr_flags
& NDR_BUFFERS
) {
6520 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6521 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6522 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6523 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6526 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6527 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6528 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6529 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6532 return NDR_ERR_SUCCESS
;
6535 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6537 uint32_t _ptr_server_dn
;
6538 TALLOC_CTX
*_mem_save_server_dn_0
;
6539 uint32_t _ptr_domain_dn
;
6540 TALLOC_CTX
*_mem_save_domain_dn_0
;
6541 if (ndr_flags
& NDR_SCALARS
) {
6542 NDR_CHECK(ndr_pull_align(ndr
, 5));
6543 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6544 if (_ptr_server_dn
) {
6545 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6547 r
->server_dn
= NULL
;
6549 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6550 if (_ptr_domain_dn
) {
6551 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6553 r
->domain_dn
= NULL
;
6555 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6556 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6558 if (ndr_flags
& NDR_BUFFERS
) {
6560 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6561 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6562 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6563 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6564 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6565 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
));
6567 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6568 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6569 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6572 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6573 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6574 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6575 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6576 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6577 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
));
6579 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6580 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6581 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6584 return NDR_ERR_SUCCESS
;
6587 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6589 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6591 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6594 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6597 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6600 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6603 ndr_print_uint32(ndr
, "commit", r
->commit
);
6607 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6609 if (ndr_flags
& NDR_SCALARS
) {
6610 int level
= ndr_push_get_switch_value(ndr
, r
);
6611 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6612 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6615 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6619 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6622 if (ndr_flags
& NDR_BUFFERS
) {
6623 int level
= ndr_push_get_switch_value(ndr
, r
);
6626 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6630 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6633 return NDR_ERR_SUCCESS
;
6636 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6640 level
= ndr_pull_get_switch_value(ndr
, r
);
6641 if (ndr_flags
& NDR_SCALARS
) {
6642 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6643 if (_level
!= level
) {
6644 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6646 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6649 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6653 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6656 if (ndr_flags
& NDR_BUFFERS
) {
6659 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6663 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6666 return NDR_ERR_SUCCESS
;
6669 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6672 level
= ndr_print_get_switch_value(ndr
, r
);
6673 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6676 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6680 ndr_print_bad_level(ndr
, name
, level
);
6684 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6686 if (ndr_flags
& NDR_SCALARS
) {
6687 NDR_CHECK(ndr_push_align(ndr
, 4));
6688 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6689 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6691 if (ndr_flags
& NDR_BUFFERS
) {
6693 return NDR_ERR_SUCCESS
;
6696 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6698 if (ndr_flags
& NDR_SCALARS
) {
6699 NDR_CHECK(ndr_pull_align(ndr
, 4));
6700 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6701 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6703 if (ndr_flags
& NDR_BUFFERS
) {
6705 return NDR_ERR_SUCCESS
;
6708 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6710 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6712 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6716 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6718 if (ndr_flags
& NDR_SCALARS
) {
6719 int level
= ndr_push_get_switch_value(ndr
, r
);
6720 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6721 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6724 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6728 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6731 if (ndr_flags
& NDR_BUFFERS
) {
6732 int level
= ndr_push_get_switch_value(ndr
, r
);
6738 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6741 return NDR_ERR_SUCCESS
;
6744 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6748 level
= ndr_pull_get_switch_value(ndr
, r
);
6749 if (ndr_flags
& NDR_SCALARS
) {
6750 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6751 if (_level
!= level
) {
6752 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6754 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6757 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6761 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6764 if (ndr_flags
& NDR_BUFFERS
) {
6770 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6773 return NDR_ERR_SUCCESS
;
6776 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6779 level
= ndr_print_get_switch_value(ndr
, r
);
6780 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6783 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6787 ndr_print_bad_level(ndr
, name
, level
);
6791 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6793 if (ndr_flags
& NDR_SCALARS
) {
6794 NDR_CHECK(ndr_push_align(ndr
, 5));
6795 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6796 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6797 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6799 if (ndr_flags
& NDR_BUFFERS
) {
6800 if (r
->domain_name
) {
6801 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6804 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6807 return NDR_ERR_SUCCESS
;
6810 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6812 uint32_t _ptr_domain_name
;
6813 TALLOC_CTX
*_mem_save_domain_name_0
;
6814 if (ndr_flags
& NDR_SCALARS
) {
6815 NDR_CHECK(ndr_pull_align(ndr
, 5));
6816 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6817 if (_ptr_domain_name
) {
6818 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6820 r
->domain_name
= NULL
;
6822 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6823 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6825 if (ndr_flags
& NDR_BUFFERS
) {
6826 if (r
->domain_name
) {
6827 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6828 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6829 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6830 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6831 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6832 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
));
6834 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6835 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6836 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6839 return NDR_ERR_SUCCESS
;
6842 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6844 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6846 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6848 if (r
->domain_name
) {
6849 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6852 ndr_print_int32(ndr
, "level", r
->level
);
6856 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6858 if (ndr_flags
& NDR_SCALARS
) {
6859 int level
= ndr_push_get_switch_value(ndr
, r
);
6860 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6861 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6864 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6868 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6871 if (ndr_flags
& NDR_BUFFERS
) {
6872 int level
= ndr_push_get_switch_value(ndr
, r
);
6875 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6879 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6882 return NDR_ERR_SUCCESS
;
6885 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
6889 level
= ndr_pull_get_switch_value(ndr
, r
);
6890 if (ndr_flags
& NDR_SCALARS
) {
6891 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6892 if (_level
!= level
) {
6893 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6895 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6898 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6902 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6905 if (ndr_flags
& NDR_BUFFERS
) {
6908 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6912 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6915 return NDR_ERR_SUCCESS
;
6918 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
6921 level
= ndr_print_get_switch_value(ndr
, r
);
6922 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
6925 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
6929 ndr_print_bad_level(ndr
, name
, level
);
6933 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
6935 if (ndr_flags
& NDR_SCALARS
) {
6936 NDR_CHECK(ndr_push_align(ndr
, 5));
6937 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6938 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6939 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6940 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6941 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6942 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6943 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6944 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6946 if (ndr_flags
& NDR_BUFFERS
) {
6947 if (r
->netbios_name
) {
6948 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, 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
->netbios_name
, CH_UTF16
)));
6951 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6954 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, 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
->dns_name
, CH_UTF16
)));
6957 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6960 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6961 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6962 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6963 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6965 if (r
->computer_dn
) {
6966 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6967 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6968 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6969 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6972 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6973 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6974 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6975 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6978 return NDR_ERR_SUCCESS
;
6981 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
6983 uint32_t _ptr_netbios_name
;
6984 TALLOC_CTX
*_mem_save_netbios_name_0
;
6985 uint32_t _ptr_dns_name
;
6986 TALLOC_CTX
*_mem_save_dns_name_0
;
6987 uint32_t _ptr_site_name
;
6988 TALLOC_CTX
*_mem_save_site_name_0
;
6989 uint32_t _ptr_computer_dn
;
6990 TALLOC_CTX
*_mem_save_computer_dn_0
;
6991 uint32_t _ptr_server_dn
;
6992 TALLOC_CTX
*_mem_save_server_dn_0
;
6993 if (ndr_flags
& NDR_SCALARS
) {
6994 NDR_CHECK(ndr_pull_align(ndr
, 5));
6995 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6996 if (_ptr_netbios_name
) {
6997 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6999 r
->netbios_name
= NULL
;
7001 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7002 if (_ptr_dns_name
) {
7003 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7007 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7008 if (_ptr_site_name
) {
7009 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7011 r
->site_name
= NULL
;
7013 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7014 if (_ptr_computer_dn
) {
7015 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7017 r
->computer_dn
= NULL
;
7019 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7020 if (_ptr_server_dn
) {
7021 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7023 r
->server_dn
= NULL
;
7025 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7026 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7027 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7029 if (ndr_flags
& NDR_BUFFERS
) {
7030 if (r
->netbios_name
) {
7031 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7032 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7033 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7034 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7035 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7036 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
));
7038 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7039 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7040 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7043 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7044 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7045 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7046 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7047 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7048 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
));
7050 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7051 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7052 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7055 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7056 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7057 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7058 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7059 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7060 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
));
7062 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7063 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7064 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7066 if (r
->computer_dn
) {
7067 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7068 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7069 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7070 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7071 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7072 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
));
7074 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7075 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7076 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7079 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7080 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7081 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7082 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7083 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7084 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
));
7086 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7087 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7088 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7091 return NDR_ERR_SUCCESS
;
7094 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7096 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7098 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7100 if (r
->netbios_name
) {
7101 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7104 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7107 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7110 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7113 ndr_print_string(ndr
, "site_name", r
->site_name
);
7116 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7118 if (r
->computer_dn
) {
7119 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7122 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7125 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7128 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7129 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7133 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7135 uint32_t cntr_array_1
;
7136 if (ndr_flags
& NDR_SCALARS
) {
7137 NDR_CHECK(ndr_push_align(ndr
, 5));
7138 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7139 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7140 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7142 if (ndr_flags
& NDR_BUFFERS
) {
7144 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7145 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7146 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7148 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7149 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7153 return NDR_ERR_SUCCESS
;
7156 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7158 uint32_t _ptr_array
;
7159 uint32_t cntr_array_1
;
7160 TALLOC_CTX
*_mem_save_array_0
;
7161 TALLOC_CTX
*_mem_save_array_1
;
7162 if (ndr_flags
& NDR_SCALARS
) {
7163 NDR_CHECK(ndr_pull_align(ndr
, 5));
7164 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7165 if (r
->count
> 10000) {
7166 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7168 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7170 NDR_PULL_ALLOC(ndr
, r
->array
);
7174 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7176 if (ndr_flags
& NDR_BUFFERS
) {
7178 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7179 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7180 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7181 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7182 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7183 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7184 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7185 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7187 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7188 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7190 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7191 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7194 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7197 return NDR_ERR_SUCCESS
;
7200 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7202 uint32_t cntr_array_1
;
7203 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7205 ndr_print_uint32(ndr
, "count", r
->count
);
7206 ndr_print_ptr(ndr
, "array", r
->array
);
7209 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7211 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7213 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7214 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7224 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7226 if (ndr_flags
& NDR_SCALARS
) {
7227 NDR_CHECK(ndr_push_align(ndr
, 5));
7228 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7229 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7230 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7231 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7232 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7233 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7234 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7235 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7236 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7237 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7238 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7239 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7240 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7241 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7242 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7244 if (ndr_flags
& NDR_BUFFERS
) {
7245 if (r
->netbios_name
) {
7246 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, 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
->netbios_name
, CH_UTF16
)));
7249 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7252 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, 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
->dns_name
, CH_UTF16
)));
7255 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7258 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, 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
->site_name
, CH_UTF16
)));
7261 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7264 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_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
->site_dn
, CH_UTF16
)));
7267 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7269 if (r
->computer_dn
) {
7270 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7271 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7272 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7273 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7276 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7277 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7278 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7279 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7282 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7283 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7284 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7285 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7288 return NDR_ERR_SUCCESS
;
7291 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7293 uint32_t _ptr_netbios_name
;
7294 TALLOC_CTX
*_mem_save_netbios_name_0
;
7295 uint32_t _ptr_dns_name
;
7296 TALLOC_CTX
*_mem_save_dns_name_0
;
7297 uint32_t _ptr_site_name
;
7298 TALLOC_CTX
*_mem_save_site_name_0
;
7299 uint32_t _ptr_site_dn
;
7300 TALLOC_CTX
*_mem_save_site_dn_0
;
7301 uint32_t _ptr_computer_dn
;
7302 TALLOC_CTX
*_mem_save_computer_dn_0
;
7303 uint32_t _ptr_server_dn
;
7304 TALLOC_CTX
*_mem_save_server_dn_0
;
7305 uint32_t _ptr_ntds_dn
;
7306 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7307 if (ndr_flags
& NDR_SCALARS
) {
7308 NDR_CHECK(ndr_pull_align(ndr
, 5));
7309 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7310 if (_ptr_netbios_name
) {
7311 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7313 r
->netbios_name
= NULL
;
7315 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7316 if (_ptr_dns_name
) {
7317 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7321 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7322 if (_ptr_site_name
) {
7323 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7325 r
->site_name
= NULL
;
7327 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7329 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7333 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7334 if (_ptr_computer_dn
) {
7335 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7337 r
->computer_dn
= NULL
;
7339 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7340 if (_ptr_server_dn
) {
7341 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7343 r
->server_dn
= NULL
;
7345 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7347 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7351 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7352 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7353 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7354 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7355 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7356 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7357 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7358 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7360 if (ndr_flags
& NDR_BUFFERS
) {
7361 if (r
->netbios_name
) {
7362 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7363 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7364 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7365 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7366 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7367 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
));
7369 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7370 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7371 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7374 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7375 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7376 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7377 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7378 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7379 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
));
7381 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7382 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7383 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7386 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7387 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7388 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7389 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7390 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7391 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
));
7393 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7394 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7395 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7398 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7399 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7400 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7401 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7402 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7403 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
));
7405 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7406 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7407 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7409 if (r
->computer_dn
) {
7410 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7411 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7412 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7413 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7414 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7415 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
));
7417 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7418 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7419 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7422 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7423 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7424 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7425 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7426 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7427 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
));
7429 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7430 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7431 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7434 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7435 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7436 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7437 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7438 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7439 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
));
7441 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7442 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7443 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7446 return NDR_ERR_SUCCESS
;
7449 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7451 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7453 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7455 if (r
->netbios_name
) {
7456 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7459 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7462 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7465 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7468 ndr_print_string(ndr
, "site_name", r
->site_name
);
7471 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7474 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7477 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7479 if (r
->computer_dn
) {
7480 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7483 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7486 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7489 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7492 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7495 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7496 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7497 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7498 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7499 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7500 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7501 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7505 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7507 uint32_t cntr_array_1
;
7508 if (ndr_flags
& NDR_SCALARS
) {
7509 NDR_CHECK(ndr_push_align(ndr
, 5));
7510 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7511 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7512 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7514 if (ndr_flags
& NDR_BUFFERS
) {
7516 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7517 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7518 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7520 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7521 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7525 return NDR_ERR_SUCCESS
;
7528 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7530 uint32_t _ptr_array
;
7531 uint32_t cntr_array_1
;
7532 TALLOC_CTX
*_mem_save_array_0
;
7533 TALLOC_CTX
*_mem_save_array_1
;
7534 if (ndr_flags
& NDR_SCALARS
) {
7535 NDR_CHECK(ndr_pull_align(ndr
, 5));
7536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7537 if (r
->count
> 10000) {
7538 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7540 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7542 NDR_PULL_ALLOC(ndr
, r
->array
);
7546 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7548 if (ndr_flags
& NDR_BUFFERS
) {
7550 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7551 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7552 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7553 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7554 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7555 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7556 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7557 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7559 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7560 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7563 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7566 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7569 return NDR_ERR_SUCCESS
;
7572 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7574 uint32_t cntr_array_1
;
7575 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7577 ndr_print_uint32(ndr
, "count", r
->count
);
7578 ndr_print_ptr(ndr
, "array", r
->array
);
7581 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7583 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7585 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7586 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7596 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7598 if (ndr_flags
& NDR_SCALARS
) {
7599 NDR_CHECK(ndr_push_align(ndr
, 5));
7600 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7601 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7602 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7603 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7604 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7605 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7606 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7607 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7608 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7609 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7610 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7611 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7612 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7613 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7614 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7615 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7617 if (ndr_flags
& NDR_BUFFERS
) {
7618 if (r
->netbios_name
) {
7619 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, 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
->netbios_name
, CH_UTF16
)));
7622 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7625 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, 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
->dns_name
, CH_UTF16
)));
7628 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7631 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, 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
->site_name
, CH_UTF16
)));
7634 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7637 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_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
->site_dn
, CH_UTF16
)));
7640 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7642 if (r
->computer_dn
) {
7643 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7644 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7645 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7646 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7649 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7650 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7651 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7652 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7655 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7656 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7657 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7658 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7661 return NDR_ERR_SUCCESS
;
7664 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7666 uint32_t _ptr_netbios_name
;
7667 TALLOC_CTX
*_mem_save_netbios_name_0
;
7668 uint32_t _ptr_dns_name
;
7669 TALLOC_CTX
*_mem_save_dns_name_0
;
7670 uint32_t _ptr_site_name
;
7671 TALLOC_CTX
*_mem_save_site_name_0
;
7672 uint32_t _ptr_site_dn
;
7673 TALLOC_CTX
*_mem_save_site_dn_0
;
7674 uint32_t _ptr_computer_dn
;
7675 TALLOC_CTX
*_mem_save_computer_dn_0
;
7676 uint32_t _ptr_server_dn
;
7677 TALLOC_CTX
*_mem_save_server_dn_0
;
7678 uint32_t _ptr_ntds_dn
;
7679 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7680 if (ndr_flags
& NDR_SCALARS
) {
7681 NDR_CHECK(ndr_pull_align(ndr
, 5));
7682 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7683 if (_ptr_netbios_name
) {
7684 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7686 r
->netbios_name
= NULL
;
7688 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7689 if (_ptr_dns_name
) {
7690 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7694 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7695 if (_ptr_site_name
) {
7696 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7698 r
->site_name
= NULL
;
7700 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7702 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7707 if (_ptr_computer_dn
) {
7708 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7710 r
->computer_dn
= NULL
;
7712 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7713 if (_ptr_server_dn
) {
7714 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7716 r
->server_dn
= NULL
;
7718 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7720 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7724 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7725 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7727 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7728 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7729 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7730 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7731 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7732 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7734 if (ndr_flags
& NDR_BUFFERS
) {
7735 if (r
->netbios_name
) {
7736 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7737 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7738 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7739 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7740 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7741 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
));
7743 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7744 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7745 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7748 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7749 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7750 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7751 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7752 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7753 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
));
7755 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7756 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7760 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7761 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7762 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7763 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7764 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7765 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
));
7767 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7768 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7769 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7772 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7773 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7774 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7775 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7776 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7777 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
));
7779 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7780 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7783 if (r
->computer_dn
) {
7784 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7785 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7786 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7787 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7788 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7789 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
));
7791 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7792 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7793 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7796 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7797 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7798 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7799 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7800 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7801 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
));
7803 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7804 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7805 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7808 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7809 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7810 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7811 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7812 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7813 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
));
7815 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7816 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7820 return NDR_ERR_SUCCESS
;
7823 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7825 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7827 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7829 if (r
->netbios_name
) {
7830 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7833 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7836 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7839 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7842 ndr_print_string(ndr
, "site_name", r
->site_name
);
7845 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7848 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7851 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7853 if (r
->computer_dn
) {
7854 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7857 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7860 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7863 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7866 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7869 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7870 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7871 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7872 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7873 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7874 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7875 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7876 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7880 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7882 uint32_t cntr_array_1
;
7883 if (ndr_flags
& NDR_SCALARS
) {
7884 NDR_CHECK(ndr_push_align(ndr
, 5));
7885 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7886 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7887 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7889 if (ndr_flags
& NDR_BUFFERS
) {
7891 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7892 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7893 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7895 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7896 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7900 return NDR_ERR_SUCCESS
;
7903 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
7905 uint32_t _ptr_array
;
7906 uint32_t cntr_array_1
;
7907 TALLOC_CTX
*_mem_save_array_0
;
7908 TALLOC_CTX
*_mem_save_array_1
;
7909 if (ndr_flags
& NDR_SCALARS
) {
7910 NDR_CHECK(ndr_pull_align(ndr
, 5));
7911 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7912 if (r
->count
> 10000) {
7913 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7915 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7917 NDR_PULL_ALLOC(ndr
, r
->array
);
7921 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7923 if (ndr_flags
& NDR_BUFFERS
) {
7925 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7926 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7927 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7928 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7929 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7930 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7931 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7932 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7934 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7935 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7937 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7938 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7941 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7944 return NDR_ERR_SUCCESS
;
7947 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7949 uint32_t cntr_array_1
;
7950 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
7952 ndr_print_uint32(ndr
, "count", r
->count
);
7953 ndr_print_ptr(ndr
, "array", r
->array
);
7956 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7958 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7960 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7961 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
7971 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
7973 if (ndr_flags
& NDR_SCALARS
) {
7974 NDR_CHECK(ndr_push_align(ndr
, 5));
7976 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7977 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7978 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
7979 ndr
->flags
= _flags_save_ipv4address
;
7981 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7982 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
7983 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
7984 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
7985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
7986 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
7987 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7989 if (ndr_flags
& NDR_BUFFERS
) {
7990 if (r
->client_account
) {
7991 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7992 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7993 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7994 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7997 return NDR_ERR_SUCCESS
;
8000 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
8002 uint32_t _ptr_client_account
;
8003 TALLOC_CTX
*_mem_save_client_account_0
;
8004 if (ndr_flags
& NDR_SCALARS
) {
8005 NDR_CHECK(ndr_pull_align(ndr
, 5));
8007 uint32_t _flags_save_ipv4address
= ndr
->flags
;
8008 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
8009 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
8010 ndr
->flags
= _flags_save_ipv4address
;
8012 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8013 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
8014 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
8015 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
8016 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
8017 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
8018 if (_ptr_client_account
) {
8019 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8021 r
->client_account
= NULL
;
8023 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8025 if (ndr_flags
& NDR_BUFFERS
) {
8026 if (r
->client_account
) {
8027 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8028 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8029 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8030 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8031 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8032 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
));
8034 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8035 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8036 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8039 return NDR_ERR_SUCCESS
;
8042 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8044 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8046 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8047 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8048 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8049 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8050 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8051 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8052 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8054 if (r
->client_account
) {
8055 ndr_print_string(ndr
, "client_account", r
->client_account
);
8061 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8063 uint32_t cntr_array_1
;
8064 if (ndr_flags
& NDR_SCALARS
) {
8065 NDR_CHECK(ndr_push_align(ndr
, 5));
8066 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8067 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8068 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8070 if (ndr_flags
& NDR_BUFFERS
) {
8072 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8073 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8074 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8076 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8077 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8081 return NDR_ERR_SUCCESS
;
8084 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8086 uint32_t _ptr_array
;
8087 uint32_t cntr_array_1
;
8088 TALLOC_CTX
*_mem_save_array_0
;
8089 TALLOC_CTX
*_mem_save_array_1
;
8090 if (ndr_flags
& NDR_SCALARS
) {
8091 NDR_CHECK(ndr_pull_align(ndr
, 5));
8092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8093 if (r
->count
> 10000) {
8094 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8096 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8098 NDR_PULL_ALLOC(ndr
, r
->array
);
8102 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8104 if (ndr_flags
& NDR_BUFFERS
) {
8106 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8107 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8108 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8109 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8110 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8111 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8112 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8113 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8115 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8116 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8122 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8125 return NDR_ERR_SUCCESS
;
8128 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8130 uint32_t cntr_array_1
;
8131 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8133 ndr_print_uint32(ndr
, "count", r
->count
);
8134 ndr_print_ptr(ndr
, "array", r
->array
);
8137 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8139 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8141 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8142 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8152 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8154 if (ndr_flags
& NDR_SCALARS
) {
8155 int level
= ndr_push_get_switch_value(ndr
, r
);
8156 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8157 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8159 case DRSUAPI_DC_INFO_CTR_1
: {
8160 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8163 case DRSUAPI_DC_INFO_CTR_2
: {
8164 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8167 case DRSUAPI_DC_INFO_CTR_3
: {
8168 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8171 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8172 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8176 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8179 if (ndr_flags
& NDR_BUFFERS
) {
8180 int level
= ndr_push_get_switch_value(ndr
, r
);
8182 case DRSUAPI_DC_INFO_CTR_1
:
8183 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8186 case DRSUAPI_DC_INFO_CTR_2
:
8187 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8190 case DRSUAPI_DC_INFO_CTR_3
:
8191 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8194 case DRSUAPI_DC_CONNECTION_CTR_01
:
8195 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8199 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8202 return NDR_ERR_SUCCESS
;
8205 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8209 level
= ndr_pull_get_switch_value(ndr
, r
);
8210 if (ndr_flags
& NDR_SCALARS
) {
8211 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8212 if (_level
!= level
) {
8213 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8215 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8217 case DRSUAPI_DC_INFO_CTR_1
: {
8218 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8221 case DRSUAPI_DC_INFO_CTR_2
: {
8222 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8225 case DRSUAPI_DC_INFO_CTR_3
: {
8226 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8229 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8230 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8234 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8237 if (ndr_flags
& NDR_BUFFERS
) {
8239 case DRSUAPI_DC_INFO_CTR_1
:
8240 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8243 case DRSUAPI_DC_INFO_CTR_2
:
8244 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8247 case DRSUAPI_DC_INFO_CTR_3
:
8248 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8251 case DRSUAPI_DC_CONNECTION_CTR_01
:
8252 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8256 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8259 return NDR_ERR_SUCCESS
;
8262 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8265 level
= ndr_print_get_switch_value(ndr
, r
);
8266 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8268 case DRSUAPI_DC_INFO_CTR_1
:
8269 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8272 case DRSUAPI_DC_INFO_CTR_2
:
8273 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8276 case DRSUAPI_DC_INFO_CTR_3
:
8277 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8280 case DRSUAPI_DC_CONNECTION_CTR_01
:
8281 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8285 ndr_print_bad_level(ndr
, name
, level
);
8289 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8291 if (ndr_flags
& NDR_SCALARS
) {
8292 NDR_CHECK(ndr_push_align(ndr
, 5));
8293 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8294 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8295 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8297 if (ndr_flags
& NDR_BUFFERS
) {
8298 if (r
->next_object
) {
8299 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8301 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8303 return NDR_ERR_SUCCESS
;
8306 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8308 uint32_t _ptr_next_object
;
8309 TALLOC_CTX
*_mem_save_next_object_0
;
8310 if (ndr_flags
& NDR_SCALARS
) {
8311 NDR_CHECK(ndr_pull_align(ndr
, 5));
8312 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8313 if (_ptr_next_object
) {
8314 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8316 r
->next_object
= NULL
;
8318 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8319 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8321 if (ndr_flags
& NDR_BUFFERS
) {
8322 if (r
->next_object
) {
8323 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8324 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8325 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8326 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8328 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8330 return NDR_ERR_SUCCESS
;
8333 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8335 if (ndr_flags
& NDR_SCALARS
) {
8336 NDR_CHECK(ndr_push_align(ndr
, 5));
8337 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8338 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8340 if (ndr_flags
& NDR_BUFFERS
) {
8341 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8343 return NDR_ERR_SUCCESS
;
8346 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8348 if (ndr_flags
& NDR_SCALARS
) {
8349 NDR_CHECK(ndr_pull_align(ndr
, 5));
8350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8351 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8353 if (ndr_flags
& NDR_BUFFERS
) {
8354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8356 return NDR_ERR_SUCCESS
;
8359 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8361 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8363 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8367 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8369 if (ndr_flags
& NDR_SCALARS
) {
8370 int level
= ndr_push_get_switch_value(ndr
, r
);
8371 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8372 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8375 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8379 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8382 if (ndr_flags
& NDR_BUFFERS
) {
8383 int level
= ndr_push_get_switch_value(ndr
, r
);
8386 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8390 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8393 return NDR_ERR_SUCCESS
;
8396 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8400 level
= ndr_pull_get_switch_value(ndr
, r
);
8401 if (ndr_flags
& NDR_SCALARS
) {
8402 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8403 if (_level
!= level
) {
8404 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8406 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8409 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8413 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8416 if (ndr_flags
& NDR_BUFFERS
) {
8419 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8423 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8426 return NDR_ERR_SUCCESS
;
8429 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8432 level
= ndr_print_get_switch_value(ndr
, r
);
8433 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8436 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8440 ndr_print_bad_level(ndr
, name
, level
);
8444 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8446 if (ndr_flags
& NDR_SCALARS
) {
8447 NDR_CHECK(ndr_push_align(ndr
, 4));
8448 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8449 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8450 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8451 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8452 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8454 if (ndr_flags
& NDR_BUFFERS
) {
8456 return NDR_ERR_SUCCESS
;
8459 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8461 if (ndr_flags
& NDR_SCALARS
) {
8462 NDR_CHECK(ndr_pull_align(ndr
, 4));
8463 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8464 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8465 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8466 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8467 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8469 if (ndr_flags
& NDR_BUFFERS
) {
8471 return NDR_ERR_SUCCESS
;
8474 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8476 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8478 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8479 ndr_print_WERROR(ndr
, "status", r
->status
);
8480 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8481 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8485 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8487 if (ndr_flags
& NDR_SCALARS
) {
8488 NDR_CHECK(ndr_push_align(ndr
, 5));
8489 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8490 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8491 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8493 if (ndr_flags
& NDR_BUFFERS
) {
8495 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8496 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8499 return NDR_ERR_SUCCESS
;
8502 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8505 TALLOC_CTX
*_mem_save_data_0
;
8506 if (ndr_flags
& NDR_SCALARS
) {
8507 NDR_CHECK(ndr_pull_align(ndr
, 5));
8508 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8509 if (r
->size
> 10485760) {
8510 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8512 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8514 NDR_PULL_ALLOC(ndr
, r
->data
);
8518 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8520 if (ndr_flags
& NDR_BUFFERS
) {
8522 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8523 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8524 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8525 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
8526 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
8527 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8530 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8533 return NDR_ERR_SUCCESS
;
8536 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8538 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8540 ndr_print_uint32(ndr
, "size", r
->size
);
8541 ndr_print_ptr(ndr
, "data", r
->data
);
8544 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8550 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8552 if (ndr_flags
& NDR_SCALARS
) {
8553 NDR_CHECK(ndr_push_align(ndr
, 5));
8554 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8555 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8556 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8557 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8558 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8560 if (ndr_flags
& NDR_BUFFERS
) {
8561 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8563 return NDR_ERR_SUCCESS
;
8566 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8568 if (ndr_flags
& NDR_SCALARS
) {
8569 NDR_CHECK(ndr_pull_align(ndr
, 5));
8570 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8571 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8572 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8573 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8574 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8576 if (ndr_flags
& NDR_BUFFERS
) {
8577 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8579 return NDR_ERR_SUCCESS
;
8582 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8584 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8586 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8587 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8588 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8589 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8593 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8595 if (ndr_flags
& NDR_SCALARS
) {
8596 NDR_CHECK(ndr_push_align(ndr
, 5));
8597 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8598 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8599 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8601 if (ndr_flags
& NDR_BUFFERS
) {
8603 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8605 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8607 return NDR_ERR_SUCCESS
;
8610 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8613 TALLOC_CTX
*_mem_save_next_0
;
8614 if (ndr_flags
& NDR_SCALARS
) {
8615 NDR_CHECK(ndr_pull_align(ndr
, 5));
8616 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8618 NDR_PULL_ALLOC(ndr
, r
->next
);
8622 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8623 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8625 if (ndr_flags
& NDR_BUFFERS
) {
8627 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8628 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8629 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8630 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8632 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8634 return NDR_ERR_SUCCESS
;
8637 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8639 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8641 ndr_print_ptr(ndr
, "next", r
->next
);
8644 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8647 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8651 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8653 if (ndr_flags
& NDR_SCALARS
) {
8654 NDR_CHECK(ndr_push_align(ndr
, 5));
8655 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8656 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8657 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8658 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8660 if (ndr_flags
& NDR_BUFFERS
) {
8662 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8664 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8666 return NDR_ERR_SUCCESS
;
8669 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8672 TALLOC_CTX
*_mem_save_id_0
;
8673 if (ndr_flags
& NDR_SCALARS
) {
8674 NDR_CHECK(ndr_pull_align(ndr
, 5));
8675 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8677 NDR_PULL_ALLOC(ndr
, r
->id
);
8681 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8682 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8683 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8685 if (ndr_flags
& NDR_BUFFERS
) {
8687 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8688 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8689 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8690 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8692 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8694 return NDR_ERR_SUCCESS
;
8697 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8699 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8701 ndr_print_ptr(ndr
, "id", r
->id
);
8704 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8707 ndr_print_WERROR(ndr
, "status", r
->status
);
8708 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8712 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8714 if (ndr_flags
& NDR_SCALARS
) {
8715 int level
= ndr_push_get_switch_value(ndr
, r
);
8716 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8717 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8720 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8724 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8728 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8732 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8736 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8740 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8743 if (ndr_flags
& NDR_BUFFERS
) {
8744 int level
= ndr_push_get_switch_value(ndr
, r
);
8747 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8763 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8766 return NDR_ERR_SUCCESS
;
8769 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8773 level
= ndr_pull_get_switch_value(ndr
, r
);
8774 if (ndr_flags
& NDR_SCALARS
) {
8775 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8776 if (_level
!= level
) {
8777 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8779 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8782 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8786 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8790 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8794 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8798 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8802 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8805 if (ndr_flags
& NDR_BUFFERS
) {
8808 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8824 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8827 return NDR_ERR_SUCCESS
;
8830 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8833 level
= ndr_print_get_switch_value(ndr
, r
);
8834 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8837 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8841 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8845 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8849 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8853 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8857 ndr_print_bad_level(ndr
, name
, level
);
8861 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8863 if (ndr_flags
& NDR_SCALARS
) {
8864 NDR_CHECK(ndr_push_align(ndr
, 5));
8865 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8866 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8867 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8868 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8870 if (ndr_flags
& NDR_BUFFERS
) {
8872 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
8873 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8876 return NDR_ERR_SUCCESS
;
8879 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
8882 TALLOC_CTX
*_mem_save_info_0
;
8883 if (ndr_flags
& NDR_SCALARS
) {
8884 NDR_CHECK(ndr_pull_align(ndr
, 5));
8885 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8886 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
8887 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8889 NDR_PULL_ALLOC(ndr
, r
->info
);
8893 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8895 if (ndr_flags
& NDR_BUFFERS
) {
8897 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8898 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
8899 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
8900 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8901 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
8904 return NDR_ERR_SUCCESS
;
8907 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
8909 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
8911 ndr_print_WERROR(ndr
, "status", r
->status
);
8912 ndr_print_uint32(ndr
, "level", r
->level
);
8913 ndr_print_ptr(ndr
, "info", r
->info
);
8916 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
8917 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
8923 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
8925 if (ndr_flags
& NDR_SCALARS
) {
8926 int level
= ndr_push_get_switch_value(ndr
, r
);
8927 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8928 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8931 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8935 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8938 if (ndr_flags
& NDR_BUFFERS
) {
8939 int level
= ndr_push_get_switch_value(ndr
, r
);
8942 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8946 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8949 return NDR_ERR_SUCCESS
;
8952 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
8956 level
= ndr_pull_get_switch_value(ndr
, r
);
8957 if (ndr_flags
& NDR_SCALARS
) {
8958 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8959 if (_level
!= level
) {
8960 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8962 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8965 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8969 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8972 if (ndr_flags
& NDR_BUFFERS
) {
8975 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8979 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8982 return NDR_ERR_SUCCESS
;
8985 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
8988 level
= ndr_print_get_switch_value(ndr
, r
);
8989 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
8992 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
8996 ndr_print_bad_level(ndr
, name
, level
);
9000 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9002 if (ndr_flags
& NDR_SCALARS
) {
9003 NDR_CHECK(ndr_push_align(ndr
, 4));
9004 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9005 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9006 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9008 if (ndr_flags
& NDR_BUFFERS
) {
9009 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9011 return NDR_ERR_SUCCESS
;
9014 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9016 if (ndr_flags
& NDR_SCALARS
) {
9017 NDR_CHECK(ndr_pull_align(ndr
, 4));
9018 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9019 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9020 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9022 if (ndr_flags
& NDR_BUFFERS
) {
9023 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9025 return NDR_ERR_SUCCESS
;
9028 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9030 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9032 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9033 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9037 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9039 uint32_t cntr_objects_1
;
9040 if (ndr_flags
& NDR_SCALARS
) {
9041 NDR_CHECK(ndr_push_align(ndr
, 5));
9042 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9043 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9044 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9045 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9046 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9047 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9049 if (ndr_flags
& NDR_BUFFERS
) {
9051 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9055 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9056 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9058 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9059 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9063 return NDR_ERR_SUCCESS
;
9066 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9069 TALLOC_CTX
*_mem_save_id_0
;
9070 uint32_t _ptr_objects
;
9071 uint32_t cntr_objects_1
;
9072 TALLOC_CTX
*_mem_save_objects_0
;
9073 TALLOC_CTX
*_mem_save_objects_1
;
9074 if (ndr_flags
& NDR_SCALARS
) {
9075 NDR_CHECK(ndr_pull_align(ndr
, 5));
9076 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9078 NDR_PULL_ALLOC(ndr
, r
->id
);
9082 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9083 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9084 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9085 if (r
->count
> 10000) {
9086 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9088 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9090 NDR_PULL_ALLOC(ndr
, r
->objects
);
9094 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9096 if (ndr_flags
& NDR_BUFFERS
) {
9098 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9099 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9100 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9101 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9104 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9105 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9106 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9107 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9108 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9109 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9110 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9111 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9113 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9114 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9116 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9117 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9120 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9123 return NDR_ERR_SUCCESS
;
9126 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9128 uint32_t cntr_objects_1
;
9129 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9131 ndr_print_ptr(ndr
, "id", r
->id
);
9134 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9137 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9138 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9139 ndr_print_uint32(ndr
, "count", r
->count
);
9140 ndr_print_ptr(ndr
, "objects", r
->objects
);
9143 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9145 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9147 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9148 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9158 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9160 uint32_t cntr_objects_1
;
9161 if (ndr_flags
& NDR_SCALARS
) {
9162 NDR_CHECK(ndr_push_align(ndr
, 5));
9163 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9164 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9165 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9166 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9167 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9168 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9170 if (ndr_flags
& NDR_BUFFERS
) {
9172 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9175 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9176 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9179 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9180 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9181 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9183 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9184 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9188 return NDR_ERR_SUCCESS
;
9191 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9194 TALLOC_CTX
*_mem_save_id_0
;
9195 uint32_t _ptr_error
;
9196 TALLOC_CTX
*_mem_save_error_0
;
9197 uint32_t _ptr_objects
;
9198 uint32_t cntr_objects_1
;
9199 TALLOC_CTX
*_mem_save_objects_0
;
9200 TALLOC_CTX
*_mem_save_objects_1
;
9201 if (ndr_flags
& NDR_SCALARS
) {
9202 NDR_CHECK(ndr_pull_align(ndr
, 5));
9203 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9205 NDR_PULL_ALLOC(ndr
, r
->id
);
9209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9210 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9212 NDR_PULL_ALLOC(ndr
, r
->error
);
9216 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9217 if (r
->count
> 10000) {
9218 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9220 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9222 NDR_PULL_ALLOC(ndr
, r
->objects
);
9226 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9228 if (ndr_flags
& NDR_BUFFERS
) {
9230 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9231 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9232 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9233 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9236 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9237 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9238 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9239 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9240 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9243 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9244 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9245 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9246 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9247 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9248 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9249 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9250 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9252 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9253 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9259 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9262 return NDR_ERR_SUCCESS
;
9265 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9267 uint32_t cntr_objects_1
;
9268 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9270 ndr_print_ptr(ndr
, "id", r
->id
);
9273 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9276 ndr_print_uint32(ndr
, "level", r
->level
);
9277 ndr_print_ptr(ndr
, "error", r
->error
);
9280 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9281 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9284 ndr_print_uint32(ndr
, "count", r
->count
);
9285 ndr_print_ptr(ndr
, "objects", r
->objects
);
9288 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9290 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9292 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9293 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9303 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9305 if (ndr_flags
& NDR_SCALARS
) {
9306 int level
= ndr_push_get_switch_value(ndr
, r
);
9307 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9308 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9311 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9315 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9319 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9322 if (ndr_flags
& NDR_BUFFERS
) {
9323 int level
= ndr_push_get_switch_value(ndr
, r
);
9326 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9330 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9334 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9337 return NDR_ERR_SUCCESS
;
9340 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9344 level
= ndr_pull_get_switch_value(ndr
, r
);
9345 if (ndr_flags
& NDR_SCALARS
) {
9346 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9347 if (_level
!= level
) {
9348 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9350 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9353 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9357 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9361 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9364 if (ndr_flags
& NDR_BUFFERS
) {
9367 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9371 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9375 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9378 return NDR_ERR_SUCCESS
;
9381 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9384 level
= ndr_print_get_switch_value(ndr
, r
);
9385 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9388 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9392 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9396 ndr_print_bad_level(ndr
, name
, level
);
9400 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9402 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9403 return NDR_ERR_SUCCESS
;
9406 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9409 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9411 return NDR_ERR_SUCCESS
;
9414 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9416 ndr_print_uint32(ndr
, name
, r
);
9418 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9419 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9423 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9425 if (ndr_flags
& NDR_SCALARS
) {
9426 NDR_CHECK(ndr_push_align(ndr
, 4));
9427 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9428 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9429 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9431 if (ndr_flags
& NDR_BUFFERS
) {
9433 return NDR_ERR_SUCCESS
;
9436 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9438 if (ndr_flags
& NDR_SCALARS
) {
9439 NDR_CHECK(ndr_pull_align(ndr
, 4));
9440 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9441 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9442 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9444 if (ndr_flags
& NDR_BUFFERS
) {
9446 return NDR_ERR_SUCCESS
;
9449 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9451 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9453 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9454 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9458 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9460 if (ndr_flags
& NDR_SCALARS
) {
9461 int level
= ndr_push_get_switch_value(ndr
, r
);
9462 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9463 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9466 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9470 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9473 if (ndr_flags
& NDR_BUFFERS
) {
9474 int level
= ndr_push_get_switch_value(ndr
, r
);
9480 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9483 return NDR_ERR_SUCCESS
;
9486 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9490 level
= ndr_pull_get_switch_value(ndr
, r
);
9491 if (ndr_flags
& NDR_SCALARS
) {
9492 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9493 if (_level
!= level
) {
9494 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9496 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9499 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9503 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9506 if (ndr_flags
& NDR_BUFFERS
) {
9512 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9515 return NDR_ERR_SUCCESS
;
9518 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9521 level
= ndr_print_get_switch_value(ndr
, r
);
9522 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9525 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9529 ndr_print_bad_level(ndr
, name
, level
);
9533 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9535 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9536 return NDR_ERR_SUCCESS
;
9539 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9542 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9544 return NDR_ERR_SUCCESS
;
9547 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9549 const char *val
= NULL
;
9552 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9553 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9555 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9558 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9560 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9561 return NDR_ERR_SUCCESS
;
9564 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9567 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9569 return NDR_ERR_SUCCESS
;
9572 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9574 const char *val
= NULL
;
9577 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9578 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9579 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9580 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9581 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9582 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9583 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9584 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9585 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9586 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9587 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9588 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: val
= "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9589 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: val
= "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9590 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: val
= "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9591 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: val
= "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9593 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9596 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9598 if (ndr_flags
& NDR_SCALARS
) {
9599 NDR_CHECK(ndr_push_align(ndr
, 5));
9600 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9601 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9602 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9603 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9605 if (ndr_flags
& NDR_BUFFERS
) {
9607 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9608 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9609 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9610 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9613 return NDR_ERR_SUCCESS
;
9616 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9618 uint32_t _ptr_object_dn
;
9619 TALLOC_CTX
*_mem_save_object_dn_0
;
9620 if (ndr_flags
& NDR_SCALARS
) {
9621 NDR_CHECK(ndr_pull_align(ndr
, 5));
9622 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9623 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9624 if (_ptr_object_dn
) {
9625 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9627 r
->object_dn
= NULL
;
9629 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9630 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9632 if (ndr_flags
& NDR_BUFFERS
) {
9634 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9635 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9636 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9637 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9638 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9639 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
));
9641 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9642 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9643 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9646 return NDR_ERR_SUCCESS
;
9649 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9651 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9653 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9654 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9657 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9660 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
9664 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9666 if (ndr_flags
& NDR_SCALARS
) {
9667 NDR_CHECK(ndr_push_align(ndr
, 5));
9668 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9669 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9670 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9671 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
9672 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
9673 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->value_dn_str
));
9674 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
9675 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9677 if (ndr_flags
& NDR_BUFFERS
) {
9679 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9680 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9681 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9682 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9684 if (r
->attribute_name
) {
9685 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9686 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9687 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9688 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9690 if (r
->value_dn_str
) {
9691 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
9692 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9693 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
9694 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
));
9697 return NDR_ERR_SUCCESS
;
9700 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9702 uint32_t _ptr_object_dn
;
9703 TALLOC_CTX
*_mem_save_object_dn_0
;
9704 uint32_t _ptr_attribute_name
;
9705 TALLOC_CTX
*_mem_save_attribute_name_0
;
9706 uint32_t _ptr_value_dn_str
;
9707 TALLOC_CTX
*_mem_save_value_dn_str_0
;
9708 if (ndr_flags
& NDR_SCALARS
) {
9709 NDR_CHECK(ndr_pull_align(ndr
, 5));
9710 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9711 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9712 if (_ptr_object_dn
) {
9713 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9715 r
->object_dn
= NULL
;
9717 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
9719 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
9720 if (_ptr_attribute_name
) {
9721 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
9723 r
->attribute_name
= NULL
;
9725 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value_dn_str
));
9726 if (_ptr_value_dn_str
) {
9727 NDR_PULL_ALLOC(ndr
, r
->value_dn_str
);
9729 r
->value_dn_str
= NULL
;
9731 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
9732 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9734 if (ndr_flags
& NDR_BUFFERS
) {
9736 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9737 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9738 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9739 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9740 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9741 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
));
9743 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9744 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9745 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9747 if (r
->attribute_name
) {
9748 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9749 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
9750 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
9751 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
9752 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
9753 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
));
9755 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
9756 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
9757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
9759 if (r
->value_dn_str
) {
9760 _mem_save_value_dn_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9761 NDR_PULL_SET_MEM_CTX(ndr
, r
->value_dn_str
, 0);
9762 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->value_dn_str
));
9763 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->value_dn_str
));
9764 if (ndr_get_array_length(ndr
, &r
->value_dn_str
) > ndr_get_array_size(ndr
, &r
->value_dn_str
)) {
9765 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
));
9767 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->value_dn_str
), sizeof(uint16_t)));
9768 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
));
9769 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_dn_str_0
, 0);
9772 return NDR_ERR_SUCCESS
;
9775 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9777 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
9779 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9780 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9783 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9786 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
9787 ndr_print_uint32(ndr
, "flags", r
->flags
);
9788 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
9790 if (r
->attribute_name
) {
9791 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
9794 ndr_print_ptr(ndr
, "value_dn_str", r
->value_dn_str
);
9796 if (r
->value_dn_str
) {
9797 ndr_print_string(ndr
, "value_dn_str", r
->value_dn_str
);
9800 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
9804 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9806 if (ndr_flags
& NDR_SCALARS
) {
9807 int level
= ndr_push_get_switch_value(ndr
, r
);
9808 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
9809 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9811 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9812 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9815 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9816 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9820 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9823 if (ndr_flags
& NDR_BUFFERS
) {
9824 int level
= ndr_push_get_switch_value(ndr
, r
);
9826 case DRSUAPI_DS_REPLICA_GET_INFO
:
9827 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9830 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9831 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9835 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9838 return NDR_ERR_SUCCESS
;
9841 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
9845 level
= ndr_pull_get_switch_value(ndr
, r
);
9846 if (ndr_flags
& NDR_SCALARS
) {
9847 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9848 if (_level
!= level
) {
9849 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9851 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9853 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9854 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9857 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9862 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9865 if (ndr_flags
& NDR_BUFFERS
) {
9867 case DRSUAPI_DS_REPLICA_GET_INFO
:
9868 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9871 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9872 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9876 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9879 return NDR_ERR_SUCCESS
;
9882 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9885 level
= ndr_print_get_switch_value(ndr
, r
);
9886 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
9888 case DRSUAPI_DS_REPLICA_GET_INFO
:
9889 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
9892 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9893 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
9897 ndr_print_bad_level(ndr
, name
, level
);
9901 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
9903 if (ndr_flags
& NDR_SCALARS
) {
9904 NDR_CHECK(ndr_push_align(ndr
, 8));
9905 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
9906 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
9907 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
9908 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
9909 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
9910 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9911 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9912 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9913 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9914 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9915 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
9916 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
9917 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
9918 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
9919 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
9920 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
9921 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
9923 if (ndr_flags
& NDR_BUFFERS
) {
9924 if (r
->naming_context_dn
) {
9925 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9926 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9927 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9928 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
));
9930 if (r
->source_dsa_obj_dn
) {
9931 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9932 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9933 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9934 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
));
9936 if (r
->source_dsa_address
) {
9937 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9938 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9939 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9940 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
));
9942 if (r
->transport_obj_dn
) {
9943 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9944 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9945 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9946 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
));
9949 return NDR_ERR_SUCCESS
;
9952 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
9954 uint32_t _ptr_naming_context_dn
;
9955 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
9956 uint32_t _ptr_source_dsa_obj_dn
;
9957 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
9958 uint32_t _ptr_source_dsa_address
;
9959 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
9960 uint32_t _ptr_transport_obj_dn
;
9961 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
9962 if (ndr_flags
& NDR_SCALARS
) {
9963 NDR_CHECK(ndr_pull_align(ndr
, 8));
9964 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
9965 if (_ptr_naming_context_dn
) {
9966 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
9968 r
->naming_context_dn
= NULL
;
9970 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
9971 if (_ptr_source_dsa_obj_dn
) {
9972 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
9974 r
->source_dsa_obj_dn
= NULL
;
9976 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
9977 if (_ptr_source_dsa_address
) {
9978 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
9980 r
->source_dsa_address
= NULL
;
9982 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
9983 if (_ptr_transport_obj_dn
) {
9984 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
9986 r
->transport_obj_dn
= NULL
;
9988 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
9989 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9990 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9991 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9992 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9993 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9994 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
9995 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
9996 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
9997 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
9998 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
9999 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
10000 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10002 if (ndr_flags
& NDR_BUFFERS
) {
10003 if (r
->naming_context_dn
) {
10004 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10005 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
10006 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
10007 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
10008 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
10009 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
));
10011 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
10012 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
));
10013 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
10015 if (r
->source_dsa_obj_dn
) {
10016 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10017 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
10018 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10019 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10020 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10021 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
));
10023 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10024 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
));
10025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10027 if (r
->source_dsa_address
) {
10028 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10029 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10030 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10031 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10032 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10033 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
));
10035 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10036 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
));
10037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10039 if (r
->transport_obj_dn
) {
10040 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10041 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10042 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10043 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10044 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10045 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
));
10047 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10048 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
));
10049 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10052 return NDR_ERR_SUCCESS
;
10055 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10057 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10059 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10061 if (r
->naming_context_dn
) {
10062 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10065 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10067 if (r
->source_dsa_obj_dn
) {
10068 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10071 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10073 if (r
->source_dsa_address
) {
10074 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10077 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10079 if (r
->transport_obj_dn
) {
10080 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10083 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
10084 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10085 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10086 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10087 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10088 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10089 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10090 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10091 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10092 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10093 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10094 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10098 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10100 uint32_t cntr_array_0
;
10101 if (ndr_flags
& NDR_SCALARS
) {
10102 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10103 NDR_CHECK(ndr_push_align(ndr
, 8));
10104 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10105 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10106 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10107 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10109 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10111 if (ndr_flags
& NDR_BUFFERS
) {
10112 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10113 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10116 return NDR_ERR_SUCCESS
;
10119 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10121 uint32_t cntr_array_0
;
10122 TALLOC_CTX
*_mem_save_array_0
;
10123 if (ndr_flags
& NDR_SCALARS
) {
10124 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10125 NDR_CHECK(ndr_pull_align(ndr
, 8));
10126 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10127 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10128 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10129 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10130 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10131 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10132 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10136 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10138 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10140 if (ndr_flags
& NDR_BUFFERS
) {
10141 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10142 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10143 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10144 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10146 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10148 return NDR_ERR_SUCCESS
;
10151 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10153 uint32_t cntr_array_0
;
10154 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10156 ndr_print_uint32(ndr
, "count", r
->count
);
10157 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10158 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10160 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10162 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10163 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10171 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10173 uint32_t cntr_array_0
;
10174 if (ndr_flags
& NDR_SCALARS
) {
10175 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10176 NDR_CHECK(ndr_push_align(ndr
, 8));
10177 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10178 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10179 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10180 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10182 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10184 if (ndr_flags
& NDR_BUFFERS
) {
10186 return NDR_ERR_SUCCESS
;
10189 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10191 uint32_t cntr_array_0
;
10192 TALLOC_CTX
*_mem_save_array_0
;
10193 if (ndr_flags
& NDR_SCALARS
) {
10194 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10195 NDR_CHECK(ndr_pull_align(ndr
, 8));
10196 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10198 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10199 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10200 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10201 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10202 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10206 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10208 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10210 if (ndr_flags
& NDR_BUFFERS
) {
10212 return NDR_ERR_SUCCESS
;
10215 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10217 uint32_t cntr_array_0
;
10218 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10220 ndr_print_uint32(ndr
, "count", r
->count
);
10221 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10222 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10224 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10226 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10227 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10235 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10237 if (ndr_flags
& NDR_SCALARS
) {
10238 NDR_CHECK(ndr_push_align(ndr
, 8));
10239 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10241 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10242 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10243 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10244 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10245 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10247 if (ndr_flags
& NDR_BUFFERS
) {
10248 if (r
->attribute_name
) {
10249 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10250 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10252 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10255 return NDR_ERR_SUCCESS
;
10258 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10260 uint32_t _ptr_attribute_name
;
10261 TALLOC_CTX
*_mem_save_attribute_name_0
;
10262 if (ndr_flags
& NDR_SCALARS
) {
10263 NDR_CHECK(ndr_pull_align(ndr
, 8));
10264 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10265 if (_ptr_attribute_name
) {
10266 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10268 r
->attribute_name
= NULL
;
10270 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10271 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10272 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10273 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10274 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10275 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10277 if (ndr_flags
& NDR_BUFFERS
) {
10278 if (r
->attribute_name
) {
10279 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10280 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10281 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10282 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10283 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10284 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
));
10286 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10287 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10288 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10291 return NDR_ERR_SUCCESS
;
10294 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10296 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10298 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10300 if (r
->attribute_name
) {
10301 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10304 ndr_print_uint32(ndr
, "version", r
->version
);
10305 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10306 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10307 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10308 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10312 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10314 uint32_t cntr_array_0
;
10315 if (ndr_flags
& NDR_SCALARS
) {
10316 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10317 NDR_CHECK(ndr_push_align(ndr
, 8));
10318 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10319 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10320 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10321 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10323 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10325 if (ndr_flags
& NDR_BUFFERS
) {
10326 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10327 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10330 return NDR_ERR_SUCCESS
;
10333 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10335 uint32_t cntr_array_0
;
10336 TALLOC_CTX
*_mem_save_array_0
;
10337 if (ndr_flags
& NDR_SCALARS
) {
10338 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10339 NDR_CHECK(ndr_pull_align(ndr
, 8));
10340 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10342 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10343 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10344 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10345 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10346 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10348 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10350 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10352 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10354 if (ndr_flags
& NDR_BUFFERS
) {
10355 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10356 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10357 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10358 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10360 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10362 return NDR_ERR_SUCCESS
;
10365 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10367 uint32_t cntr_array_0
;
10368 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10370 ndr_print_uint32(ndr
, "count", r
->count
);
10371 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10372 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10374 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10376 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10377 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10385 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10387 if (ndr_flags
& NDR_SCALARS
) {
10388 NDR_CHECK(ndr_push_align(ndr
, 5));
10389 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10390 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10391 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10392 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10393 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10394 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10396 if (ndr_flags
& NDR_BUFFERS
) {
10397 if (r
->dsa_obj_dn
) {
10398 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10399 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10400 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10401 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
));
10404 return NDR_ERR_SUCCESS
;
10407 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10409 uint32_t _ptr_dsa_obj_dn
;
10410 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10411 if (ndr_flags
& NDR_SCALARS
) {
10412 NDR_CHECK(ndr_pull_align(ndr
, 5));
10413 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10414 if (_ptr_dsa_obj_dn
) {
10415 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10417 r
->dsa_obj_dn
= NULL
;
10419 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10420 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10421 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10422 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10423 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10425 if (ndr_flags
& NDR_BUFFERS
) {
10426 if (r
->dsa_obj_dn
) {
10427 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10428 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10429 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10430 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10431 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
10432 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
));
10434 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
10435 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
));
10436 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10439 return NDR_ERR_SUCCESS
;
10442 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10444 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10446 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10448 if (r
->dsa_obj_dn
) {
10449 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10452 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10453 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10454 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10455 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10459 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10461 uint32_t cntr_array_0
;
10462 if (ndr_flags
& NDR_SCALARS
) {
10463 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10464 NDR_CHECK(ndr_push_align(ndr
, 5));
10465 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10466 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10467 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10468 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10470 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10472 if (ndr_flags
& NDR_BUFFERS
) {
10473 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10474 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10477 return NDR_ERR_SUCCESS
;
10480 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10482 uint32_t cntr_array_0
;
10483 TALLOC_CTX
*_mem_save_array_0
;
10484 if (ndr_flags
& NDR_SCALARS
) {
10485 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10486 NDR_CHECK(ndr_pull_align(ndr
, 5));
10487 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10488 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10489 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10490 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10491 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10492 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10493 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10495 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10497 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10499 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10501 if (ndr_flags
& NDR_BUFFERS
) {
10502 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10503 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10504 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10505 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10507 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10509 return NDR_ERR_SUCCESS
;
10512 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10514 uint32_t cntr_array_0
;
10515 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10517 ndr_print_uint32(ndr
, "count", r
->count
);
10518 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10519 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10521 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10523 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10524 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10532 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10534 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10535 return NDR_ERR_SUCCESS
;
10538 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10541 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10543 return NDR_ERR_SUCCESS
;
10546 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10548 const char *val
= NULL
;
10551 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10552 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10553 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10554 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10555 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10557 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10560 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10562 if (ndr_flags
& NDR_SCALARS
) {
10563 NDR_CHECK(ndr_push_align(ndr
, 5));
10564 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10565 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10566 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10567 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10568 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
10569 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
10570 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
10571 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
10572 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10573 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10574 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10576 if (ndr_flags
& NDR_BUFFERS
) {
10578 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10579 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10580 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10581 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10583 if (r
->remote_dsa_obj_dn
) {
10584 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10585 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10586 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10587 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
));
10589 if (r
->remote_dsa_address
) {
10590 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10591 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10592 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10593 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
));
10596 return NDR_ERR_SUCCESS
;
10599 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
10601 uint32_t _ptr_nc_dn
;
10602 TALLOC_CTX
*_mem_save_nc_dn_0
;
10603 uint32_t _ptr_remote_dsa_obj_dn
;
10604 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
10605 uint32_t _ptr_remote_dsa_address
;
10606 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
10607 if (ndr_flags
& NDR_SCALARS
) {
10608 NDR_CHECK(ndr_pull_align(ndr
, 5));
10609 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
10610 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
10611 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
10612 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
10613 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
10614 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
10616 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
10620 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
10621 if (_ptr_remote_dsa_obj_dn
) {
10622 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
10624 r
->remote_dsa_obj_dn
= NULL
;
10626 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
10627 if (_ptr_remote_dsa_address
) {
10628 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
10630 r
->remote_dsa_address
= NULL
;
10632 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10633 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10634 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10636 if (ndr_flags
& NDR_BUFFERS
) {
10638 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10639 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
10640 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
10641 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
10642 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
10643 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
));
10645 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
10646 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
10647 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
10649 if (r
->remote_dsa_obj_dn
) {
10650 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10651 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
10652 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
10653 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10654 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
10655 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
));
10657 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
10658 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
));
10659 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
10661 if (r
->remote_dsa_address
) {
10662 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10663 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
10664 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
10665 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
10666 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
10667 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
));
10669 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
10670 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
));
10671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
10674 return NDR_ERR_SUCCESS
;
10677 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
10679 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
10681 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
10682 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
10683 ndr_print_uint32(ndr
, "priority", r
->priority
);
10684 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
10685 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
10686 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
10689 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
10692 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10694 if (r
->remote_dsa_obj_dn
) {
10695 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10698 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10700 if (r
->remote_dsa_address
) {
10701 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10704 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
10705 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
10709 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
10711 uint32_t cntr_array_0
;
10712 if (ndr_flags
& NDR_SCALARS
) {
10713 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10714 NDR_CHECK(ndr_push_align(ndr
, 5));
10715 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
10716 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10717 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10718 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10720 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10722 if (ndr_flags
& NDR_BUFFERS
) {
10723 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10724 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10727 return NDR_ERR_SUCCESS
;
10730 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
10732 uint32_t cntr_array_0
;
10733 TALLOC_CTX
*_mem_save_array_0
;
10734 if (ndr_flags
& NDR_SCALARS
) {
10735 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10736 NDR_CHECK(ndr_pull_align(ndr
, 5));
10737 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
10738 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10739 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10740 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10741 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10742 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10745 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10747 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10749 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10751 if (ndr_flags
& NDR_BUFFERS
) {
10752 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10753 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10754 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10755 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10757 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10759 return NDR_ERR_SUCCESS
;
10762 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
10764 uint32_t cntr_array_0
;
10765 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
10767 ndr_print_NTTIME(ndr
, "time", r
->time
);
10768 ndr_print_uint32(ndr
, "count", r
->count
);
10769 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10771 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10773 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10774 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
10782 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10784 if (ndr_flags
& NDR_SCALARS
) {
10785 NDR_CHECK(ndr_push_align(ndr
, 8));
10786 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10787 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10788 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
10789 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
10790 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
10791 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
10792 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10793 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10794 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10795 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10796 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10797 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10799 if (ndr_flags
& NDR_BUFFERS
) {
10800 if (r
->attribute_name
) {
10801 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10802 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10803 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10804 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10806 if (r
->object_dn
) {
10807 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10808 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10809 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10810 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10813 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
10816 return NDR_ERR_SUCCESS
;
10819 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
10821 uint32_t _ptr_attribute_name
;
10822 TALLOC_CTX
*_mem_save_attribute_name_0
;
10823 uint32_t _ptr_object_dn
;
10824 TALLOC_CTX
*_mem_save_object_dn_0
;
10825 uint32_t _ptr_binary
;
10826 TALLOC_CTX
*_mem_save_binary_0
;
10827 if (ndr_flags
& NDR_SCALARS
) {
10828 NDR_CHECK(ndr_pull_align(ndr
, 8));
10829 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10830 if (_ptr_attribute_name
) {
10831 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10833 r
->attribute_name
= NULL
;
10835 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10836 if (_ptr_object_dn
) {
10837 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10839 r
->object_dn
= NULL
;
10841 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
10842 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
10844 NDR_PULL_ALLOC(ndr
, r
->binary
);
10848 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
10849 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
10850 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10851 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10852 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10853 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10854 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10855 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10857 if (ndr_flags
& NDR_BUFFERS
) {
10858 if (r
->attribute_name
) {
10859 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10860 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10861 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10862 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10863 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10864 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
));
10866 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10867 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10868 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10870 if (r
->object_dn
) {
10871 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10872 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10873 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10874 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10875 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
10876 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
));
10878 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
10879 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
10880 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10883 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10884 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
10885 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
10886 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
10889 return NDR_ERR_SUCCESS
;
10892 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10894 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
10896 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10898 if (r
->attribute_name
) {
10899 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10902 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10904 if (r
->object_dn
) {
10905 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10908 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
);
10909 ndr_print_ptr(ndr
, "binary", r
->binary
);
10912 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
10915 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
10916 ndr_print_NTTIME(ndr
, "created", r
->created
);
10917 ndr_print_uint32(ndr
, "version", r
->version
);
10918 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10919 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10920 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10921 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10925 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10927 uint32_t cntr_array_0
;
10928 if (ndr_flags
& NDR_SCALARS
) {
10929 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10930 NDR_CHECK(ndr_push_align(ndr
, 8));
10931 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10932 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10933 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10934 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10936 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10938 if (ndr_flags
& NDR_BUFFERS
) {
10939 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10940 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10943 return NDR_ERR_SUCCESS
;
10946 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10948 uint32_t cntr_array_0
;
10949 TALLOC_CTX
*_mem_save_array_0
;
10950 if (ndr_flags
& NDR_SCALARS
) {
10951 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10952 NDR_CHECK(ndr_pull_align(ndr
, 8));
10953 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10954 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10955 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10956 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10957 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10958 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10959 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10961 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10963 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10965 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10967 if (ndr_flags
& NDR_BUFFERS
) {
10968 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10969 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10970 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10971 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10973 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10975 return NDR_ERR_SUCCESS
;
10978 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10980 uint32_t cntr_array_0
;
10981 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
10983 ndr_print_uint32(ndr
, "count", r
->count
);
10984 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
10985 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10987 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10989 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10990 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10998 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11000 uint32_t cntr_array_0
;
11001 if (ndr_flags
& NDR_SCALARS
) {
11002 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11003 NDR_CHECK(ndr_push_align(ndr
, 8));
11004 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11005 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11006 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11007 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11009 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11011 if (ndr_flags
& NDR_BUFFERS
) {
11013 return NDR_ERR_SUCCESS
;
11016 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
11018 uint32_t cntr_array_0
;
11019 TALLOC_CTX
*_mem_save_array_0
;
11020 if (ndr_flags
& NDR_SCALARS
) {
11021 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11022 NDR_CHECK(ndr_pull_align(ndr
, 8));
11023 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11024 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11025 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11026 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11027 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11028 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11029 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11031 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11033 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11035 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11037 if (ndr_flags
& NDR_BUFFERS
) {
11039 return NDR_ERR_SUCCESS
;
11042 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11044 uint32_t cntr_array_0
;
11045 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11047 ndr_print_uint32(ndr
, "count", r
->count
);
11048 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11049 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11051 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11053 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11054 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11062 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11064 if (ndr_flags
& NDR_SCALARS
) {
11065 NDR_CHECK(ndr_push_align(ndr
, 8));
11066 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11067 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11068 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11069 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11070 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11072 if (ndr_flags
& NDR_BUFFERS
) {
11073 if (r
->source_dsa_obj_dn
) {
11074 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11075 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11076 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11077 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
));
11080 return NDR_ERR_SUCCESS
;
11083 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11085 uint32_t _ptr_source_dsa_obj_dn
;
11086 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11087 if (ndr_flags
& NDR_SCALARS
) {
11088 NDR_CHECK(ndr_pull_align(ndr
, 8));
11089 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11090 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11091 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11092 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11093 if (_ptr_source_dsa_obj_dn
) {
11094 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11096 r
->source_dsa_obj_dn
= NULL
;
11098 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11100 if (ndr_flags
& NDR_BUFFERS
) {
11101 if (r
->source_dsa_obj_dn
) {
11102 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11103 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11104 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11105 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11106 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11107 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
));
11109 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11110 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
));
11111 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11114 return NDR_ERR_SUCCESS
;
11117 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11119 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11121 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11122 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11123 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11124 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11126 if (r
->source_dsa_obj_dn
) {
11127 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11133 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11135 uint32_t cntr_array_0
;
11136 if (ndr_flags
& NDR_SCALARS
) {
11137 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11138 NDR_CHECK(ndr_push_align(ndr
, 8));
11139 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11140 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11141 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11142 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11144 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11146 if (ndr_flags
& NDR_BUFFERS
) {
11147 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11148 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11151 return NDR_ERR_SUCCESS
;
11154 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11156 uint32_t cntr_array_0
;
11157 TALLOC_CTX
*_mem_save_array_0
;
11158 if (ndr_flags
& NDR_SCALARS
) {
11159 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11160 NDR_CHECK(ndr_pull_align(ndr
, 8));
11161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11162 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11163 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11164 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11165 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11166 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11167 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11169 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11171 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11173 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11175 if (ndr_flags
& NDR_BUFFERS
) {
11176 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11177 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11178 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11179 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11181 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11183 return NDR_ERR_SUCCESS
;
11186 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11188 uint32_t cntr_array_0
;
11189 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11191 ndr_print_uint32(ndr
, "count", r
->count
);
11192 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11193 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11195 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11197 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11198 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11206 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11208 if (ndr_flags
& NDR_SCALARS
) {
11209 NDR_CHECK(ndr_push_align(ndr
, 8));
11210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11211 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11212 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11213 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11214 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11215 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11216 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11217 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11219 if (ndr_flags
& NDR_BUFFERS
) {
11220 if (r
->attribute_name
) {
11221 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11222 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11223 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11224 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11226 if (r
->originating_dsa_dn
) {
11227 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11228 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11230 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
));
11233 return NDR_ERR_SUCCESS
;
11236 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11238 uint32_t _ptr_attribute_name
;
11239 TALLOC_CTX
*_mem_save_attribute_name_0
;
11240 uint32_t _ptr_originating_dsa_dn
;
11241 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11242 if (ndr_flags
& NDR_SCALARS
) {
11243 NDR_CHECK(ndr_pull_align(ndr
, 8));
11244 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11245 if (_ptr_attribute_name
) {
11246 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11248 r
->attribute_name
= NULL
;
11250 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11251 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11252 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11253 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11254 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11255 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11256 if (_ptr_originating_dsa_dn
) {
11257 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11259 r
->originating_dsa_dn
= NULL
;
11261 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11263 if (ndr_flags
& NDR_BUFFERS
) {
11264 if (r
->attribute_name
) {
11265 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11266 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11267 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11268 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11269 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11270 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
));
11272 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11273 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11274 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11276 if (r
->originating_dsa_dn
) {
11277 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11278 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11279 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11280 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11281 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11282 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
));
11284 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11285 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
));
11286 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11289 return NDR_ERR_SUCCESS
;
11292 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11294 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11296 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11298 if (r
->attribute_name
) {
11299 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11302 ndr_print_uint32(ndr
, "version", r
->version
);
11303 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11304 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11305 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11306 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11307 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11309 if (r
->originating_dsa_dn
) {
11310 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11316 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11318 uint32_t cntr_array_0
;
11319 if (ndr_flags
& NDR_SCALARS
) {
11320 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11321 NDR_CHECK(ndr_push_align(ndr
, 8));
11322 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11324 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11325 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11327 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11329 if (ndr_flags
& NDR_BUFFERS
) {
11330 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11331 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11334 return NDR_ERR_SUCCESS
;
11337 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11339 uint32_t cntr_array_0
;
11340 TALLOC_CTX
*_mem_save_array_0
;
11341 if (ndr_flags
& NDR_SCALARS
) {
11342 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11343 NDR_CHECK(ndr_pull_align(ndr
, 8));
11344 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11345 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11346 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11347 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11348 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11349 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11350 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11352 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11354 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11356 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11358 if (ndr_flags
& NDR_BUFFERS
) {
11359 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11360 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11361 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11362 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11364 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11366 return NDR_ERR_SUCCESS
;
11369 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11371 uint32_t cntr_array_0
;
11372 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11374 ndr_print_uint32(ndr
, "count", r
->count
);
11375 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11376 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11378 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11380 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11381 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11389 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11391 if (ndr_flags
& NDR_SCALARS
) {
11392 NDR_CHECK(ndr_push_align(ndr
, 8));
11393 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11394 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11395 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11396 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11397 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11398 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11399 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11400 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11401 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11402 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11403 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11404 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11405 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11407 if (ndr_flags
& NDR_BUFFERS
) {
11408 if (r
->attribute_name
) {
11409 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11410 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11411 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11412 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11414 if (r
->object_dn
) {
11415 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11416 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11417 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11418 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11421 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11423 if (r
->originating_dsa_dn
) {
11424 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11425 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11426 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11427 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
));
11430 return NDR_ERR_SUCCESS
;
11433 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11435 uint32_t _ptr_attribute_name
;
11436 TALLOC_CTX
*_mem_save_attribute_name_0
;
11437 uint32_t _ptr_object_dn
;
11438 TALLOC_CTX
*_mem_save_object_dn_0
;
11439 uint32_t _ptr_binary
;
11440 TALLOC_CTX
*_mem_save_binary_0
;
11441 uint32_t _ptr_originating_dsa_dn
;
11442 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11443 if (ndr_flags
& NDR_SCALARS
) {
11444 NDR_CHECK(ndr_pull_align(ndr
, 8));
11445 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11446 if (_ptr_attribute_name
) {
11447 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11449 r
->attribute_name
= NULL
;
11451 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11452 if (_ptr_object_dn
) {
11453 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11455 r
->object_dn
= NULL
;
11457 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11458 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11460 NDR_PULL_ALLOC(ndr
, r
->binary
);
11464 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11465 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11466 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11467 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11468 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11469 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11470 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11471 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11472 if (_ptr_originating_dsa_dn
) {
11473 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11475 r
->originating_dsa_dn
= NULL
;
11477 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11479 if (ndr_flags
& NDR_BUFFERS
) {
11480 if (r
->attribute_name
) {
11481 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11482 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11483 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11484 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11485 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11486 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
));
11488 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11489 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11490 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11492 if (r
->object_dn
) {
11493 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11494 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11495 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11496 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11497 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11498 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
));
11500 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11501 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11502 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11505 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11506 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11507 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11508 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11510 if (r
->originating_dsa_dn
) {
11511 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11512 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11513 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11514 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11515 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11516 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
));
11518 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11519 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
));
11520 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11523 return NDR_ERR_SUCCESS
;
11526 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11528 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
11530 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11532 if (r
->attribute_name
) {
11533 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11536 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11538 if (r
->object_dn
) {
11539 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11542 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
);
11543 ndr_print_ptr(ndr
, "binary", r
->binary
);
11546 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11549 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11550 ndr_print_NTTIME(ndr
, "created", r
->created
);
11551 ndr_print_uint32(ndr
, "version", r
->version
);
11552 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11553 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11554 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11555 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11556 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11558 if (r
->originating_dsa_dn
) {
11559 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11565 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11567 uint32_t cntr_array_0
;
11568 if (ndr_flags
& NDR_SCALARS
) {
11569 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11570 NDR_CHECK(ndr_push_align(ndr
, 8));
11571 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11572 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11573 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11574 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11576 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11578 if (ndr_flags
& NDR_BUFFERS
) {
11579 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11580 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11583 return NDR_ERR_SUCCESS
;
11586 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11588 uint32_t cntr_array_0
;
11589 TALLOC_CTX
*_mem_save_array_0
;
11590 if (ndr_flags
& NDR_SCALARS
) {
11591 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11592 NDR_CHECK(ndr_pull_align(ndr
, 8));
11593 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11594 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11595 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11596 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11597 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11598 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11599 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11601 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11603 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11605 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11607 if (ndr_flags
& NDR_BUFFERS
) {
11608 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11609 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11610 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11611 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11613 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11615 return NDR_ERR_SUCCESS
;
11618 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11620 uint32_t cntr_array_0
;
11621 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11623 ndr_print_uint32(ndr
, "count", r
->count
);
11624 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11625 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11627 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11629 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11630 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11638 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
11640 if (ndr_flags
& NDR_SCALARS
) {
11641 NDR_CHECK(ndr_push_align(ndr
, 8));
11642 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
11643 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11644 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11645 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11646 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
11648 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11649 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11650 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
11651 ndr
->flags
= _flags_save_ipv4address
;
11653 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11654 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11656 if (ndr_flags
& NDR_BUFFERS
) {
11658 return NDR_ERR_SUCCESS
;
11661 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
11663 if (ndr_flags
& NDR_SCALARS
) {
11664 NDR_CHECK(ndr_pull_align(ndr
, 8));
11665 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
11666 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11667 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11668 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11669 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
11671 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11672 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11673 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
11674 ndr
->flags
= _flags_save_ipv4address
;
11676 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11677 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11679 if (ndr_flags
& NDR_BUFFERS
) {
11681 return NDR_ERR_SUCCESS
;
11684 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
11686 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
11688 ndr_print_hyper(ndr
, "u1", r
->u1
);
11689 ndr_print_uint32(ndr
, "u2", r
->u2
);
11690 ndr_print_uint32(ndr
, "u3", r
->u3
);
11691 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
11692 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
11693 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
11694 ndr_print_uint32(ndr
, "u5", r
->u5
);
11698 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11700 uint32_t cntr_array_0
;
11701 if (ndr_flags
& NDR_SCALARS
) {
11702 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11703 NDR_CHECK(ndr_push_align(ndr
, 8));
11704 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11705 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11706 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11707 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11709 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11711 if (ndr_flags
& NDR_BUFFERS
) {
11713 return NDR_ERR_SUCCESS
;
11716 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
11718 uint32_t cntr_array_0
;
11719 TALLOC_CTX
*_mem_save_array_0
;
11720 if (ndr_flags
& NDR_SCALARS
) {
11721 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11722 NDR_CHECK(ndr_pull_align(ndr
, 8));
11723 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11724 if (r
->count
> 10000) {
11725 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11727 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11728 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11729 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11730 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11731 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11734 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11736 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11738 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11740 if (ndr_flags
& NDR_BUFFERS
) {
11742 return NDR_ERR_SUCCESS
;
11745 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11747 uint32_t cntr_array_0
;
11748 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
11750 ndr_print_uint32(ndr
, "count", r
->count
);
11751 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11752 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11754 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11756 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11757 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
11765 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
11767 if (ndr_flags
& NDR_SCALARS
) {
11768 NDR_CHECK(ndr_push_align(ndr
, 8));
11769 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
11770 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
11771 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11772 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
11774 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11775 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
11776 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
11777 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11779 if (ndr_flags
& NDR_BUFFERS
) {
11781 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11782 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11784 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11787 return NDR_ERR_SUCCESS
;
11790 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
11792 uint32_t _ptr_str1
;
11793 TALLOC_CTX
*_mem_save_str1_0
;
11794 if (ndr_flags
& NDR_SCALARS
) {
11795 NDR_CHECK(ndr_pull_align(ndr
, 8));
11796 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
11798 NDR_PULL_ALLOC(ndr
, r
->str1
);
11802 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
11803 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11804 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11805 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
11806 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11807 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
11808 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
11809 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11811 if (ndr_flags
& NDR_BUFFERS
) {
11813 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11814 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
11815 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
11816 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
11817 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
11818 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
));
11820 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
11821 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
11822 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
11825 return NDR_ERR_SUCCESS
;
11828 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
11830 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
11832 ndr_print_ptr(ndr
, "str1", r
->str1
);
11835 ndr_print_string(ndr
, "str1", r
->str1
);
11838 ndr_print_uint32(ndr
, "u1", r
->u1
);
11839 ndr_print_uint32(ndr
, "u2", r
->u2
);
11840 ndr_print_uint32(ndr
, "u3", r
->u3
);
11841 ndr_print_uint32(ndr
, "u4", r
->u4
);
11842 ndr_print_uint32(ndr
, "u5", r
->u5
);
11843 ndr_print_hyper(ndr
, "u6", r
->u6
);
11844 ndr_print_uint32(ndr
, "u7", r
->u7
);
11848 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
11850 uint32_t cntr_array_0
;
11851 if (ndr_flags
& NDR_SCALARS
) {
11852 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11853 NDR_CHECK(ndr_push_align(ndr
, 8));
11854 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11855 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11856 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11857 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11859 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11861 if (ndr_flags
& NDR_BUFFERS
) {
11862 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11863 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11866 return NDR_ERR_SUCCESS
;
11869 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
11871 uint32_t cntr_array_0
;
11872 TALLOC_CTX
*_mem_save_array_0
;
11873 if (ndr_flags
& NDR_SCALARS
) {
11874 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11875 NDR_CHECK(ndr_pull_align(ndr
, 8));
11876 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11877 if (r
->count
> 256) {
11878 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11880 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11881 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11882 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11883 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11884 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11885 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11887 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11889 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11891 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11893 if (ndr_flags
& NDR_BUFFERS
) {
11894 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11895 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11896 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11897 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11901 return NDR_ERR_SUCCESS
;
11904 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
11906 uint32_t cntr_array_0
;
11907 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
11909 ndr_print_uint32(ndr
, "count", r
->count
);
11910 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11911 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11913 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11915 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11916 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
11924 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
11926 if (ndr_flags
& NDR_SCALARS
) {
11927 int level
= ndr_push_get_switch_value(ndr
, r
);
11928 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
11929 NDR_CHECK(ndr_push_union_align(ndr
, 5));
11931 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
11932 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
11935 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
11936 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
11939 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
11940 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
11943 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
11944 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
11947 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
11948 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
11951 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
11952 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
11955 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
11956 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
11959 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
11960 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
11963 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
11964 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
11967 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
11968 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
11971 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
11972 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
11975 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
11976 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->repsto
));
11979 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
11980 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->clientctx
));
11983 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
11984 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->udv1
));
11987 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
11988 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->srvoutgoingcalls
));
11992 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
11995 if (ndr_flags
& NDR_BUFFERS
) {
11996 int level
= ndr_push_get_switch_value(ndr
, r
);
11998 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
11999 if (r
->neighbours
) {
12000 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12004 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12006 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12010 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12011 if (r
->objmetadata
) {
12012 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12016 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12017 if (r
->connectfailures
) {
12018 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12022 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12023 if (r
->linkfailures
) {
12024 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12028 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12029 if (r
->pendingops
) {
12030 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12034 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12035 if (r
->attrvalmetadata
) {
12036 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12040 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12042 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12046 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12048 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12052 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12053 if (r
->objmetadata2
) {
12054 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12058 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12059 if (r
->attrvalmetadata2
) {
12060 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12064 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12066 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
12070 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12071 if (r
->clientctx
) {
12072 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
12076 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12078 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
12082 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12083 if (r
->srvoutgoingcalls
) {
12084 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
12089 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12092 return NDR_ERR_SUCCESS
;
12095 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12099 TALLOC_CTX
*_mem_save_neighbours_0
;
12100 TALLOC_CTX
*_mem_save_cursors_0
;
12101 TALLOC_CTX
*_mem_save_objmetadata_0
;
12102 TALLOC_CTX
*_mem_save_connectfailures_0
;
12103 TALLOC_CTX
*_mem_save_linkfailures_0
;
12104 TALLOC_CTX
*_mem_save_pendingops_0
;
12105 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12106 TALLOC_CTX
*_mem_save_cursors2_0
;
12107 TALLOC_CTX
*_mem_save_cursors3_0
;
12108 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12109 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12110 TALLOC_CTX
*_mem_save_repsto_0
;
12111 TALLOC_CTX
*_mem_save_clientctx_0
;
12112 TALLOC_CTX
*_mem_save_udv1_0
;
12113 TALLOC_CTX
*_mem_save_srvoutgoingcalls_0
;
12114 level
= ndr_pull_get_switch_value(ndr
, r
);
12115 if (ndr_flags
& NDR_SCALARS
) {
12116 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12117 if (_level
!= level
) {
12118 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12120 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12122 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12123 uint32_t _ptr_neighbours
;
12124 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12125 if (_ptr_neighbours
) {
12126 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12128 r
->neighbours
= NULL
;
12132 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12133 uint32_t _ptr_cursors
;
12134 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12135 if (_ptr_cursors
) {
12136 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12142 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12143 uint32_t _ptr_objmetadata
;
12144 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12145 if (_ptr_objmetadata
) {
12146 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12148 r
->objmetadata
= NULL
;
12152 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12153 uint32_t _ptr_connectfailures
;
12154 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12155 if (_ptr_connectfailures
) {
12156 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12158 r
->connectfailures
= NULL
;
12162 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12163 uint32_t _ptr_linkfailures
;
12164 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12165 if (_ptr_linkfailures
) {
12166 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12168 r
->linkfailures
= NULL
;
12172 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12173 uint32_t _ptr_pendingops
;
12174 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12175 if (_ptr_pendingops
) {
12176 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12178 r
->pendingops
= NULL
;
12182 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12183 uint32_t _ptr_attrvalmetadata
;
12184 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12185 if (_ptr_attrvalmetadata
) {
12186 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12188 r
->attrvalmetadata
= NULL
;
12192 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12193 uint32_t _ptr_cursors2
;
12194 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12195 if (_ptr_cursors2
) {
12196 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12198 r
->cursors2
= NULL
;
12202 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12203 uint32_t _ptr_cursors3
;
12204 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12205 if (_ptr_cursors3
) {
12206 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12208 r
->cursors3
= NULL
;
12212 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12213 uint32_t _ptr_objmetadata2
;
12214 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12215 if (_ptr_objmetadata2
) {
12216 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12218 r
->objmetadata2
= NULL
;
12222 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12223 uint32_t _ptr_attrvalmetadata2
;
12224 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12225 if (_ptr_attrvalmetadata2
) {
12226 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12228 r
->attrvalmetadata2
= NULL
;
12232 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
12233 uint32_t _ptr_repsto
;
12234 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_repsto
));
12236 NDR_PULL_ALLOC(ndr
, r
->repsto
);
12242 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
12243 uint32_t _ptr_clientctx
;
12244 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_clientctx
));
12245 if (_ptr_clientctx
) {
12246 NDR_PULL_ALLOC(ndr
, r
->clientctx
);
12248 r
->clientctx
= NULL
;
12252 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
12253 uint32_t _ptr_udv1
;
12254 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_udv1
));
12256 NDR_PULL_ALLOC(ndr
, r
->udv1
);
12262 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
12263 uint32_t _ptr_srvoutgoingcalls
;
12264 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_srvoutgoingcalls
));
12265 if (_ptr_srvoutgoingcalls
) {
12266 NDR_PULL_ALLOC(ndr
, r
->srvoutgoingcalls
);
12268 r
->srvoutgoingcalls
= NULL
;
12273 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12276 if (ndr_flags
& NDR_BUFFERS
) {
12278 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12279 if (r
->neighbours
) {
12280 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12281 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12282 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12283 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12287 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12289 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12290 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12291 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12292 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12296 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12297 if (r
->objmetadata
) {
12298 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12299 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12300 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12301 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12305 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12306 if (r
->connectfailures
) {
12307 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12308 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12310 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12314 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12315 if (r
->linkfailures
) {
12316 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12317 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12318 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12319 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12323 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12324 if (r
->pendingops
) {
12325 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12326 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12328 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12332 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12333 if (r
->attrvalmetadata
) {
12334 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12335 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12336 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12337 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12341 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12343 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12344 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12346 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12350 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12352 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12353 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12354 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12355 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12359 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12360 if (r
->objmetadata2
) {
12361 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12362 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12363 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12364 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12368 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12369 if (r
->attrvalmetadata2
) {
12370 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12371 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12372 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12373 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12377 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12379 _mem_save_repsto_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12380 NDR_PULL_SET_MEM_CTX(ndr
, r
->repsto
, 0);
12381 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
12382 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_repsto_0
, 0);
12386 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12387 if (r
->clientctx
) {
12388 _mem_save_clientctx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12389 NDR_PULL_SET_MEM_CTX(ndr
, r
->clientctx
, 0);
12390 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
12391 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_clientctx_0
, 0);
12395 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12397 _mem_save_udv1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12398 NDR_PULL_SET_MEM_CTX(ndr
, r
->udv1
, 0);
12399 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
12400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_udv1_0
, 0);
12404 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12405 if (r
->srvoutgoingcalls
) {
12406 _mem_save_srvoutgoingcalls_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12407 NDR_PULL_SET_MEM_CTX(ndr
, r
->srvoutgoingcalls
, 0);
12408 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
12409 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_srvoutgoingcalls_0
, 0);
12414 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12417 return NDR_ERR_SUCCESS
;
12420 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12423 level
= ndr_print_get_switch_value(ndr
, r
);
12424 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12426 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12427 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12429 if (r
->neighbours
) {
12430 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12435 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12436 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12439 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12444 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12445 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12447 if (r
->objmetadata
) {
12448 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12453 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12454 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12456 if (r
->connectfailures
) {
12457 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12462 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12463 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12465 if (r
->linkfailures
) {
12466 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12471 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12472 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12474 if (r
->pendingops
) {
12475 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12480 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12481 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12483 if (r
->attrvalmetadata
) {
12484 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12489 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12490 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12493 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
12498 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12499 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
12502 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
12507 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12508 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
12510 if (r
->objmetadata2
) {
12511 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
12516 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12517 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12519 if (r
->attrvalmetadata2
) {
12520 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12525 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12526 ndr_print_ptr(ndr
, "repsto", r
->repsto
);
12529 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "repsto", r
->repsto
);
12534 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12535 ndr_print_ptr(ndr
, "clientctx", r
->clientctx
);
12537 if (r
->clientctx
) {
12538 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "clientctx", r
->clientctx
);
12543 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12544 ndr_print_ptr(ndr
, "udv1", r
->udv1
);
12547 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "udv1", r
->udv1
);
12552 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12553 ndr_print_ptr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
12555 if (r
->srvoutgoingcalls
) {
12556 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
12562 ndr_print_bad_level(ndr
, name
, level
);
12566 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12568 if (ndr_flags
& NDR_SCALARS
) {
12569 int level
= ndr_push_get_switch_value(ndr
, r
);
12570 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12571 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12574 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12578 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12581 if (ndr_flags
& NDR_BUFFERS
) {
12582 int level
= ndr_push_get_switch_value(ndr
, r
);
12585 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12589 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12592 return NDR_ERR_SUCCESS
;
12595 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
12599 level
= ndr_pull_get_switch_value(ndr
, r
);
12600 if (ndr_flags
& NDR_SCALARS
) {
12601 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12602 if (_level
!= level
) {
12603 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12605 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12608 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12612 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12615 if (ndr_flags
& NDR_BUFFERS
) {
12618 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12622 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12625 return NDR_ERR_SUCCESS
;
12628 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12631 level
= ndr_print_get_switch_value(ndr
, r
);
12632 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
12635 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
12639 ndr_print_bad_level(ndr
, name
, level
);
12643 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12645 uint32_t cntr_req_array_1
;
12646 if (ndr_flags
& NDR_SCALARS
) {
12647 NDR_CHECK(ndr_push_align(ndr
, 5));
12648 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12649 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
12650 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12652 if (ndr_flags
& NDR_BUFFERS
) {
12653 if (r
->req_array
) {
12654 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
12655 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12656 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
12658 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12659 if (r
->req_array
[cntr_req_array_1
]) {
12660 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12665 return NDR_ERR_SUCCESS
;
12668 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
12670 uint32_t _ptr_req_array
;
12671 uint32_t cntr_req_array_1
;
12672 TALLOC_CTX
*_mem_save_req_array_0
;
12673 TALLOC_CTX
*_mem_save_req_array_1
;
12674 TALLOC_CTX
*_mem_save_req_array_2
;
12675 if (ndr_flags
& NDR_SCALARS
) {
12676 NDR_CHECK(ndr_pull_align(ndr
, 5));
12677 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12678 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12679 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12681 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12682 if (_ptr_req_array
) {
12683 NDR_PULL_ALLOC(ndr
, r
->req_array
);
12685 r
->req_array
= NULL
;
12687 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12689 if (ndr_flags
& NDR_BUFFERS
) {
12690 if (r
->req_array
) {
12691 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12692 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12693 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
12694 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
12695 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12696 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12697 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12698 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12699 if (_ptr_req_array
) {
12700 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
12702 r
->req_array
[cntr_req_array_1
] = NULL
;
12705 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12706 if (r
->req_array
[cntr_req_array_1
]) {
12707 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12708 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
12709 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12710 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
12713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
12714 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
12716 if (r
->req_array
) {
12717 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
12720 return NDR_ERR_SUCCESS
;
12723 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12725 uint32_t cntr_req_array_1
;
12726 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
12728 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
12729 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
12731 if (r
->req_array
) {
12732 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
12734 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
12736 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
12737 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12739 if (r
->req_array
[cntr_req_array_1
]) {
12740 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12752 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
12754 if (ndr_flags
& NDR_SCALARS
) {
12755 int level
= ndr_push_get_switch_value(ndr
, r
);
12756 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12757 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12760 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12764 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12767 if (ndr_flags
& NDR_BUFFERS
) {
12768 int level
= ndr_push_get_switch_value(ndr
, r
);
12771 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12775 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12778 return NDR_ERR_SUCCESS
;
12781 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
12785 level
= ndr_pull_get_switch_value(ndr
, r
);
12786 if (ndr_flags
& NDR_SCALARS
) {
12787 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12788 if (_level
!= level
) {
12789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12791 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12794 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12798 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12801 if (ndr_flags
& NDR_BUFFERS
) {
12804 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12808 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12811 return NDR_ERR_SUCCESS
;
12814 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
12817 level
= ndr_print_get_switch_value(ndr
, r
);
12818 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
12821 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
12825 ndr_print_bad_level(ndr
, name
, level
);
12829 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
12831 if (ndr_flags
& NDR_SCALARS
) {
12832 NDR_CHECK(ndr_push_align(ndr
, 4));
12833 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
12834 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
12835 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
12837 if (ndr_flags
& NDR_BUFFERS
) {
12839 return NDR_ERR_SUCCESS
;
12842 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
12844 if (ndr_flags
& NDR_SCALARS
) {
12845 NDR_CHECK(ndr_pull_align(ndr
, 4));
12846 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
12847 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
12848 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
12850 if (ndr_flags
& NDR_BUFFERS
) {
12852 return NDR_ERR_SUCCESS
;
12855 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
12857 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
12859 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
12860 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
12864 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12866 uint32_t cntr_info_1
;
12867 if (ndr_flags
& NDR_SCALARS
) {
12868 NDR_CHECK(ndr_push_align(ndr
, 5));
12869 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
12870 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
12871 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown
));
12872 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12874 if (ndr_flags
& NDR_BUFFERS
) {
12876 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
12877 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12878 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12882 return NDR_ERR_SUCCESS
;
12885 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
12887 uint32_t _ptr_info
;
12888 uint32_t cntr_info_1
;
12889 TALLOC_CTX
*_mem_save_info_0
;
12890 TALLOC_CTX
*_mem_save_info_1
;
12891 if (ndr_flags
& NDR_SCALARS
) {
12892 NDR_CHECK(ndr_pull_align(ndr
, 5));
12893 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
12894 if (r
->num_info
> 10000) {
12895 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12897 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
12899 NDR_PULL_ALLOC(ndr
, r
->info
);
12903 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown
));
12904 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12906 if (ndr_flags
& NDR_BUFFERS
) {
12908 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12909 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12910 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
12911 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
12912 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12913 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12914 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12915 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12917 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
12918 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
12921 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
12924 return NDR_ERR_SUCCESS
;
12927 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12929 uint32_t cntr_info_1
;
12930 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
12932 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
12933 ndr_print_ptr(ndr
, "info", r
->info
);
12936 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
12938 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
12940 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
12941 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
12948 ndr_print_uint32(ndr
, "unknown", r
->unknown
);
12952 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
12954 if (ndr_flags
& NDR_SCALARS
) {
12955 int level
= ndr_push_get_switch_value(ndr
, r
);
12956 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
12957 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12960 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12964 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12967 if (ndr_flags
& NDR_BUFFERS
) {
12968 int level
= ndr_push_get_switch_value(ndr
, r
);
12971 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12975 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12978 return NDR_ERR_SUCCESS
;
12981 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
12985 level
= ndr_pull_get_switch_value(ndr
, r
);
12986 if (ndr_flags
& NDR_SCALARS
) {
12987 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
12988 if (_level
!= level
) {
12989 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12991 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12994 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12998 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13001 if (ndr_flags
& NDR_BUFFERS
) {
13004 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
13008 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13011 return NDR_ERR_SUCCESS
;
13014 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
13017 level
= ndr_print_get_switch_value(ndr
, r
);
13018 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13021 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13025 ndr_print_bad_level(ndr
, name
, level
);
13029 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13031 uint32_t cntr_site_to_1
;
13032 if (ndr_flags
& NDR_SCALARS
) {
13033 NDR_CHECK(ndr_push_align(ndr
, 5));
13034 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13035 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13036 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13037 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13038 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13040 if (ndr_flags
& NDR_BUFFERS
) {
13041 if (r
->site_from
) {
13042 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13043 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13044 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13045 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13048 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13049 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13050 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13052 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13053 if (r
->site_to
[cntr_site_to_1
]) {
13054 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13056 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13057 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
));
13062 return NDR_ERR_SUCCESS
;
13065 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13067 uint32_t _ptr_site_from
;
13068 TALLOC_CTX
*_mem_save_site_from_0
;
13069 uint32_t _ptr_site_to
;
13070 uint32_t cntr_site_to_1
;
13071 TALLOC_CTX
*_mem_save_site_to_0
;
13072 TALLOC_CTX
*_mem_save_site_to_1
;
13073 TALLOC_CTX
*_mem_save_site_to_2
;
13074 if (ndr_flags
& NDR_SCALARS
) {
13075 NDR_CHECK(ndr_pull_align(ndr
, 5));
13076 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13077 if (_ptr_site_from
) {
13078 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13080 r
->site_from
= NULL
;
13082 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13083 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13084 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13086 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13087 if (_ptr_site_to
) {
13088 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13093 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13095 if (ndr_flags
& NDR_BUFFERS
) {
13096 if (r
->site_from
) {
13097 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13098 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13099 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13100 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13101 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13102 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
));
13104 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13105 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13106 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13109 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13110 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13111 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13112 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13113 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13114 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13115 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13116 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13117 if (_ptr_site_to
) {
13118 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13120 r
->site_to
[cntr_site_to_1
] = NULL
;
13123 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13124 if (r
->site_to
[cntr_site_to_1
]) {
13125 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13126 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13127 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13128 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13129 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
])) {
13130 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
]));
13132 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13133 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
));
13134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13137 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13138 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13141 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13144 return NDR_ERR_SUCCESS
;
13147 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13149 uint32_t cntr_site_to_1
;
13150 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13152 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13154 if (r
->site_from
) {
13155 ndr_print_string(ndr
, "site_from", r
->site_from
);
13158 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13159 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13162 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13164 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13166 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13167 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13169 if (r
->site_to
[cntr_site_to_1
]) {
13170 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13179 ndr_print_uint32(ndr
, "flags", r
->flags
);
13183 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13185 if (ndr_flags
& NDR_SCALARS
) {
13186 int level
= ndr_push_get_switch_value(ndr
, r
);
13187 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
13188 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13191 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13195 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13198 if (ndr_flags
& NDR_BUFFERS
) {
13199 int level
= ndr_push_get_switch_value(ndr
, r
);
13202 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13206 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13209 return NDR_ERR_SUCCESS
;
13212 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13216 level
= ndr_pull_get_switch_value(ndr
, r
);
13217 if (ndr_flags
& NDR_SCALARS
) {
13218 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
13219 if (_level
!= level
) {
13220 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13222 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13225 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13229 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13232 if (ndr_flags
& NDR_BUFFERS
) {
13235 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13239 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13242 return NDR_ERR_SUCCESS
;
13245 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13248 level
= ndr_print_get_switch_value(ndr
, r
);
13249 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13252 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13256 ndr_print_bad_level(ndr
, name
, level
);
13260 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13262 if (flags
& NDR_IN
) {
13263 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13264 if (r
->in
.bind_guid
) {
13265 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13267 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13268 if (r
->in
.bind_info
) {
13269 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13272 if (flags
& NDR_OUT
) {
13273 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13274 if (r
->out
.bind_info
) {
13275 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13277 if (r
->out
.bind_handle
== NULL
) {
13278 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13280 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13281 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13283 return NDR_ERR_SUCCESS
;
13286 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13288 uint32_t _ptr_bind_guid
;
13289 uint32_t _ptr_bind_info
;
13290 TALLOC_CTX
*_mem_save_bind_guid_0
;
13291 TALLOC_CTX
*_mem_save_bind_info_0
;
13292 TALLOC_CTX
*_mem_save_bind_handle_0
;
13293 if (flags
& NDR_IN
) {
13294 ZERO_STRUCT(r
->out
);
13296 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13297 if (_ptr_bind_guid
) {
13298 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13300 r
->in
.bind_guid
= NULL
;
13302 if (r
->in
.bind_guid
) {
13303 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13304 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13305 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13306 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13308 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13309 if (_ptr_bind_info
) {
13310 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13312 r
->in
.bind_info
= NULL
;
13314 if (r
->in
.bind_info
) {
13315 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13316 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13317 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13320 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13321 ZERO_STRUCTP(r
->out
.bind_handle
);
13323 if (flags
& NDR_OUT
) {
13324 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13325 if (_ptr_bind_info
) {
13326 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13328 r
->out
.bind_info
= NULL
;
13330 if (r
->out
.bind_info
) {
13331 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13332 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13333 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13334 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13336 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13337 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13339 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13340 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13341 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13342 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13343 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13345 return NDR_ERR_SUCCESS
;
13348 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13350 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13352 if (flags
& NDR_SET_VALUES
) {
13353 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13355 if (flags
& NDR_IN
) {
13356 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13358 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13360 if (r
->in
.bind_guid
) {
13361 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13364 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13366 if (r
->in
.bind_info
) {
13367 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13372 if (flags
& NDR_OUT
) {
13373 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13375 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13377 if (r
->out
.bind_info
) {
13378 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13381 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13383 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13385 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13391 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13393 if (flags
& NDR_IN
) {
13394 if (r
->in
.bind_handle
== NULL
) {
13395 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13397 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13399 if (flags
& NDR_OUT
) {
13400 if (r
->out
.bind_handle
== NULL
) {
13401 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13403 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13404 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13406 return NDR_ERR_SUCCESS
;
13409 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13411 TALLOC_CTX
*_mem_save_bind_handle_0
;
13412 if (flags
& NDR_IN
) {
13413 ZERO_STRUCT(r
->out
);
13415 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13416 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13418 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13419 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13420 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13421 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13422 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13423 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13425 if (flags
& NDR_OUT
) {
13426 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13427 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13429 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13430 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13431 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13432 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13433 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13435 return NDR_ERR_SUCCESS
;
13438 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13440 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13442 if (flags
& NDR_SET_VALUES
) {
13443 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13445 if (flags
& NDR_IN
) {
13446 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13448 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13450 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13454 if (flags
& NDR_OUT
) {
13455 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13457 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13459 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13461 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13467 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13469 if (flags
& NDR_IN
) {
13470 if (r
->in
.bind_handle
== NULL
) {
13471 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13473 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13474 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13475 if (r
->in
.req
== NULL
) {
13476 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13478 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13479 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13481 if (flags
& NDR_OUT
) {
13482 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13484 return NDR_ERR_SUCCESS
;
13487 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
13489 TALLOC_CTX
*_mem_save_bind_handle_0
;
13490 TALLOC_CTX
*_mem_save_req_0
;
13491 if (flags
& NDR_IN
) {
13492 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13493 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13495 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13496 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13497 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13498 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13499 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13500 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13501 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13503 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13504 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13505 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13506 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13507 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13509 if (flags
& NDR_OUT
) {
13510 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13512 return NDR_ERR_SUCCESS
;
13515 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13517 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
13519 if (flags
& NDR_SET_VALUES
) {
13520 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13522 if (flags
& NDR_IN
) {
13523 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
13525 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13527 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13529 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13530 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13532 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13533 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", r
->in
.req
);
13537 if (flags
& NDR_OUT
) {
13538 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
13540 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13546 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13548 if (flags
& NDR_IN
) {
13549 if (r
->in
.bind_handle
== NULL
) {
13550 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13552 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13553 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13554 if (r
->in
.req
== NULL
) {
13555 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13557 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13558 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13560 if (flags
& NDR_OUT
) {
13561 if (r
->out
.level_out
== NULL
) {
13562 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13564 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13565 if (r
->out
.ctr
== NULL
) {
13566 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13568 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13569 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13570 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13572 return NDR_ERR_SUCCESS
;
13575 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
13577 TALLOC_CTX
*_mem_save_bind_handle_0
;
13578 TALLOC_CTX
*_mem_save_req_0
;
13579 TALLOC_CTX
*_mem_save_level_out_0
;
13580 TALLOC_CTX
*_mem_save_ctr_0
;
13581 if (flags
& NDR_IN
) {
13582 ZERO_STRUCT(r
->out
);
13584 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13585 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13587 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13588 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13589 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13590 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13591 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13592 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13593 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13595 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13596 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13597 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13598 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13599 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13600 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13601 ZERO_STRUCTP(r
->out
.level_out
);
13602 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13603 ZERO_STRUCTP(r
->out
.ctr
);
13605 if (flags
& NDR_OUT
) {
13606 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13607 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13609 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13610 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13611 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13612 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13613 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13614 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13616 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13617 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13618 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13620 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13621 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13623 return NDR_ERR_SUCCESS
;
13626 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13628 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
13630 if (flags
& NDR_SET_VALUES
) {
13631 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13633 if (flags
& NDR_IN
) {
13634 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
13636 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13638 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13640 ndr_print_int32(ndr
, "level", r
->in
.level
);
13641 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13643 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13644 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
13648 if (flags
& NDR_OUT
) {
13649 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
13651 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13653 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
13655 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13657 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13658 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
13660 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13666 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13668 if (flags
& NDR_IN
) {
13669 if (r
->in
.bind_handle
== NULL
) {
13670 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13672 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13673 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13674 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13675 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13677 if (flags
& NDR_OUT
) {
13678 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13680 return NDR_ERR_SUCCESS
;
13683 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
13685 TALLOC_CTX
*_mem_save_bind_handle_0
;
13686 if (flags
& NDR_IN
) {
13687 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13688 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13690 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13691 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13692 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13693 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13694 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13695 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13696 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13698 if (flags
& NDR_OUT
) {
13699 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13701 return NDR_ERR_SUCCESS
;
13704 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13706 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
13708 if (flags
& NDR_SET_VALUES
) {
13709 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13711 if (flags
& NDR_IN
) {
13712 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
13714 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13716 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13718 ndr_print_int32(ndr
, "level", r
->in
.level
);
13719 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13720 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
13723 if (flags
& NDR_OUT
) {
13724 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
13726 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13732 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13734 if (flags
& NDR_IN
) {
13735 if (r
->in
.bind_handle
== NULL
) {
13736 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13738 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13739 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13740 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13741 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13743 if (flags
& NDR_OUT
) {
13744 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13746 return NDR_ERR_SUCCESS
;
13749 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
13751 TALLOC_CTX
*_mem_save_bind_handle_0
;
13752 if (flags
& NDR_IN
) {
13753 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13754 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13756 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13757 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13758 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13759 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13760 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13761 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13762 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13764 if (flags
& NDR_OUT
) {
13765 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13767 return NDR_ERR_SUCCESS
;
13770 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13772 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
13774 if (flags
& NDR_SET_VALUES
) {
13775 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13777 if (flags
& NDR_IN
) {
13778 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
13780 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13782 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13784 ndr_print_int32(ndr
, "level", r
->in
.level
);
13785 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13786 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
13789 if (flags
& NDR_OUT
) {
13790 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
13792 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13798 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13800 if (flags
& NDR_IN
) {
13801 if (r
->in
.bind_handle
== NULL
) {
13802 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13804 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13805 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13806 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13807 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13809 if (flags
& NDR_OUT
) {
13810 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13812 return NDR_ERR_SUCCESS
;
13815 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
13817 TALLOC_CTX
*_mem_save_bind_handle_0
;
13818 if (flags
& NDR_IN
) {
13819 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13820 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13822 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13823 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13824 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13826 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13827 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13828 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13830 if (flags
& NDR_OUT
) {
13831 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13833 return NDR_ERR_SUCCESS
;
13836 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13838 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
13840 if (flags
& NDR_SET_VALUES
) {
13841 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13843 if (flags
& NDR_IN
) {
13844 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
13846 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13848 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13850 ndr_print_int32(ndr
, "level", r
->in
.level
);
13851 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13852 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
13855 if (flags
& NDR_OUT
) {
13856 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
13858 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13864 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13866 if (flags
& NDR_IN
) {
13867 if (r
->in
.bind_handle
== NULL
) {
13868 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13870 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13871 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13872 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13873 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13875 if (flags
& NDR_OUT
) {
13876 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13878 return NDR_ERR_SUCCESS
;
13881 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
13883 TALLOC_CTX
*_mem_save_bind_handle_0
;
13884 if (flags
& NDR_IN
) {
13885 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13886 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13888 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13889 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13890 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13891 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13892 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13893 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13894 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13896 if (flags
& NDR_OUT
) {
13897 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13899 return NDR_ERR_SUCCESS
;
13902 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13904 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
13906 if (flags
& NDR_SET_VALUES
) {
13907 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13909 if (flags
& NDR_IN
) {
13910 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
13912 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13914 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13916 ndr_print_int32(ndr
, "level", r
->in
.level
);
13917 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13918 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
13921 if (flags
& NDR_OUT
) {
13922 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
13924 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13930 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13932 if (flags
& NDR_IN
) {
13934 if (flags
& NDR_OUT
) {
13935 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13937 return NDR_ERR_SUCCESS
;
13940 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
13942 if (flags
& NDR_IN
) {
13944 if (flags
& NDR_OUT
) {
13945 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13947 return NDR_ERR_SUCCESS
;
13950 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13952 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
13954 if (flags
& NDR_SET_VALUES
) {
13955 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13957 if (flags
& NDR_IN
) {
13958 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
13962 if (flags
& NDR_OUT
) {
13963 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
13965 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13971 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
13973 if (flags
& NDR_IN
) {
13974 if (r
->in
.bind_handle
== NULL
) {
13975 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13977 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13978 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
13979 if (r
->in
.req
== NULL
) {
13980 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13982 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13983 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13985 if (flags
& NDR_OUT
) {
13986 if (r
->out
.level_out
== NULL
) {
13987 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13989 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13990 if (r
->out
.ctr
== NULL
) {
13991 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13993 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13994 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13995 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13997 return NDR_ERR_SUCCESS
;
14000 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
14002 TALLOC_CTX
*_mem_save_bind_handle_0
;
14003 TALLOC_CTX
*_mem_save_req_0
;
14004 TALLOC_CTX
*_mem_save_level_out_0
;
14005 TALLOC_CTX
*_mem_save_ctr_0
;
14006 if (flags
& NDR_IN
) {
14007 ZERO_STRUCT(r
->out
);
14009 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14010 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14012 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14013 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14014 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14015 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14016 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14017 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14018 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14020 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14021 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14022 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14023 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14024 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14025 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14026 ZERO_STRUCTP(r
->out
.level_out
);
14027 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14028 ZERO_STRUCTP(r
->out
.ctr
);
14030 if (flags
& NDR_OUT
) {
14031 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14032 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14034 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14035 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14036 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14038 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14039 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14041 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14042 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14043 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14044 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14045 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14046 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14048 return NDR_ERR_SUCCESS
;
14051 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14053 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14055 if (flags
& NDR_SET_VALUES
) {
14056 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14058 if (flags
& NDR_IN
) {
14059 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14061 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14063 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14065 ndr_print_int32(ndr
, "level", r
->in
.level
);
14066 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14068 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14069 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14073 if (flags
& NDR_OUT
) {
14074 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14076 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14078 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14080 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14082 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14083 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14085 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14091 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14093 if (flags
& NDR_IN
) {
14095 if (flags
& NDR_OUT
) {
14096 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14098 return NDR_ERR_SUCCESS
;
14101 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14103 if (flags
& NDR_IN
) {
14105 if (flags
& NDR_OUT
) {
14106 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14108 return NDR_ERR_SUCCESS
;
14111 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14113 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14115 if (flags
& NDR_SET_VALUES
) {
14116 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14118 if (flags
& NDR_IN
) {
14119 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14123 if (flags
& NDR_OUT
) {
14124 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14126 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14132 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14134 if (flags
& NDR_IN
) {
14135 if (r
->in
.bind_handle
== NULL
) {
14136 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14138 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14139 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14140 if (r
->in
.req
== NULL
) {
14141 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14143 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14144 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14146 if (flags
& NDR_OUT
) {
14147 if (r
->out
.level_out
== NULL
) {
14148 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14150 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14151 if (r
->out
.info
== NULL
) {
14152 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14154 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14155 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14156 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14158 return NDR_ERR_SUCCESS
;
14161 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14163 TALLOC_CTX
*_mem_save_bind_handle_0
;
14164 TALLOC_CTX
*_mem_save_req_0
;
14165 TALLOC_CTX
*_mem_save_level_out_0
;
14166 TALLOC_CTX
*_mem_save_info_0
;
14167 if (flags
& NDR_IN
) {
14168 ZERO_STRUCT(r
->out
);
14170 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14171 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14173 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14174 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14175 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14176 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14177 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14178 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14179 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14181 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14182 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14183 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14184 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14185 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14186 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14187 ZERO_STRUCTP(r
->out
.level_out
);
14188 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14189 ZERO_STRUCTP(r
->out
.info
);
14191 if (flags
& NDR_OUT
) {
14192 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14193 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14195 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14196 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14198 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14199 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14200 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14202 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14203 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14204 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14205 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14206 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14207 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14209 return NDR_ERR_SUCCESS
;
14212 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14214 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14216 if (flags
& NDR_SET_VALUES
) {
14217 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14219 if (flags
& NDR_IN
) {
14220 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14222 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14224 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14226 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14227 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14229 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14230 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14234 if (flags
& NDR_OUT
) {
14235 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14237 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14239 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14241 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14243 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14244 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14246 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14252 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14254 if (flags
& NDR_IN
) {
14255 if (r
->in
.bind_handle
== NULL
) {
14256 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14258 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14259 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14260 if (r
->in
.req
== NULL
) {
14261 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14263 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14264 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14266 if (flags
& NDR_OUT
) {
14267 if (r
->out
.level_out
== NULL
) {
14268 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14270 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14271 if (r
->out
.ctr
== NULL
) {
14272 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14274 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14275 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14276 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14278 return NDR_ERR_SUCCESS
;
14281 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14283 TALLOC_CTX
*_mem_save_bind_handle_0
;
14284 TALLOC_CTX
*_mem_save_req_0
;
14285 TALLOC_CTX
*_mem_save_level_out_0
;
14286 TALLOC_CTX
*_mem_save_ctr_0
;
14287 if (flags
& NDR_IN
) {
14288 ZERO_STRUCT(r
->out
);
14290 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14291 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14293 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14294 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14295 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14296 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14297 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14298 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14299 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14301 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14302 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14303 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14304 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14306 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14307 ZERO_STRUCTP(r
->out
.level_out
);
14308 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14309 ZERO_STRUCTP(r
->out
.ctr
);
14311 if (flags
& NDR_OUT
) {
14312 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14313 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14315 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14316 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14317 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14319 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14320 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14322 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14323 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14324 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14325 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14326 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14327 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14329 return NDR_ERR_SUCCESS
;
14332 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14334 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14336 if (flags
& NDR_SET_VALUES
) {
14337 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14339 if (flags
& NDR_IN
) {
14340 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14342 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14344 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14346 ndr_print_int32(ndr
, "level", r
->in
.level
);
14347 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14349 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14350 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14354 if (flags
& NDR_OUT
) {
14355 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14357 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14359 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14361 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14363 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14364 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14366 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14372 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14374 if (flags
& NDR_IN
) {
14375 if (r
->in
.bind_handle
== NULL
) {
14376 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14378 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14379 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14380 if (r
->in
.req
== NULL
) {
14381 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14383 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14384 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14386 if (flags
& NDR_OUT
) {
14387 if (r
->out
.level_out
== NULL
) {
14388 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14390 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14391 if (r
->out
.res
== NULL
) {
14392 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14394 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14395 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14396 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14398 return NDR_ERR_SUCCESS
;
14401 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14403 TALLOC_CTX
*_mem_save_bind_handle_0
;
14404 TALLOC_CTX
*_mem_save_req_0
;
14405 TALLOC_CTX
*_mem_save_level_out_0
;
14406 TALLOC_CTX
*_mem_save_res_0
;
14407 if (flags
& NDR_IN
) {
14408 ZERO_STRUCT(r
->out
);
14410 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14411 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14413 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14414 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14415 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14416 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14417 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14418 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14419 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14421 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14422 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14423 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14424 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14425 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14426 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14427 ZERO_STRUCTP(r
->out
.level_out
);
14428 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14429 ZERO_STRUCTP(r
->out
.res
);
14431 if (flags
& NDR_OUT
) {
14432 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14433 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14435 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14436 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14437 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14438 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14439 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14440 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14442 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14443 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14444 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14445 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14446 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14447 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14449 return NDR_ERR_SUCCESS
;
14452 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14454 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14456 if (flags
& NDR_SET_VALUES
) {
14457 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14459 if (flags
& NDR_IN
) {
14460 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14462 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14464 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14466 ndr_print_int32(ndr
, "level", r
->in
.level
);
14467 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14469 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14470 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14474 if (flags
& NDR_OUT
) {
14475 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14477 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14479 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14481 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14483 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14484 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14486 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14492 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14494 if (flags
& NDR_IN
) {
14495 if (r
->in
.bind_handle
== NULL
) {
14496 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14498 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14499 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14500 if (r
->in
.req
== NULL
) {
14501 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14503 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14504 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14506 if (flags
& NDR_OUT
) {
14507 if (r
->out
.level_out
== NULL
) {
14508 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14510 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14511 if (r
->out
.res
== NULL
) {
14512 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14514 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14515 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14516 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14518 return NDR_ERR_SUCCESS
;
14521 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
14523 TALLOC_CTX
*_mem_save_bind_handle_0
;
14524 TALLOC_CTX
*_mem_save_req_0
;
14525 TALLOC_CTX
*_mem_save_level_out_0
;
14526 TALLOC_CTX
*_mem_save_res_0
;
14527 if (flags
& NDR_IN
) {
14528 ZERO_STRUCT(r
->out
);
14530 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14531 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14533 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14534 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14535 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14536 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14537 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14538 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14539 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14541 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14542 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14543 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14544 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14545 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14546 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14547 ZERO_STRUCTP(r
->out
.level_out
);
14548 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14549 ZERO_STRUCTP(r
->out
.res
);
14551 if (flags
& NDR_OUT
) {
14552 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14553 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14555 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14556 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14557 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14558 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14559 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14560 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14562 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14563 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14564 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14565 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14566 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14567 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14569 return NDR_ERR_SUCCESS
;
14572 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14574 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
14576 if (flags
& NDR_SET_VALUES
) {
14577 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14579 if (flags
& NDR_IN
) {
14580 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
14582 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14584 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14586 ndr_print_int32(ndr
, "level", r
->in
.level
);
14587 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14589 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14590 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
14594 if (flags
& NDR_OUT
) {
14595 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
14597 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14599 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14601 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14603 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14604 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
14606 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14612 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14614 if (flags
& NDR_IN
) {
14616 if (flags
& NDR_OUT
) {
14617 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14619 return NDR_ERR_SUCCESS
;
14622 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14624 if (flags
& NDR_IN
) {
14626 if (flags
& NDR_OUT
) {
14627 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14629 return NDR_ERR_SUCCESS
;
14632 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14634 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
14636 if (flags
& NDR_SET_VALUES
) {
14637 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14639 if (flags
& NDR_IN
) {
14640 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14644 if (flags
& NDR_OUT
) {
14645 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14647 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14653 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14655 if (flags
& NDR_IN
) {
14656 if (r
->in
.bind_handle
== NULL
) {
14657 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14659 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14660 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14661 if (r
->in
.req
== NULL
) {
14662 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14664 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14665 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14667 if (flags
& NDR_OUT
) {
14668 if (r
->out
.level_out
== NULL
) {
14669 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14671 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14672 if (r
->out
.ctr
== NULL
) {
14673 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14675 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14676 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14677 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14679 return NDR_ERR_SUCCESS
;
14682 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
14684 TALLOC_CTX
*_mem_save_bind_handle_0
;
14685 TALLOC_CTX
*_mem_save_req_0
;
14686 TALLOC_CTX
*_mem_save_level_out_0
;
14687 TALLOC_CTX
*_mem_save_ctr_0
;
14688 if (flags
& NDR_IN
) {
14689 ZERO_STRUCT(r
->out
);
14691 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14692 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14694 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14695 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14696 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14697 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14698 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14699 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14700 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14702 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14703 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14704 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14705 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14706 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14707 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14708 ZERO_STRUCTP(r
->out
.level_out
);
14709 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14710 ZERO_STRUCTP(r
->out
.ctr
);
14712 if (flags
& NDR_OUT
) {
14713 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14714 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14716 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14717 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14718 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14719 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14720 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14721 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14723 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14724 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14725 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14726 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14727 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14728 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14730 return NDR_ERR_SUCCESS
;
14733 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14735 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
14737 if (flags
& NDR_SET_VALUES
) {
14738 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14740 if (flags
& NDR_IN
) {
14741 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
14743 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14745 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14747 ndr_print_int32(ndr
, "level", r
->in
.level
);
14748 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14750 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14751 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
14755 if (flags
& NDR_OUT
) {
14756 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
14758 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14760 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14762 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14764 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14765 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
14767 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14773 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14775 if (flags
& NDR_IN
) {
14776 if (r
->in
.bind_handle
== NULL
) {
14777 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14779 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14780 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14781 if (r
->in
.req
== NULL
) {
14782 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14784 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14785 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14787 if (flags
& NDR_OUT
) {
14788 if (r
->out
.level_out
== NULL
) {
14789 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14791 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14792 if (r
->out
.ctr
== NULL
) {
14793 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14795 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14796 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14797 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14799 return NDR_ERR_SUCCESS
;
14802 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
14804 TALLOC_CTX
*_mem_save_bind_handle_0
;
14805 TALLOC_CTX
*_mem_save_req_0
;
14806 TALLOC_CTX
*_mem_save_level_out_0
;
14807 TALLOC_CTX
*_mem_save_ctr_0
;
14808 if (flags
& NDR_IN
) {
14809 ZERO_STRUCT(r
->out
);
14811 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14812 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14814 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14815 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14816 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14818 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14819 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14820 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14822 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14823 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14824 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14825 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14826 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14827 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14828 ZERO_STRUCTP(r
->out
.level_out
);
14829 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14830 ZERO_STRUCTP(r
->out
.ctr
);
14832 if (flags
& NDR_OUT
) {
14833 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14834 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14836 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14837 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14838 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14839 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14840 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14841 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14843 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14844 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14845 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14846 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14847 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14848 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14850 return NDR_ERR_SUCCESS
;
14853 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14855 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
14857 if (flags
& NDR_SET_VALUES
) {
14858 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14860 if (flags
& NDR_IN
) {
14861 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
14863 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14865 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14867 ndr_print_int32(ndr
, "level", r
->in
.level
);
14868 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14870 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14871 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
14875 if (flags
& NDR_OUT
) {
14876 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
14878 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14880 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14882 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14884 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14885 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
14887 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14893 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14895 if (flags
& NDR_IN
) {
14896 if (r
->in
.bind_handle
== NULL
) {
14897 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14899 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14900 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14901 if (r
->in
.req
== NULL
) {
14902 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14904 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14905 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14907 if (flags
& NDR_OUT
) {
14908 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14910 return NDR_ERR_SUCCESS
;
14913 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
14915 TALLOC_CTX
*_mem_save_bind_handle_0
;
14916 TALLOC_CTX
*_mem_save_req_0
;
14917 if (flags
& NDR_IN
) {
14918 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14919 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14921 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14922 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14923 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14924 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14925 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14926 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14927 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14929 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14930 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14931 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14932 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14933 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14935 if (flags
& NDR_OUT
) {
14936 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14938 return NDR_ERR_SUCCESS
;
14941 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14943 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
14945 if (flags
& NDR_SET_VALUES
) {
14946 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14948 if (flags
& NDR_IN
) {
14949 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
14951 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14953 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14955 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14956 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14958 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14959 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
14963 if (flags
& NDR_OUT
) {
14964 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
14966 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14972 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
14974 if (flags
& NDR_IN
) {
14975 if (r
->in
.bind_handle
== NULL
) {
14976 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14978 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14979 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
14980 if (r
->in
.req
== NULL
) {
14981 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14983 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14984 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14986 if (flags
& NDR_OUT
) {
14987 if (r
->out
.info_type
== NULL
) {
14988 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14990 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
14991 if (r
->out
.info
== NULL
) {
14992 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14994 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
14995 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14996 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14998 return NDR_ERR_SUCCESS
;
15001 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
15003 TALLOC_CTX
*_mem_save_bind_handle_0
;
15004 TALLOC_CTX
*_mem_save_req_0
;
15005 TALLOC_CTX
*_mem_save_info_type_0
;
15006 TALLOC_CTX
*_mem_save_info_0
;
15007 if (flags
& NDR_IN
) {
15008 ZERO_STRUCT(r
->out
);
15010 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15011 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15013 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15014 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15015 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15016 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15017 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
15018 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15019 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15021 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15022 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15023 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15024 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15025 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15026 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15027 ZERO_STRUCTP(r
->out
.info_type
);
15028 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15029 ZERO_STRUCTP(r
->out
.info
);
15031 if (flags
& NDR_OUT
) {
15032 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15033 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15035 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15036 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15037 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15038 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15039 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15040 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15042 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15043 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15044 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15045 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15046 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15047 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15049 return NDR_ERR_SUCCESS
;
15052 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15054 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15056 if (flags
& NDR_SET_VALUES
) {
15057 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15059 if (flags
& NDR_IN
) {
15060 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15062 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15064 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15066 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15067 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15069 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15070 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15074 if (flags
& NDR_OUT
) {
15075 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15077 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15079 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15081 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15083 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15084 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15086 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15092 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15094 if (flags
& NDR_IN
) {
15096 if (flags
& NDR_OUT
) {
15097 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15099 return NDR_ERR_SUCCESS
;
15102 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15104 if (flags
& NDR_IN
) {
15106 if (flags
& NDR_OUT
) {
15107 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15109 return NDR_ERR_SUCCESS
;
15112 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15114 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15116 if (flags
& NDR_SET_VALUES
) {
15117 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15119 if (flags
& NDR_IN
) {
15120 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15124 if (flags
& NDR_OUT
) {
15125 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15127 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15133 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15135 if (flags
& NDR_IN
) {
15136 if (r
->in
.bind_handle
== NULL
) {
15137 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15139 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15140 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15141 if (r
->in
.req
== NULL
) {
15142 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15144 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15145 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15147 if (flags
& NDR_OUT
) {
15148 if (r
->out
.level_out
== NULL
) {
15149 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15151 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15152 if (r
->out
.ctr
== NULL
) {
15153 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15155 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15156 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15157 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15159 return NDR_ERR_SUCCESS
;
15162 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15164 TALLOC_CTX
*_mem_save_bind_handle_0
;
15165 TALLOC_CTX
*_mem_save_req_0
;
15166 TALLOC_CTX
*_mem_save_level_out_0
;
15167 TALLOC_CTX
*_mem_save_ctr_0
;
15168 if (flags
& NDR_IN
) {
15169 ZERO_STRUCT(r
->out
);
15171 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15172 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15174 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15175 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15176 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15177 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15178 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15179 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15180 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15182 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15183 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15184 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15185 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15186 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15187 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15188 ZERO_STRUCTP(r
->out
.level_out
);
15189 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15190 ZERO_STRUCTP(r
->out
.ctr
);
15192 if (flags
& NDR_OUT
) {
15193 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15194 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15196 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15197 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15198 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15199 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15200 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15201 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15203 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15204 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15205 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15206 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15207 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15208 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15210 return NDR_ERR_SUCCESS
;
15213 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15215 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15217 if (flags
& NDR_SET_VALUES
) {
15218 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15220 if (flags
& NDR_IN
) {
15221 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15223 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15225 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15227 ndr_print_int32(ndr
, "level", r
->in
.level
);
15228 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15230 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15231 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15235 if (flags
& NDR_OUT
) {
15236 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15238 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15240 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15242 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15244 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15245 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15247 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15253 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15255 if (flags
& NDR_IN
) {
15257 if (flags
& NDR_OUT
) {
15258 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15260 return NDR_ERR_SUCCESS
;
15263 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15265 if (flags
& NDR_IN
) {
15267 if (flags
& NDR_OUT
) {
15268 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15270 return NDR_ERR_SUCCESS
;
15273 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15275 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15277 if (flags
& NDR_SET_VALUES
) {
15278 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15280 if (flags
& NDR_IN
) {
15281 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15285 if (flags
& NDR_OUT
) {
15286 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15288 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15294 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15296 if (flags
& NDR_IN
) {
15298 if (flags
& NDR_OUT
) {
15299 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15301 return NDR_ERR_SUCCESS
;
15304 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15306 if (flags
& NDR_IN
) {
15308 if (flags
& NDR_OUT
) {
15309 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15311 return NDR_ERR_SUCCESS
;
15314 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15316 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15318 if (flags
& NDR_SET_VALUES
) {
15319 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15321 if (flags
& NDR_IN
) {
15322 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15326 if (flags
& NDR_OUT
) {
15327 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15329 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15335 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15337 if (flags
& NDR_IN
) {
15338 if (r
->in
.bind_handle
== NULL
) {
15339 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15341 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15342 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
15343 if (r
->in
.req
== NULL
) {
15344 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15346 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15347 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15349 if (flags
& NDR_OUT
) {
15350 if (r
->out
.level_out
== NULL
) {
15351 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15353 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15354 if (r
->out
.ctr
== NULL
) {
15355 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15357 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15358 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15359 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15361 return NDR_ERR_SUCCESS
;
15364 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15366 TALLOC_CTX
*_mem_save_bind_handle_0
;
15367 TALLOC_CTX
*_mem_save_req_0
;
15368 TALLOC_CTX
*_mem_save_level_out_0
;
15369 TALLOC_CTX
*_mem_save_ctr_0
;
15370 if (flags
& NDR_IN
) {
15371 ZERO_STRUCT(r
->out
);
15373 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15374 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15376 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15377 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15378 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15379 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15380 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15381 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15382 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15384 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15385 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15386 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15387 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15388 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15389 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15390 ZERO_STRUCTP(r
->out
.level_out
);
15391 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15392 ZERO_STRUCTP(r
->out
.ctr
);
15394 if (flags
& NDR_OUT
) {
15395 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15396 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15398 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15399 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15400 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15401 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15402 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15403 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15405 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15406 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15407 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15408 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15409 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15410 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15412 return NDR_ERR_SUCCESS
;
15415 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15417 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15419 if (flags
& NDR_SET_VALUES
) {
15420 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15422 if (flags
& NDR_IN
) {
15423 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15425 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15427 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15429 ndr_print_int32(ndr
, "level", r
->in
.level
);
15430 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15432 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15433 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15437 if (flags
& NDR_OUT
) {
15438 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15440 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15442 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
15444 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15446 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15447 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15449 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15455 static const struct ndr_interface_call drsuapi_calls
[] = {
15458 sizeof(struct drsuapi_DsBind
),
15459 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15460 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15461 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15465 "drsuapi_DsUnbind",
15466 sizeof(struct drsuapi_DsUnbind
),
15467 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15468 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15469 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15473 "drsuapi_DsReplicaSync",
15474 sizeof(struct drsuapi_DsReplicaSync
),
15475 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15476 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15477 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15481 "drsuapi_DsGetNCChanges",
15482 sizeof(struct drsuapi_DsGetNCChanges
),
15483 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15484 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15485 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15489 "drsuapi_DsReplicaUpdateRefs",
15490 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15491 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15492 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15493 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
15497 "drsuapi_DsReplicaAdd",
15498 sizeof(struct drsuapi_DsReplicaAdd
),
15499 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
15500 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
15501 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
15505 "drsuapi_DsReplicaDel",
15506 sizeof(struct drsuapi_DsReplicaDel
),
15507 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
15508 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
15509 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
15513 "drsuapi_DsReplicaMod",
15514 sizeof(struct drsuapi_DsReplicaMod
),
15515 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
15516 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
15517 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
15521 "DRSUAPI_VERIFY_NAMES",
15522 sizeof(struct DRSUAPI_VERIFY_NAMES
),
15523 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
15524 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
15525 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
15529 "drsuapi_DsGetMemberships",
15530 sizeof(struct drsuapi_DsGetMemberships
),
15531 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
15532 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
15533 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
15537 "DRSUAPI_INTER_DOMAIN_MOVE",
15538 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
15539 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
15540 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
15541 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
15545 "drsuapi_DsGetNT4ChangeLog",
15546 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
15547 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
15548 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
15549 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
15553 "drsuapi_DsCrackNames",
15554 sizeof(struct drsuapi_DsCrackNames
),
15555 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
15556 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
15557 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
15561 "drsuapi_DsWriteAccountSpn",
15562 sizeof(struct drsuapi_DsWriteAccountSpn
),
15563 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
15564 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
15565 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
15569 "drsuapi_DsRemoveDSServer",
15570 sizeof(struct drsuapi_DsRemoveDSServer
),
15571 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
15572 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
15573 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
15577 "DRSUAPI_REMOVE_DS_DOMAIN",
15578 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
15579 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
15580 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
15581 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
15585 "drsuapi_DsGetDomainControllerInfo",
15586 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
15587 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
15588 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
15589 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
15593 "drsuapi_DsAddEntry",
15594 sizeof(struct drsuapi_DsAddEntry
),
15595 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
15596 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
15597 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
15601 "drsuapi_DsExecuteKCC",
15602 sizeof(struct drsuapi_DsExecuteKCC
),
15603 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
15604 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
15605 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
15609 "drsuapi_DsReplicaGetInfo",
15610 sizeof(struct drsuapi_DsReplicaGetInfo
),
15611 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
15612 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
15613 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
15617 "DRSUAPI_ADD_SID_HISTORY",
15618 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
15619 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
15620 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
15621 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
15625 "drsuapi_DsGetMemberships2",
15626 sizeof(struct drsuapi_DsGetMemberships2
),
15627 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
15628 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
15629 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
15633 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15634 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
15635 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15636 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15637 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15641 "DRSUAPI_GET_OBJECT_EXISTENCE",
15642 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
15643 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
15644 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
15645 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
15649 "drsuapi_QuerySitesByCost",
15650 sizeof(struct drsuapi_QuerySitesByCost
),
15651 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
15652 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
15653 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
15656 { NULL
, 0, NULL
, NULL
, NULL
, false }
15659 static const char * const drsuapi_endpoint_strings
[] = {
15660 "ncacn_np:[\\pipe\\lsass]",
15661 "ncacn_np:[\\pipe\\protected_storage]",
15666 static const struct ndr_interface_string_array drsuapi_endpoints
= {
15668 .names
= drsuapi_endpoint_strings
15671 static const char * const drsuapi_authservice_strings
[] = {
15675 static const struct ndr_interface_string_array drsuapi_authservices
= {
15677 .names
= drsuapi_authservice_strings
15681 const struct ndr_interface_table ndr_table_drsuapi
= {
15684 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15685 NDR_DRSUAPI_VERSION
15687 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
15689 .calls
= drsuapi_calls
,
15690 .endpoints
= &drsuapi_endpoints
,
15691 .authservices
= &drsuapi_authservices