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 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
572 if (ndr_flags
& NDR_SCALARS
) {
573 NDR_CHECK(ndr_push_align(ndr
, 5));
574 if (r
->naming_context
== NULL
) {
575 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
577 NDR_CHECK(ndr_push_ref_ptr(ndr
));
578 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
580 uint32_t _flags_save_string
= ndr
->flags
;
581 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dns
));
583 ndr
->flags
= _flags_save_string
;
585 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
586 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
588 if (ndr_flags
& NDR_BUFFERS
) {
589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
591 uint32_t _flags_save_string
= ndr
->flags
;
592 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
593 if (r
->source_dsa_dns
) {
594 NDR_CHECK(ndr_push_string(ndr
, NDR_SCALARS
, r
->source_dsa_dns
));
596 ndr
->flags
= _flags_save_string
;
599 return NDR_ERR_SUCCESS
;
602 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaSyncRequest1
*r
)
604 uint32_t _ptr_naming_context
;
605 TALLOC_CTX
*_mem_save_naming_context_0
;
606 uint32_t _ptr_source_dsa_dns
;
607 TALLOC_CTX
*_mem_save_source_dsa_dns_0
;
608 if (ndr_flags
& NDR_SCALARS
) {
609 NDR_CHECK(ndr_pull_align(ndr
, 5));
610 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
611 if (_ptr_naming_context
) {
612 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
614 r
->naming_context
= NULL
;
616 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
618 uint32_t _flags_save_string
= ndr
->flags
;
619 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
620 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dns
));
621 if (_ptr_source_dsa_dns
) {
622 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dns
);
624 r
->source_dsa_dns
= NULL
;
626 ndr
->flags
= _flags_save_string
;
628 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
629 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
631 if (ndr_flags
& NDR_BUFFERS
) {
632 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
633 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
634 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
635 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
637 uint32_t _flags_save_string
= ndr
->flags
;
638 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_STR_ASCII
|LIBNDR_FLAG_STR_NULLTERM
);
639 if (r
->source_dsa_dns
) {
640 _mem_save_source_dsa_dns_0
= NDR_PULL_GET_MEM_CTX(ndr
);
641 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dns
, 0);
642 NDR_CHECK(ndr_pull_string(ndr
, NDR_SCALARS
, &r
->source_dsa_dns
));
643 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dns_0
, 0);
645 ndr
->flags
= _flags_save_string
;
648 return NDR_ERR_SUCCESS
;
651 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaSyncRequest1
*r
)
653 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSyncRequest1");
655 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
657 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
659 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
660 ndr_print_ptr(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
662 if (r
->source_dsa_dns
) {
663 ndr_print_string(ndr
, "source_dsa_dns", r
->source_dsa_dns
);
666 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
670 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaSyncRequest
*r
)
672 if (ndr_flags
& NDR_SCALARS
) {
673 int level
= ndr_push_get_switch_value(ndr
, r
);
674 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
675 NDR_CHECK(ndr_push_union_align(ndr
, 5));
678 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
682 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
685 if (ndr_flags
& NDR_BUFFERS
) {
686 int level
= ndr_push_get_switch_value(ndr
, r
);
689 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
693 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
696 return NDR_ERR_SUCCESS
;
699 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaSyncRequest
*r
)
703 level
= ndr_pull_get_switch_value(ndr
, r
);
704 if (ndr_flags
& NDR_SCALARS
) {
705 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
706 if (_level
!= level
) {
707 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
709 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
712 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
716 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
719 if (ndr_flags
& NDR_BUFFERS
) {
722 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
726 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
729 return NDR_ERR_SUCCESS
;
732 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSyncRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaSyncRequest
*r
)
735 level
= ndr_print_get_switch_value(ndr
, r
);
736 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaSyncRequest");
739 ndr_print_drsuapi_DsReplicaSyncRequest1(ndr
, "req1", &r
->req1
);
743 ndr_print_bad_level(ndr
, name
, level
);
747 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaHighWaterMark(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
749 if (ndr_flags
& NDR_SCALARS
) {
750 NDR_CHECK(ndr_push_align(ndr
, 8));
751 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
752 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->reserved_usn
));
753 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
754 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
756 if (ndr_flags
& NDR_BUFFERS
) {
758 return NDR_ERR_SUCCESS
;
761 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaHighWaterMark(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaHighWaterMark
*r
)
763 if (ndr_flags
& NDR_SCALARS
) {
764 NDR_CHECK(ndr_pull_align(ndr
, 8));
765 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
766 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->reserved_usn
));
767 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
768 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
770 if (ndr_flags
& NDR_BUFFERS
) {
772 return NDR_ERR_SUCCESS
;
775 _PUBLIC_
void ndr_print_drsuapi_DsReplicaHighWaterMark(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaHighWaterMark
*r
)
777 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaHighWaterMark");
779 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
780 ndr_print_hyper(ndr
, "reserved_usn", r
->reserved_usn
);
781 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
785 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor
*r
)
787 if (ndr_flags
& NDR_SCALARS
) {
788 NDR_CHECK(ndr_push_align(ndr
, 8));
789 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
790 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
791 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
793 if (ndr_flags
& NDR_BUFFERS
) {
795 return NDR_ERR_SUCCESS
;
798 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor
*r
)
800 if (ndr_flags
& NDR_SCALARS
) {
801 NDR_CHECK(ndr_pull_align(ndr
, 8));
802 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
803 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
804 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
806 if (ndr_flags
& NDR_BUFFERS
) {
808 return NDR_ERR_SUCCESS
;
811 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor
*r
)
813 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor");
815 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
816 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
820 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
822 uint32_t cntr_cursors_0
;
823 if (ndr_flags
& NDR_SCALARS
) {
824 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
825 NDR_CHECK(ndr_push_align(ndr
, 8));
826 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
827 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
828 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
829 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
830 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
831 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
833 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
835 if (ndr_flags
& NDR_BUFFERS
) {
837 return NDR_ERR_SUCCESS
;
840 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtrEx
*r
)
842 uint32_t cntr_cursors_0
;
843 TALLOC_CTX
*_mem_save_cursors_0
;
844 if (ndr_flags
& NDR_SCALARS
) {
845 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
846 NDR_CHECK(ndr_pull_align(ndr
, 8));
847 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
848 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
849 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
850 if (r
->count
> 0x100000) {
851 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
853 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
854 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
855 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
856 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
857 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
858 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
860 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
862 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
864 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
866 if (ndr_flags
& NDR_BUFFERS
) {
868 return NDR_ERR_SUCCESS
;
871 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtrEx
*r
)
873 uint32_t cntr_cursors_0
;
874 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtrEx");
876 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
877 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
878 ndr_print_uint32(ndr
, "count", r
->count
);
879 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
880 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
882 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
884 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
885 ndr_print_drsuapi_DsReplicaCursor(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
893 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation r
)
896 uint32_t _flags_save_ENUM
= ndr
->flags
;
897 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
898 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
899 ndr
->flags
= _flags_save_ENUM
;
901 return NDR_ERR_SUCCESS
;
904 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedOperation
*r
)
908 uint32_t _flags_save_ENUM
= ndr
->flags
;
909 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
910 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
912 ndr
->flags
= _flags_save_ENUM
;
914 return NDR_ERR_SUCCESS
;
917 _PUBLIC_
void ndr_print_drsuapi_DsExtendedOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedOperation r
)
919 const char *val
= NULL
;
922 uint32_t _flags_save_ENUM
= ndr
->flags
;
923 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
925 case DRSUAPI_EXOP_NONE
: val
= "DRSUAPI_EXOP_NONE"; break;
926 case DRSUAPI_EXOP_FSMO_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_REQ_ROLE"; break;
927 case DRSUAPI_EXOP_FSMO_RID_ALLOC
: val
= "DRSUAPI_EXOP_FSMO_RID_ALLOC"; break;
928 case DRSUAPI_EXOP_FSMO_RID_REQ_ROLE
: val
= "DRSUAPI_EXOP_FSMO_RID_REQ_ROLE"; break;
929 case DRSUAPI_EXOP_FSMO_REQ_PDC
: val
= "DRSUAPI_EXOP_FSMO_REQ_PDC"; break;
930 case DRSUAPI_EXOP_FSMO_ABANDON_ROLE
: val
= "DRSUAPI_EXOP_FSMO_ABANDON_ROLE"; break;
931 case DRSUAPI_EXOP_REPL_OBJ
: val
= "DRSUAPI_EXOP_REPL_OBJ"; break;
932 case DRSUAPI_EXOP_REPL_SECRET
: val
= "DRSUAPI_EXOP_REPL_SECRET"; break;
934 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
935 ndr
->flags
= _flags_save_ENUM
;
939 static enum ndr_err_code
ndr_push_drsuapi_DsExtendedError(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError r
)
942 uint32_t _flags_save_ENUM
= ndr
->flags
;
943 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
944 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
945 ndr
->flags
= _flags_save_ENUM
;
947 return NDR_ERR_SUCCESS
;
950 static enum ndr_err_code
ndr_pull_drsuapi_DsExtendedError(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsExtendedError
*r
)
954 uint32_t _flags_save_ENUM
= ndr
->flags
;
955 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
956 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
958 ndr
->flags
= _flags_save_ENUM
;
960 return NDR_ERR_SUCCESS
;
963 _PUBLIC_
void ndr_print_drsuapi_DsExtendedError(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsExtendedError r
)
965 const char *val
= NULL
;
968 uint32_t _flags_save_ENUM
= ndr
->flags
;
969 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
971 case DRSUAPI_EXOP_ERR_NONE
: val
= "DRSUAPI_EXOP_ERR_NONE"; break;
972 case DRSUAPI_EXOP_ERR_SUCCESS
: val
= "DRSUAPI_EXOP_ERR_SUCCESS"; break;
973 case DRSUAPI_EXOP_ERR_UNKNOWN_OP
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_OP"; break;
974 case DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER
: val
= "DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER"; break;
975 case DRSUAPI_EXOP_ERR_UPDATE_ERR
: val
= "DRSUAPI_EXOP_ERR_UPDATE_ERR"; break;
976 case DRSUAPI_EXOP_ERR_EXCEPTION
: val
= "DRSUAPI_EXOP_ERR_EXCEPTION"; break;
977 case DRSUAPI_EXOP_ERR_UNKNOWN_CALLER
: val
= "DRSUAPI_EXOP_ERR_UNKNOWN_CALLER"; break;
978 case DRSUAPI_EXOP_ERR_RID_ALLOC
: val
= "DRSUAPI_EXOP_ERR_RID_ALLOC"; break;
979 case DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED
: val
= "DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED"; break;
980 case DRSUAPI_EXOP_ERR_FMSO_PENDING_OP
: val
= "DRSUAPI_EXOP_ERR_FMSO_PENDING_OP"; break;
981 case DRSUAPI_EXOP_ERR_MISMATCH
: val
= "DRSUAPI_EXOP_ERR_MISMATCH"; break;
982 case DRSUAPI_EXOP_ERR_COULDNT_CONTACT
: val
= "DRSUAPI_EXOP_ERR_COULDNT_CONTACT"; break;
983 case DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES
: val
= "DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES"; break;
984 case DRSUAPI_EXOP_ERR_DIR_ERROR
: val
= "DRSUAPI_EXOP_ERR_DIR_ERROR"; break;
985 case DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS
: val
= "DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS"; break;
986 case DRSUAPI_EXOP_ERR_ACCESS_DENIED
: val
= "DRSUAPI_EXOP_ERR_ACCESS_DENIED"; break;
987 case DRSUAPI_EXOP_ERR_PARAM_ERROR
: val
= "DRSUAPI_EXOP_ERR_PARAM_ERROR"; break;
989 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
990 ndr
->flags
= _flags_save_ENUM
;
994 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest5(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
996 if (ndr_flags
& NDR_SCALARS
) {
997 NDR_CHECK(ndr_push_align(ndr
, 8));
998 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
999 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1000 if (r
->naming_context
== NULL
) {
1001 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1003 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1004 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1005 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1006 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1007 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1008 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1009 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1010 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1011 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1013 if (ndr_flags
& NDR_BUFFERS
) {
1014 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1015 if (r
->uptodateness_vector
) {
1016 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1019 return NDR_ERR_SUCCESS
;
1022 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest5(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest5
*r
)
1024 uint32_t _ptr_naming_context
;
1025 TALLOC_CTX
*_mem_save_naming_context_0
;
1026 uint32_t _ptr_uptodateness_vector
;
1027 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1028 if (ndr_flags
& NDR_SCALARS
) {
1029 NDR_CHECK(ndr_pull_align(ndr
, 8));
1030 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1031 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1032 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1033 if (_ptr_naming_context
) {
1034 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1036 r
->naming_context
= NULL
;
1038 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1039 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1040 if (_ptr_uptodateness_vector
) {
1041 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1043 r
->uptodateness_vector
= NULL
;
1045 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1046 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1047 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1048 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1049 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1050 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1052 if (ndr_flags
& NDR_BUFFERS
) {
1053 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1054 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1055 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1056 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1057 if (r
->uptodateness_vector
) {
1058 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1059 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1060 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1061 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1064 return NDR_ERR_SUCCESS
;
1067 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest5(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest5
*r
)
1069 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest5");
1071 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1072 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1073 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1075 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1077 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1078 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1080 if (r
->uptodateness_vector
) {
1081 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1084 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1085 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1086 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1087 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1088 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1092 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOID(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOID
*r
)
1094 if (ndr_flags
& NDR_SCALARS
) {
1095 NDR_CHECK(ndr_push_align(ndr
, 5));
1096 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->length
));
1097 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary_oid
));
1098 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1100 if (ndr_flags
& NDR_BUFFERS
) {
1101 if (r
->binary_oid
) {
1102 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->length
));
1103 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, r
->length
));
1106 return NDR_ERR_SUCCESS
;
1109 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOID(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOID
*r
)
1111 uint32_t _ptr_binary_oid
;
1112 TALLOC_CTX
*_mem_save_binary_oid_0
;
1113 if (ndr_flags
& NDR_SCALARS
) {
1114 NDR_CHECK(ndr_pull_align(ndr
, 5));
1115 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->length
));
1116 if (r
->length
> 10000) {
1117 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1119 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary_oid
));
1120 if (_ptr_binary_oid
) {
1121 NDR_PULL_ALLOC(ndr
, r
->binary_oid
);
1123 r
->binary_oid
= NULL
;
1125 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1127 if (ndr_flags
& NDR_BUFFERS
) {
1128 if (r
->binary_oid
) {
1129 _mem_save_binary_oid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1130 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary_oid
, 0);
1131 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->binary_oid
));
1132 NDR_PULL_ALLOC_N(ndr
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
));
1133 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->binary_oid
, ndr_get_array_size(ndr
, &r
->binary_oid
)));
1134 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_oid_0
, 0);
1136 if (r
->binary_oid
) {
1137 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->binary_oid
, r
->length
));
1140 return NDR_ERR_SUCCESS
;
1143 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1145 if (ndr_flags
& NDR_SCALARS
) {
1146 NDR_CHECK(ndr_push_align(ndr
, 5));
1147 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->id_prefix
));
1148 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1149 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1151 if (ndr_flags
& NDR_BUFFERS
) {
1152 NDR_CHECK(ndr_push_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1154 return NDR_ERR_SUCCESS
;
1157 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping
*r
)
1159 if (ndr_flags
& NDR_SCALARS
) {
1160 NDR_CHECK(ndr_pull_align(ndr
, 5));
1161 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->id_prefix
));
1162 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_SCALARS
, &r
->oid
));
1163 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1165 if (ndr_flags
& NDR_BUFFERS
) {
1166 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOID(ndr
, NDR_BUFFERS
, &r
->oid
));
1168 return NDR_ERR_SUCCESS
;
1171 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping
*r
)
1173 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping");
1175 ndr_print_uint32(ndr
, "id_prefix", r
->id_prefix
);
1176 ndr_print_drsuapi_DsReplicaOID(ndr
, "oid", &r
->oid
);
1180 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1182 uint32_t cntr_mappings_1
;
1183 if (ndr_flags
& NDR_SCALARS
) {
1184 NDR_CHECK(ndr_push_align(ndr
, 5));
1185 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_mappings
));
1186 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->mappings
));
1187 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1189 if (ndr_flags
& NDR_BUFFERS
) {
1191 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_mappings
));
1192 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1193 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1195 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1196 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1200 return NDR_ERR_SUCCESS
;
1203 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1205 uint32_t _ptr_mappings
;
1206 uint32_t cntr_mappings_1
;
1207 TALLOC_CTX
*_mem_save_mappings_0
;
1208 TALLOC_CTX
*_mem_save_mappings_1
;
1209 if (ndr_flags
& NDR_SCALARS
) {
1210 NDR_CHECK(ndr_pull_align(ndr
, 5));
1211 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_mappings
));
1212 if (r
->num_mappings
> 0x100000) {
1213 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_mappings
));
1216 if (_ptr_mappings
) {
1217 NDR_PULL_ALLOC(ndr
, r
->mappings
);
1221 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
1223 if (ndr_flags
& NDR_BUFFERS
) {
1225 _mem_save_mappings_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1226 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1227 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->mappings
));
1228 NDR_PULL_ALLOC_N(ndr
, r
->mappings
, ndr_get_array_size(ndr
, &r
->mappings
));
1229 _mem_save_mappings_1
= NDR_PULL_GET_MEM_CTX(ndr
);
1230 NDR_PULL_SET_MEM_CTX(ndr
, r
->mappings
, 0);
1231 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1232 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_SCALARS
, &r
->mappings
[cntr_mappings_1
]));
1234 for (cntr_mappings_1
= 0; cntr_mappings_1
< r
->num_mappings
; cntr_mappings_1
++) {
1235 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping(ndr
, NDR_BUFFERS
, &r
->mappings
[cntr_mappings_1
]));
1237 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_1
, 0);
1238 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_mappings_0
, 0);
1241 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->mappings
, r
->num_mappings
));
1244 return NDR_ERR_SUCCESS
;
1247 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOIDMapping_Ctr
*r
)
1249 uint32_t cntr_mappings_1
;
1250 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOIDMapping_Ctr");
1252 ndr_print_uint32(ndr
, "num_mappings", r
->num_mappings
);
1253 ndr_print_ptr(ndr
, "mappings", r
->mappings
);
1256 ndr
->print(ndr
, "%s: ARRAY(%d)", "mappings", (int)r
->num_mappings
);
1258 for (cntr_mappings_1
=0;cntr_mappings_1
<r
->num_mappings
;cntr_mappings_1
++) {
1260 if (asprintf(&idx_1
, "[%d]", cntr_mappings_1
) != -1) {
1261 ndr_print_drsuapi_DsReplicaOIDMapping(ndr
, "mappings", &r
->mappings
[cntr_mappings_1
]);
1271 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAttributeId(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId r
)
1274 uint32_t _flags_save_ENUM
= ndr
->flags
;
1275 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1276 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
1277 ndr
->flags
= _flags_save_ENUM
;
1279 return NDR_ERR_SUCCESS
;
1282 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAttributeId(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsAttributeId
*r
)
1286 uint32_t _flags_save_ENUM
= ndr
->flags
;
1287 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1288 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
1290 ndr
->flags
= _flags_save_ENUM
;
1292 return NDR_ERR_SUCCESS
;
1295 _PUBLIC_
void ndr_print_drsuapi_DsAttributeId(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsAttributeId r
)
1297 const char *val
= NULL
;
1300 uint32_t _flags_save_ENUM
= ndr
->flags
;
1301 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
1303 case DRSUAPI_ATTRIBUTE_objectClass
: val
= "DRSUAPI_ATTRIBUTE_objectClass"; break;
1304 case DRSUAPI_ATTRIBUTE_cn
: val
= "DRSUAPI_ATTRIBUTE_cn"; break;
1305 case DRSUAPI_ATTRIBUTE_description
: val
= "DRSUAPI_ATTRIBUTE_description"; break;
1306 case DRSUAPI_ATTRIBUTE_member
: val
= "DRSUAPI_ATTRIBUTE_member"; break;
1307 case DRSUAPI_ATTRIBUTE_instanceType
: val
= "DRSUAPI_ATTRIBUTE_instanceType"; break;
1308 case DRSUAPI_ATTRIBUTE_whenCreated
: val
= "DRSUAPI_ATTRIBUTE_whenCreated"; break;
1309 case DRSUAPI_ATTRIBUTE_possSuperiors
: val
= "DRSUAPI_ATTRIBUTE_possSuperiors"; break;
1310 case DRSUAPI_ATTRIBUTE_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_hasMasterNCs"; break;
1311 case DRSUAPI_ATTRIBUTE_subClassOf
: val
= "DRSUAPI_ATTRIBUTE_subClassOf"; break;
1312 case DRSUAPI_ATTRIBUTE_governsID
: val
= "DRSUAPI_ATTRIBUTE_governsID"; break;
1313 case DRSUAPI_ATTRIBUTE_mustContain
: val
= "DRSUAPI_ATTRIBUTE_mustContain"; break;
1314 case DRSUAPI_ATTRIBUTE_mayContain
: val
= "DRSUAPI_ATTRIBUTE_mayContain"; break;
1315 case DRSUAPI_ATTRIBUTE_rDNAttId
: val
= "DRSUAPI_ATTRIBUTE_rDNAttId"; break;
1316 case DRSUAPI_ATTRIBUTE_attributeID
: val
= "DRSUAPI_ATTRIBUTE_attributeID"; break;
1317 case DRSUAPI_ATTRIBUTE_attributeSyntax
: val
= "DRSUAPI_ATTRIBUTE_attributeSyntax"; break;
1318 case DRSUAPI_ATTRIBUTE_isSingleValued
: val
= "DRSUAPI_ATTRIBUTE_isSingleValued"; break;
1319 case DRSUAPI_ATTRIBUTE_rangeLower
: val
= "DRSUAPI_ATTRIBUTE_rangeLower"; break;
1320 case DRSUAPI_ATTRIBUTE_rangeUpper
: val
= "DRSUAPI_ATTRIBUTE_rangeUpper"; break;
1321 case DRSUAPI_ATTRIBUTE_dMDLocation
: val
= "DRSUAPI_ATTRIBUTE_dMDLocation"; break;
1322 case DRSUAPI_ATTRIBUTE_objectVersion
: val
= "DRSUAPI_ATTRIBUTE_objectVersion"; break;
1323 case DRSUAPI_ATTRIBUTE_invocationId
: val
= "DRSUAPI_ATTRIBUTE_invocationId"; break;
1324 case DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
: val
= "DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly"; break;
1325 case DRSUAPI_ATTRIBUTE_adminDisplayName
: val
= "DRSUAPI_ATTRIBUTE_adminDisplayName"; break;
1326 case DRSUAPI_ATTRIBUTE_adminDescription
: val
= "DRSUAPI_ATTRIBUTE_adminDescription"; break;
1327 case DRSUAPI_ATTRIBUTE_oMSyntax
: val
= "DRSUAPI_ATTRIBUTE_oMSyntax"; break;
1328 case DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
: val
= "DRSUAPI_ATTRIBUTE_ntSecurityDescriptor"; break;
1329 case DRSUAPI_ATTRIBUTE_searchFlags
: val
= "DRSUAPI_ATTRIBUTE_searchFlags"; break;
1330 case DRSUAPI_ATTRIBUTE_auxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_auxiliaryClass"; break;
1331 case DRSUAPI_ATTRIBUTE_lDAPDisplayName
: val
= "DRSUAPI_ATTRIBUTE_lDAPDisplayName"; break;
1332 case DRSUAPI_ATTRIBUTE_name
: val
= "DRSUAPI_ATTRIBUTE_name"; break;
1333 case DRSUAPI_ATTRIBUTE_userAccountControl
: val
= "DRSUAPI_ATTRIBUTE_userAccountControl"; break;
1334 case DRSUAPI_ATTRIBUTE_currentValue
: val
= "DRSUAPI_ATTRIBUTE_currentValue"; break;
1335 case DRSUAPI_ATTRIBUTE_homeDirectory
: val
= "DRSUAPI_ATTRIBUTE_homeDirectory"; break;
1336 case DRSUAPI_ATTRIBUTE_homeDrive
: val
= "DRSUAPI_ATTRIBUTE_homeDrive"; break;
1337 case DRSUAPI_ATTRIBUTE_scriptPath
: val
= "DRSUAPI_ATTRIBUTE_scriptPath"; break;
1338 case DRSUAPI_ATTRIBUTE_profilePath
: val
= "DRSUAPI_ATTRIBUTE_profilePath"; break;
1339 case DRSUAPI_ATTRIBUTE_objectSid
: val
= "DRSUAPI_ATTRIBUTE_objectSid"; break;
1340 case DRSUAPI_ATTRIBUTE_schemaIDGUID
: val
= "DRSUAPI_ATTRIBUTE_schemaIDGUID"; break;
1341 case DRSUAPI_ATTRIBUTE_dBCSPwd
: val
= "DRSUAPI_ATTRIBUTE_dBCSPwd"; break;
1342 case DRSUAPI_ATTRIBUTE_logonHours
: val
= "DRSUAPI_ATTRIBUTE_logonHours"; break;
1343 case DRSUAPI_ATTRIBUTE_userWorkstations
: val
= "DRSUAPI_ATTRIBUTE_userWorkstations"; break;
1344 case DRSUAPI_ATTRIBUTE_unicodePwd
: val
= "DRSUAPI_ATTRIBUTE_unicodePwd"; break;
1345 case DRSUAPI_ATTRIBUTE_ntPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_ntPwdHistory"; break;
1346 case DRSUAPI_ATTRIBUTE_priorValue
: val
= "DRSUAPI_ATTRIBUTE_priorValue"; break;
1347 case DRSUAPI_ATTRIBUTE_supplementalCredentials
: val
= "DRSUAPI_ATTRIBUTE_supplementalCredentials"; break;
1348 case DRSUAPI_ATTRIBUTE_trustAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_trustAuthIncoming"; break;
1349 case DRSUAPI_ATTRIBUTE_trustAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_trustAuthOutgoing"; break;
1350 case DRSUAPI_ATTRIBUTE_lmPwdHistory
: val
= "DRSUAPI_ATTRIBUTE_lmPwdHistory"; break;
1351 case DRSUAPI_ATTRIBUTE_systemPossSuperiors
: val
= "DRSUAPI_ATTRIBUTE_systemPossSuperiors"; break;
1352 case DRSUAPI_ATTRIBUTE_systemMayContain
: val
= "DRSUAPI_ATTRIBUTE_systemMayContain"; break;
1353 case DRSUAPI_ATTRIBUTE_systemMustContain
: val
= "DRSUAPI_ATTRIBUTE_systemMustContain"; break;
1354 case DRSUAPI_ATTRIBUTE_systemAuxiliaryClass
: val
= "DRSUAPI_ATTRIBUTE_systemAuxiliaryClass"; break;
1355 case DRSUAPI_ATTRIBUTE_sAMAccountName
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountName"; break;
1356 case DRSUAPI_ATTRIBUTE_sAMAccountType
: val
= "DRSUAPI_ATTRIBUTE_sAMAccountType"; break;
1357 case DRSUAPI_ATTRIBUTE_options
: val
= "DRSUAPI_ATTRIBUTE_options"; break;
1358 case DRSUAPI_ATTRIBUTE_fSMORoleOwner
: val
= "DRSUAPI_ATTRIBUTE_fSMORoleOwner"; break;
1359 case DRSUAPI_ATTRIBUTE_systemFlags
: val
= "DRSUAPI_ATTRIBUTE_systemFlags"; break;
1360 case DRSUAPI_ATTRIBUTE_serverReference
: val
= "DRSUAPI_ATTRIBUTE_serverReference"; break;
1361 case DRSUAPI_ATTRIBUTE_serverReferenceBL
: val
= "DRSUAPI_ATTRIBUTE_serverReferenceBL"; break;
1362 case DRSUAPI_ATTRIBUTE_initialAuthIncoming
: val
= "DRSUAPI_ATTRIBUTE_initialAuthIncoming"; break;
1363 case DRSUAPI_ATTRIBUTE_initialAuthOutgoing
: val
= "DRSUAPI_ATTRIBUTE_initialAuthOutgoing"; break;
1364 case DRSUAPI_ATTRIBUTE_wellKnownObjects
: val
= "DRSUAPI_ATTRIBUTE_wellKnownObjects"; break;
1365 case DRSUAPI_ATTRIBUTE_dNSHostName
: val
= "DRSUAPI_ATTRIBUTE_dNSHostName"; break;
1366 case DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
: val
= "DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet"; break;
1367 case DRSUAPI_ATTRIBUTE_userPrincipalName
: val
= "DRSUAPI_ATTRIBUTE_userPrincipalName"; break;
1368 case DRSUAPI_ATTRIBUTE_groupType
: val
= "DRSUAPI_ATTRIBUTE_groupType"; break;
1369 case DRSUAPI_ATTRIBUTE_servicePrincipalName
: val
= "DRSUAPI_ATTRIBUTE_servicePrincipalName"; break;
1370 case DRSUAPI_ATTRIBUTE_objectCategory
: val
= "DRSUAPI_ATTRIBUTE_objectCategory"; break;
1371 case DRSUAPI_ATTRIBUTE_gPLink
: val
= "DRSUAPI_ATTRIBUTE_gPLink"; break;
1372 case DRSUAPI_ATTRIBUTE_transportAddressAttribute
: val
= "DRSUAPI_ATTRIBUTE_transportAddressAttribute"; break;
1373 case DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
: val
= "DRSUAPI_ATTRIBUTE_msDS_Behavior_Version"; break;
1374 case DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
: val
= "DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber"; break;
1375 case DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs"; break;
1376 case DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
: val
= "DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs"; break;
1377 case DRSUAPI_ATTRIBUTE_NONE
: val
= "DRSUAPI_ATTRIBUTE_NONE"; break;
1379 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
1380 ndr
->flags
= _flags_save_ENUM
;
1384 static enum ndr_err_code
ndr_push_drsuapi_DsPartialAttributeSet(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsPartialAttributeSet
*r
)
1386 uint32_t cntr_attids_0
;
1387 if (ndr_flags
& NDR_SCALARS
) {
1388 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attids
));
1389 NDR_CHECK(ndr_push_align(ndr
, 4));
1390 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 1));
1391 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1392 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attids
));
1393 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1394 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attids
[cntr_attids_0
]));
1396 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
1398 if (ndr_flags
& NDR_BUFFERS
) {
1400 return NDR_ERR_SUCCESS
;
1403 static enum ndr_err_code
ndr_pull_drsuapi_DsPartialAttributeSet(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsPartialAttributeSet
*r
)
1405 uint32_t cntr_attids_0
;
1406 TALLOC_CTX
*_mem_save_attids_0
;
1407 if (ndr_flags
& NDR_SCALARS
) {
1408 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attids
));
1409 NDR_CHECK(ndr_pull_align(ndr
, 4));
1410 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1411 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1412 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attids
));
1413 if (r
->num_attids
< 1 || r
->num_attids
> 0x100000) {
1414 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1416 NDR_PULL_ALLOC_N(ndr
, r
->attids
, ndr_get_array_size(ndr
, &r
->attids
));
1417 _mem_save_attids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1418 NDR_PULL_SET_MEM_CTX(ndr
, r
->attids
, 0);
1419 for (cntr_attids_0
= 0; cntr_attids_0
< r
->num_attids
; cntr_attids_0
++) {
1420 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attids
[cntr_attids_0
]));
1422 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attids_0
, 0);
1424 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attids
, r
->num_attids
));
1426 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
1428 if (ndr_flags
& NDR_BUFFERS
) {
1430 return NDR_ERR_SUCCESS
;
1433 _PUBLIC_
void ndr_print_drsuapi_DsPartialAttributeSet(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsPartialAttributeSet
*r
)
1435 uint32_t cntr_attids_0
;
1436 ndr_print_struct(ndr
, name
, "drsuapi_DsPartialAttributeSet");
1438 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?1:r
->version
);
1439 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1440 ndr_print_uint32(ndr
, "num_attids", r
->num_attids
);
1441 ndr
->print(ndr
, "%s: ARRAY(%d)", "attids", (int)r
->num_attids
);
1443 for (cntr_attids_0
=0;cntr_attids_0
<r
->num_attids
;cntr_attids_0
++) {
1445 if (asprintf(&idx_0
, "[%d]", cntr_attids_0
) != -1) {
1446 ndr_print_drsuapi_DsAttributeId(ndr
, "attids", r
->attids
[cntr_attids_0
]);
1454 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest8(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1456 if (ndr_flags
& NDR_SCALARS
) {
1457 NDR_CHECK(ndr_push_align(ndr
, 8));
1458 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1459 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1460 if (r
->naming_context
== NULL
) {
1461 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1463 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1464 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1465 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1466 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1467 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1468 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1469 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1470 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1471 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1472 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1473 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1474 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1476 if (ndr_flags
& NDR_BUFFERS
) {
1477 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1478 if (r
->uptodateness_vector
) {
1479 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1481 if (r
->partial_attribute_set
) {
1482 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1484 if (r
->partial_attribute_set_ex
) {
1485 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1487 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1489 return NDR_ERR_SUCCESS
;
1492 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest8(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest8
*r
)
1494 uint32_t _ptr_naming_context
;
1495 TALLOC_CTX
*_mem_save_naming_context_0
;
1496 uint32_t _ptr_uptodateness_vector
;
1497 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1498 uint32_t _ptr_partial_attribute_set
;
1499 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1500 uint32_t _ptr_partial_attribute_set_ex
;
1501 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1502 if (ndr_flags
& NDR_SCALARS
) {
1503 NDR_CHECK(ndr_pull_align(ndr
, 8));
1504 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1505 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1506 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1507 if (_ptr_naming_context
) {
1508 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1510 r
->naming_context
= NULL
;
1512 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1513 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1514 if (_ptr_uptodateness_vector
) {
1515 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1517 r
->uptodateness_vector
= NULL
;
1519 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1520 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1521 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1522 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1523 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1524 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1525 if (_ptr_partial_attribute_set
) {
1526 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1528 r
->partial_attribute_set
= NULL
;
1530 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1531 if (_ptr_partial_attribute_set_ex
) {
1532 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1534 r
->partial_attribute_set_ex
= NULL
;
1536 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1539 if (ndr_flags
& NDR_BUFFERS
) {
1540 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1541 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1543 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1544 if (r
->uptodateness_vector
) {
1545 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1546 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1547 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1548 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1550 if (r
->partial_attribute_set
) {
1551 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1552 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1553 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1554 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1556 if (r
->partial_attribute_set_ex
) {
1557 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1558 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1559 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1560 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1562 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1564 return NDR_ERR_SUCCESS
;
1567 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest8(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest8
*r
)
1569 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest8");
1571 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1572 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1573 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1575 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1577 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1578 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1580 if (r
->uptodateness_vector
) {
1581 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1584 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1585 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1586 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1587 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1588 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1589 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1591 if (r
->partial_attribute_set
) {
1592 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1595 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1597 if (r
->partial_attribute_set_ex
) {
1598 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1601 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1605 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest10(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1607 if (ndr_flags
& NDR_SCALARS
) {
1608 NDR_CHECK(ndr_push_align(ndr
, 8));
1609 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1610 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1611 if (r
->naming_context
== NULL
) {
1612 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
1614 NDR_CHECK(ndr_push_ref_ptr(ndr
));
1615 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1616 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
1617 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
1618 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_object_count
));
1619 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->max_ndr_size
));
1620 NDR_CHECK(ndr_push_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, r
->extended_op
));
1621 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->fsmo_info
));
1622 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set
));
1623 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->partial_attribute_set_ex
));
1624 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1625 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_flags
));
1626 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1628 if (ndr_flags
& NDR_BUFFERS
) {
1629 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1630 if (r
->uptodateness_vector
) {
1631 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1633 if (r
->partial_attribute_set
) {
1634 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1636 if (r
->partial_attribute_set_ex
) {
1637 NDR_CHECK(ndr_push_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1639 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1641 return NDR_ERR_SUCCESS
;
1644 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest10(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesRequest10
*r
)
1646 uint32_t _ptr_naming_context
;
1647 TALLOC_CTX
*_mem_save_naming_context_0
;
1648 uint32_t _ptr_uptodateness_vector
;
1649 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
1650 uint32_t _ptr_partial_attribute_set
;
1651 TALLOC_CTX
*_mem_save_partial_attribute_set_0
;
1652 uint32_t _ptr_partial_attribute_set_ex
;
1653 TALLOC_CTX
*_mem_save_partial_attribute_set_ex_0
;
1654 if (ndr_flags
& NDR_SCALARS
) {
1655 NDR_CHECK(ndr_pull_align(ndr
, 8));
1656 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->destination_dsa_guid
));
1657 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1658 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
1659 if (_ptr_naming_context
) {
1660 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
1662 r
->naming_context
= NULL
;
1664 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->highwatermark
));
1665 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
1666 if (_ptr_uptodateness_vector
) {
1667 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
1669 r
->uptodateness_vector
= NULL
;
1671 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
1672 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_object_count
));
1673 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->max_ndr_size
));
1674 NDR_CHECK(ndr_pull_drsuapi_DsExtendedOperation(ndr
, NDR_SCALARS
, &r
->extended_op
));
1675 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->fsmo_info
));
1676 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set
));
1677 if (_ptr_partial_attribute_set
) {
1678 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set
);
1680 r
->partial_attribute_set
= NULL
;
1682 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_partial_attribute_set_ex
));
1683 if (_ptr_partial_attribute_set_ex
) {
1684 NDR_PULL_ALLOC(ndr
, r
->partial_attribute_set_ex
);
1686 r
->partial_attribute_set_ex
= NULL
;
1688 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
1689 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_flags
));
1690 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1692 if (ndr_flags
& NDR_BUFFERS
) {
1693 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1694 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
1695 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
1696 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
1697 if (r
->uptodateness_vector
) {
1698 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1699 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
1700 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
1701 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
1703 if (r
->partial_attribute_set
) {
1704 _mem_save_partial_attribute_set_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1705 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set
, 0);
1706 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set
));
1707 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_0
, 0);
1709 if (r
->partial_attribute_set_ex
) {
1710 _mem_save_partial_attribute_set_ex_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1711 NDR_PULL_SET_MEM_CTX(ndr
, r
->partial_attribute_set_ex
, 0);
1712 NDR_CHECK(ndr_pull_drsuapi_DsPartialAttributeSet(ndr
, NDR_SCALARS
, r
->partial_attribute_set_ex
));
1713 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_partial_attribute_set_ex_0
, 0);
1715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
1717 return NDR_ERR_SUCCESS
;
1720 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest10(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesRequest10
*r
)
1722 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesRequest10");
1724 ndr_print_GUID(ndr
, "destination_dsa_guid", &r
->destination_dsa_guid
);
1725 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1726 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
1728 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
1730 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "highwatermark", &r
->highwatermark
);
1731 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1733 if (r
->uptodateness_vector
) {
1734 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
1737 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
1738 ndr_print_uint32(ndr
, "max_object_count", r
->max_object_count
);
1739 ndr_print_uint32(ndr
, "max_ndr_size", r
->max_ndr_size
);
1740 ndr_print_drsuapi_DsExtendedOperation(ndr
, "extended_op", r
->extended_op
);
1741 ndr_print_hyper(ndr
, "fsmo_info", r
->fsmo_info
);
1742 ndr_print_ptr(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1744 if (r
->partial_attribute_set
) {
1745 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set", r
->partial_attribute_set
);
1748 ndr_print_ptr(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1750 if (r
->partial_attribute_set_ex
) {
1751 ndr_print_drsuapi_DsPartialAttributeSet(ndr
, "partial_attribute_set_ex", r
->partial_attribute_set_ex
);
1754 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
1755 ndr_print_uint32(ndr
, "more_flags", r
->more_flags
);
1759 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesRequest
*r
)
1761 if (ndr_flags
& NDR_SCALARS
) {
1762 int level
= ndr_push_get_switch_value(ndr
, r
);
1763 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
1764 NDR_CHECK(ndr_push_union_align(ndr
, 8));
1767 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1771 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1775 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1779 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1782 if (ndr_flags
& NDR_BUFFERS
) {
1783 int level
= ndr_push_get_switch_value(ndr
, r
);
1786 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1790 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1794 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1798 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1801 return NDR_ERR_SUCCESS
;
1804 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesRequest
*r
)
1808 level
= ndr_pull_get_switch_value(ndr
, r
);
1809 if (ndr_flags
& NDR_SCALARS
) {
1810 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
1811 if (_level
!= level
) {
1812 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
1814 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
1817 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_SCALARS
, &r
->req5
));
1821 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_SCALARS
, &r
->req8
));
1825 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_SCALARS
, &r
->req10
));
1829 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1832 if (ndr_flags
& NDR_BUFFERS
) {
1835 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest5(ndr
, NDR_BUFFERS
, &r
->req5
));
1839 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest8(ndr
, NDR_BUFFERS
, &r
->req8
));
1843 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest10(ndr
, NDR_BUFFERS
, &r
->req10
));
1847 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
1850 return NDR_ERR_SUCCESS
;
1853 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesRequest
*r
)
1856 level
= ndr_print_get_switch_value(ndr
, r
);
1857 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesRequest");
1860 ndr_print_drsuapi_DsGetNCChangesRequest5(ndr
, "req5", &r
->req5
);
1864 ndr_print_drsuapi_DsGetNCChangesRequest8(ndr
, "req8", &r
->req8
);
1868 ndr_print_drsuapi_DsGetNCChangesRequest10(ndr
, "req10", &r
->req10
);
1872 ndr_print_bad_level(ndr
, name
, level
);
1876 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2
*r
)
1878 if (ndr_flags
& NDR_SCALARS
) {
1879 NDR_CHECK(ndr_push_align(ndr
, 8));
1880 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1881 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
1882 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
1883 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1885 if (ndr_flags
& NDR_BUFFERS
) {
1887 return NDR_ERR_SUCCESS
;
1890 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2
*r
)
1892 if (ndr_flags
& NDR_SCALARS
) {
1893 NDR_CHECK(ndr_pull_align(ndr
, 8));
1894 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
1895 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
1896 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
1897 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1899 if (ndr_flags
& NDR_BUFFERS
) {
1901 return NDR_ERR_SUCCESS
;
1904 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2
*r
)
1906 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2");
1908 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
1909 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
1910 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
1914 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2CtrEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1916 uint32_t cntr_cursors_0
;
1917 if (ndr_flags
& NDR_SCALARS
) {
1918 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
1919 NDR_CHECK(ndr_push_align(ndr
, 8));
1920 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 2));
1921 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1922 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
1923 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
1924 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1925 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1927 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
1929 if (ndr_flags
& NDR_BUFFERS
) {
1931 return NDR_ERR_SUCCESS
;
1934 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2CtrEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1936 uint32_t cntr_cursors_0
;
1937 TALLOC_CTX
*_mem_save_cursors_0
;
1938 if (ndr_flags
& NDR_SCALARS
) {
1939 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->cursors
));
1940 NDR_CHECK(ndr_pull_align(ndr
, 8));
1941 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
1942 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved1
));
1943 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
1944 if (r
->count
> 0x100000) {
1945 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
1947 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved2
));
1948 NDR_PULL_ALLOC_N(ndr
, r
->cursors
, ndr_get_array_size(ndr
, &r
->cursors
));
1949 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
1950 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
1951 for (cntr_cursors_0
= 0; cntr_cursors_0
< r
->count
; cntr_cursors_0
++) {
1952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->cursors
[cntr_cursors_0
]));
1954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
1956 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->cursors
, r
->count
));
1958 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
1960 if (ndr_flags
& NDR_BUFFERS
) {
1962 return NDR_ERR_SUCCESS
;
1965 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2CtrEx(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2CtrEx
*r
)
1967 uint32_t cntr_cursors_0
;
1968 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2CtrEx");
1970 ndr_print_uint32(ndr
, "version", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?2:r
->version
);
1971 ndr_print_uint32(ndr
, "reserved1", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved1
);
1972 ndr_print_uint32(ndr
, "count", r
->count
);
1973 ndr_print_uint32(ndr
, "reserved2", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->reserved2
);
1974 ndr
->print(ndr
, "%s: ARRAY(%d)", "cursors", (int)r
->count
);
1976 for (cntr_cursors_0
=0;cntr_cursors_0
<r
->count
;cntr_cursors_0
++) {
1978 if (asprintf(&idx_0
, "[%d]", cntr_cursors_0
) != -1) {
1979 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "cursors", &r
->cursors
[cntr_cursors_0
]);
1987 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValue(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValue
*r
)
1989 if (ndr_flags
& NDR_SCALARS
) {
1990 NDR_CHECK(ndr_push_align(ndr
, 5));
1991 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->blob
, 0)));
1992 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->blob
));
1993 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
1995 if (ndr_flags
& NDR_BUFFERS
) {
1997 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->blob
));
2000 return NDR_ERR_SUCCESS
;
2003 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValue(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValue
*r
)
2006 TALLOC_CTX
*_mem_save_blob_0
;
2007 if (ndr_flags
& NDR_SCALARS
) {
2008 NDR_CHECK(ndr_pull_align(ndr
, 5));
2009 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2010 if (r
->__ndr_size
> 10485760) {
2011 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2013 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_blob
));
2015 NDR_PULL_ALLOC(ndr
, r
->blob
);
2019 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2021 if (ndr_flags
& NDR_BUFFERS
) {
2023 _mem_save_blob_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2024 NDR_PULL_SET_MEM_CTX(ndr
, r
->blob
, 0);
2025 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->blob
));
2026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_blob_0
, 0);
2029 return NDR_ERR_SUCCESS
;
2032 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValue(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValue
*r
)
2034 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValue");
2036 ndr_print_uint32(ndr
, "__ndr_size", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?ndr_size_DATA_BLOB(0, r
->blob
, 0):r
->__ndr_size
);
2037 ndr_print_ptr(ndr
, "blob", r
->blob
);
2040 ndr_print_DATA_BLOB(ndr
, "blob", *r
->blob
);
2046 static enum ndr_err_code
ndr_push_drsuapi_DsAttributeValueCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAttributeValueCtr
*r
)
2048 uint32_t cntr_values_1
;
2049 if (ndr_flags
& NDR_SCALARS
) {
2050 NDR_CHECK(ndr_push_align(ndr
, 5));
2051 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_values
));
2052 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->values
));
2053 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2055 if (ndr_flags
& NDR_BUFFERS
) {
2057 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_values
));
2058 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2059 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2061 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2062 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2066 return NDR_ERR_SUCCESS
;
2069 static enum ndr_err_code
ndr_pull_drsuapi_DsAttributeValueCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAttributeValueCtr
*r
)
2071 uint32_t _ptr_values
;
2072 uint32_t cntr_values_1
;
2073 TALLOC_CTX
*_mem_save_values_0
;
2074 TALLOC_CTX
*_mem_save_values_1
;
2075 if (ndr_flags
& NDR_SCALARS
) {
2076 NDR_CHECK(ndr_pull_align(ndr
, 5));
2077 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_values
));
2078 if (r
->num_values
> 10485760) {
2079 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2081 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_values
));
2083 NDR_PULL_ALLOC(ndr
, r
->values
);
2087 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2089 if (ndr_flags
& NDR_BUFFERS
) {
2091 _mem_save_values_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2092 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2093 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->values
));
2094 NDR_PULL_ALLOC_N(ndr
, r
->values
, ndr_get_array_size(ndr
, &r
->values
));
2095 _mem_save_values_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2096 NDR_PULL_SET_MEM_CTX(ndr
, r
->values
, 0);
2097 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2098 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->values
[cntr_values_1
]));
2100 for (cntr_values_1
= 0; cntr_values_1
< r
->num_values
; cntr_values_1
++) {
2101 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->values
[cntr_values_1
]));
2103 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_1
, 0);
2104 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_values_0
, 0);
2107 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->values
, r
->num_values
));
2110 return NDR_ERR_SUCCESS
;
2113 _PUBLIC_
void ndr_print_drsuapi_DsAttributeValueCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAttributeValueCtr
*r
)
2115 uint32_t cntr_values_1
;
2116 ndr_print_struct(ndr
, name
, "drsuapi_DsAttributeValueCtr");
2118 ndr_print_uint32(ndr
, "num_values", r
->num_values
);
2119 ndr_print_ptr(ndr
, "values", r
->values
);
2122 ndr
->print(ndr
, "%s: ARRAY(%d)", "values", (int)r
->num_values
);
2124 for (cntr_values_1
=0;cntr_values_1
<r
->num_values
;cntr_values_1
++) {
2126 if (asprintf(&idx_1
, "[%d]", cntr_values_1
) != -1) {
2127 ndr_print_drsuapi_DsAttributeValue(ndr
, "values", &r
->values
[cntr_values_1
]);
2137 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2139 if (ndr_flags
& NDR_SCALARS
) {
2140 NDR_CHECK(ndr_push_align(ndr
, 4));
2141 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2142 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2143 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2144 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2145 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2146 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2147 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2149 if (ndr_flags
& NDR_BUFFERS
) {
2150 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2152 return NDR_ERR_SUCCESS
;
2155 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2157 if (ndr_flags
& NDR_SCALARS
) {
2158 NDR_CHECK(ndr_pull_align(ndr
, 4));
2159 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2160 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2161 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2162 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2163 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2164 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2165 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2167 if (ndr_flags
& NDR_BUFFERS
) {
2168 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2170 return NDR_ERR_SUCCESS
;
2173 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3
*r
)
2175 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3");
2177 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
);
2178 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
);
2179 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2180 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2181 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2182 ndr_print_string(ndr
, "dn", r
->dn
);
2186 _PUBLIC_
size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3(const struct drsuapi_DsReplicaObjectIdentifier3
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2188 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsReplicaObjectIdentifier3
, ic
);
2191 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2193 if (ndr_flags
& NDR_SCALARS
) {
2194 NDR_CHECK(ndr_push_align(ndr
, 4));
2195 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r
, ndr
->iconv_convenience
, ndr
->flags
)));
2196 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_dom_sid28(&r
->sid
, ndr
->flags
)));
2197 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2198 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2199 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, strlen_m(r
->dn
)));
2200 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dn
, strlen_m(r
->dn
) + 1, sizeof(uint16_t), CH_UTF16
));
2201 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->binary
.length
+ 4));
2203 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2204 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2205 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
2206 ndr
->flags
= _flags_save_DATA_BLOB
;
2208 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
2210 if (ndr_flags
& NDR_BUFFERS
) {
2211 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2213 return NDR_ERR_SUCCESS
;
2216 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2218 if (ndr_flags
& NDR_SCALARS
) {
2219 NDR_CHECK(ndr_pull_align(ndr
, 4));
2220 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2221 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_sid
));
2222 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
2223 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
2224 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_dn
));
2225 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dn
, r
->__ndr_size_dn
+ 1, sizeof(uint16_t), CH_UTF16
));
2226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
2228 uint32_t _flags_save_DATA_BLOB
= ndr
->flags
;
2229 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_REMAINING
);
2230 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, &r
->binary
));
2231 ndr
->flags
= _flags_save_DATA_BLOB
;
2233 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
2235 if (ndr_flags
& NDR_BUFFERS
) {
2236 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
2238 return NDR_ERR_SUCCESS
;
2241 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier3Binary(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier3Binary
*r
)
2243 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier3Binary");
2245 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
);
2246 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
);
2247 ndr_print_GUID(ndr
, "guid", &r
->guid
);
2248 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
2249 ndr_print_uint32(ndr
, "__ndr_size_dn", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?strlen_m(r
->dn
):r
->__ndr_size_dn
);
2250 ndr_print_string(ndr
, "dn", r
->dn
);
2251 ndr_print_uint32(ndr
, "__ndr_size_binary", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?r
->binary
.length
+ 4:r
->__ndr_size_binary
);
2252 ndr_print_DATA_BLOB(ndr
, "binary", r
->binary
);
2256 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttribute
*r
)
2258 if (ndr_flags
& NDR_SCALARS
) {
2259 NDR_CHECK(ndr_push_align(ndr
, 5));
2260 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2261 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2262 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2264 if (ndr_flags
& NDR_BUFFERS
) {
2265 NDR_CHECK(ndr_push_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2267 return NDR_ERR_SUCCESS
;
2270 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttribute
*r
)
2272 if (ndr_flags
& NDR_SCALARS
) {
2273 NDR_CHECK(ndr_pull_align(ndr
, 5));
2274 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2275 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_SCALARS
, &r
->value_ctr
));
2276 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2278 if (ndr_flags
& NDR_BUFFERS
) {
2279 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValueCtr(ndr
, NDR_BUFFERS
, &r
->value_ctr
));
2281 return NDR_ERR_SUCCESS
;
2284 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttribute
*r
)
2286 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttribute");
2288 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2289 ndr_print_drsuapi_DsAttributeValueCtr(ndr
, "value_ctr", &r
->value_ctr
);
2293 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttributeCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2295 uint32_t cntr_attributes_1
;
2296 if (ndr_flags
& NDR_SCALARS
) {
2297 NDR_CHECK(ndr_push_align(ndr
, 5));
2298 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_attributes
));
2299 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attributes
));
2300 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2302 if (ndr_flags
& NDR_BUFFERS
) {
2303 if (r
->attributes
) {
2304 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_attributes
));
2305 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2306 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2308 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2309 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2313 return NDR_ERR_SUCCESS
;
2316 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttributeCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttributeCtr
*r
)
2318 uint32_t _ptr_attributes
;
2319 uint32_t cntr_attributes_1
;
2320 TALLOC_CTX
*_mem_save_attributes_0
;
2321 TALLOC_CTX
*_mem_save_attributes_1
;
2322 if (ndr_flags
& NDR_SCALARS
) {
2323 NDR_CHECK(ndr_pull_align(ndr
, 5));
2324 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_attributes
));
2325 if (r
->num_attributes
> 1048576) {
2326 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2328 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attributes
));
2329 if (_ptr_attributes
) {
2330 NDR_PULL_ALLOC(ndr
, r
->attributes
);
2332 r
->attributes
= NULL
;
2334 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2336 if (ndr_flags
& NDR_BUFFERS
) {
2337 if (r
->attributes
) {
2338 _mem_save_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2339 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2340 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attributes
));
2341 NDR_PULL_ALLOC_N(ndr
, r
->attributes
, ndr_get_array_size(ndr
, &r
->attributes
));
2342 _mem_save_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
2343 NDR_PULL_SET_MEM_CTX(ndr
, r
->attributes
, 0);
2344 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2345 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_SCALARS
, &r
->attributes
[cntr_attributes_1
]));
2347 for (cntr_attributes_1
= 0; cntr_attributes_1
< r
->num_attributes
; cntr_attributes_1
++) {
2348 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttribute(ndr
, NDR_BUFFERS
, &r
->attributes
[cntr_attributes_1
]));
2350 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_1
, 0);
2351 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attributes_0
, 0);
2353 if (r
->attributes
) {
2354 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->attributes
, r
->num_attributes
));
2357 return NDR_ERR_SUCCESS
;
2360 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttributeCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttributeCtr
*r
)
2362 uint32_t cntr_attributes_1
;
2363 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttributeCtr");
2365 ndr_print_uint32(ndr
, "num_attributes", r
->num_attributes
);
2366 ndr_print_ptr(ndr
, "attributes", r
->attributes
);
2368 if (r
->attributes
) {
2369 ndr
->print(ndr
, "%s: ARRAY(%d)", "attributes", (int)r
->num_attributes
);
2371 for (cntr_attributes_1
=0;cntr_attributes_1
<r
->num_attributes
;cntr_attributes_1
++) {
2373 if (asprintf(&idx_1
, "[%d]", cntr_attributes_1
) != -1) {
2374 ndr_print_drsuapi_DsReplicaAttribute(ndr
, "attributes", &r
->attributes
[cntr_attributes_1
]);
2384 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2386 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2387 return NDR_ERR_SUCCESS
;
2390 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2393 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2395 return NDR_ERR_SUCCESS
;
2398 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2400 ndr_print_uint32(ndr
, name
, r
);
2402 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER", DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER
, r
);
2403 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC", DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC
, r
);
2404 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY", DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY
, r
);
2408 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObject(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObject
*r
)
2410 if (ndr_flags
& NDR_SCALARS
) {
2411 NDR_CHECK(ndr_push_align(ndr
, 5));
2412 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2413 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, r
->flags
));
2414 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2415 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2417 if (ndr_flags
& NDR_BUFFERS
) {
2418 if (r
->identifier
) {
2419 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2421 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2423 return NDR_ERR_SUCCESS
;
2426 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObject(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObject
*r
)
2428 uint32_t _ptr_identifier
;
2429 TALLOC_CTX
*_mem_save_identifier_0
;
2430 if (ndr_flags
& NDR_SCALARS
) {
2431 NDR_CHECK(ndr_pull_align(ndr
, 5));
2432 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2433 if (_ptr_identifier
) {
2434 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2436 r
->identifier
= NULL
;
2438 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2439 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_SCALARS
, &r
->attribute_ctr
));
2440 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2442 if (ndr_flags
& NDR_BUFFERS
) {
2443 if (r
->identifier
) {
2444 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2445 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2446 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2447 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2449 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttributeCtr(ndr
, NDR_BUFFERS
, &r
->attribute_ctr
));
2451 return NDR_ERR_SUCCESS
;
2454 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObject(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObject
*r
)
2456 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObject");
2458 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2460 if (r
->identifier
) {
2461 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2464 ndr_print_drsuapi_DsReplicaObjectFlags(ndr
, "flags", r
->flags
);
2465 ndr_print_drsuapi_DsReplicaAttributeCtr(ndr
, "attribute_ctr", &r
->attribute_ctr
);
2469 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaData
*r
)
2471 if (ndr_flags
& NDR_SCALARS
) {
2472 NDR_CHECK(ndr_push_align(ndr
, 8));
2473 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
2474 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_change_time
));
2475 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2476 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
2477 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2479 if (ndr_flags
& NDR_BUFFERS
) {
2481 return NDR_ERR_SUCCESS
;
2484 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaData
*r
)
2486 if (ndr_flags
& NDR_SCALARS
) {
2487 NDR_CHECK(ndr_pull_align(ndr
, 8));
2488 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
2489 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
2490 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
2491 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
2492 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2494 if (ndr_flags
& NDR_BUFFERS
) {
2496 return NDR_ERR_SUCCESS
;
2499 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaData
*r
)
2501 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaData");
2503 ndr_print_uint32(ndr
, "version", r
->version
);
2504 ndr_print_NTTIME_1sec(ndr
, "originating_change_time", r
->originating_change_time
);
2505 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
2506 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
2510 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2512 uint32_t cntr_meta_data_0
;
2513 if (ndr_flags
& NDR_SCALARS
) {
2514 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
2515 NDR_CHECK(ndr_push_align(ndr
, 8));
2516 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
2517 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2518 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2520 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2522 if (ndr_flags
& NDR_BUFFERS
) {
2524 return NDR_ERR_SUCCESS
;
2527 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaMetaDataCtr
*r
)
2529 uint32_t cntr_meta_data_0
;
2530 TALLOC_CTX
*_mem_save_meta_data_0
;
2531 if (ndr_flags
& NDR_SCALARS
) {
2532 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->meta_data
));
2533 NDR_CHECK(ndr_pull_align(ndr
, 8));
2534 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
2535 if (r
->count
> 1048576) {
2536 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2538 NDR_PULL_ALLOC_N(ndr
, r
->meta_data
, ndr_get_array_size(ndr
, &r
->meta_data
));
2539 _mem_save_meta_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2540 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data
, 0);
2541 for (cntr_meta_data_0
= 0; cntr_meta_data_0
< r
->count
; cntr_meta_data_0
++) {
2542 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
[cntr_meta_data_0
]));
2544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_0
, 0);
2546 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->meta_data
, r
->count
));
2548 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2550 if (ndr_flags
& NDR_BUFFERS
) {
2552 return NDR_ERR_SUCCESS
;
2555 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaMetaDataCtr
*r
)
2557 uint32_t cntr_meta_data_0
;
2558 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMetaDataCtr");
2560 ndr_print_uint32(ndr
, "count", r
->count
);
2561 ndr
->print(ndr
, "%s: ARRAY(%d)", "meta_data", (int)r
->count
);
2563 for (cntr_meta_data_0
=0;cntr_meta_data_0
<r
->count
;cntr_meta_data_0
++) {
2565 if (asprintf(&idx_0
, "[%d]", cntr_meta_data_0
) != -1) {
2566 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
[cntr_meta_data_0
]);
2574 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItemEx(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItemEx
*r
)
2576 if (ndr_flags
& NDR_SCALARS
) {
2577 NDR_CHECK(ndr_push_align(ndr
, 5));
2578 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
2579 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2580 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_nc_prefix
));
2581 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->parent_object_guid
));
2582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->meta_data_ctr
));
2583 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
2585 if (ndr_flags
& NDR_BUFFERS
) {
2586 if (r
->next_object
) {
2587 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2589 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2590 if (r
->parent_object_guid
) {
2591 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2593 if (r
->meta_data_ctr
) {
2594 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2597 return NDR_ERR_SUCCESS
;
2600 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItemEx(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItemEx
*r
)
2602 uint32_t _ptr_next_object
;
2603 TALLOC_CTX
*_mem_save_next_object_0
;
2604 uint32_t _ptr_parent_object_guid
;
2605 TALLOC_CTX
*_mem_save_parent_object_guid_0
;
2606 uint32_t _ptr_meta_data_ctr
;
2607 TALLOC_CTX
*_mem_save_meta_data_ctr_0
;
2608 if (ndr_flags
& NDR_SCALARS
) {
2609 NDR_CHECK(ndr_pull_align(ndr
, 5));
2610 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
2611 if (_ptr_next_object
) {
2612 NDR_PULL_ALLOC(ndr
, r
->next_object
);
2614 r
->next_object
= NULL
;
2616 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
2617 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_nc_prefix
));
2618 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_parent_object_guid
));
2619 if (_ptr_parent_object_guid
) {
2620 NDR_PULL_ALLOC(ndr
, r
->parent_object_guid
);
2622 r
->parent_object_guid
= NULL
;
2624 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_meta_data_ctr
));
2625 if (_ptr_meta_data_ctr
) {
2626 NDR_PULL_ALLOC(ndr
, r
->meta_data_ctr
);
2628 r
->meta_data_ctr
= NULL
;
2630 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
2632 if (ndr_flags
& NDR_BUFFERS
) {
2633 if (r
->next_object
) {
2634 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2635 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
2636 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
2637 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
2639 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
2640 if (r
->parent_object_guid
) {
2641 _mem_save_parent_object_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2642 NDR_PULL_SET_MEM_CTX(ndr
, r
->parent_object_guid
, 0);
2643 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->parent_object_guid
));
2644 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_parent_object_guid_0
, 0);
2646 if (r
->meta_data_ctr
) {
2647 _mem_save_meta_data_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2648 NDR_PULL_SET_MEM_CTX(ndr
, r
->meta_data_ctr
, 0);
2649 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaDataCtr(ndr
, NDR_SCALARS
, r
->meta_data_ctr
));
2650 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_meta_data_ctr_0
, 0);
2653 return NDR_ERR_SUCCESS
;
2656 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2658 if (ndr_flags
& NDR_SCALARS
) {
2659 NDR_CHECK(ndr_push_align(ndr
, 8));
2660 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2661 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2662 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2663 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2664 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2665 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2666 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2667 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2668 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2669 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr1(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2670 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2671 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2672 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2674 if (ndr_flags
& NDR_BUFFERS
) {
2675 if (r
->naming_context
) {
2676 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2678 if (r
->uptodateness_vector
) {
2679 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2681 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2682 if (r
->first_object
) {
2683 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2686 return NDR_ERR_SUCCESS
;
2689 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1
*r
)
2691 uint32_t _ptr_naming_context
;
2692 TALLOC_CTX
*_mem_save_naming_context_0
;
2693 uint32_t _ptr_uptodateness_vector
;
2694 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2695 uint32_t _ptr_first_object
;
2696 TALLOC_CTX
*_mem_save_first_object_0
;
2697 if (ndr_flags
& NDR_SCALARS
) {
2698 NDR_CHECK(ndr_pull_align(ndr
, 8));
2699 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2700 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2701 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2702 if (_ptr_naming_context
) {
2703 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2705 r
->naming_context
= NULL
;
2707 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2708 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2709 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2710 if (_ptr_uptodateness_vector
) {
2711 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2713 r
->uptodateness_vector
= NULL
;
2715 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2716 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2717 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2718 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2719 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2720 if (_ptr_first_object
) {
2721 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2723 r
->first_object
= NULL
;
2725 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2726 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2728 if (ndr_flags
& NDR_BUFFERS
) {
2729 if (r
->naming_context
) {
2730 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2731 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2732 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2733 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2735 if (r
->uptodateness_vector
) {
2736 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2737 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2738 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2739 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
2741 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2742 if (r
->first_object
) {
2743 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2744 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
2745 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2746 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
2749 return NDR_ERR_SUCCESS
;
2752 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1
*r
)
2754 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1");
2756 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
2757 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
2758 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
2760 if (r
->naming_context
) {
2761 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
2764 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
2765 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
2766 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2768 if (r
->uptodateness_vector
) {
2769 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
2772 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
2773 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
2774 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
2775 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
);
2776 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
2778 if (r
->first_object
) {
2779 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
2782 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
2786 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr1(const struct drsuapi_DsGetNCChangesCtr1
*r
, struct smb_iconv_convenience
*ic
, int flags
)
2788 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr1
, ic
);
2791 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsLinkedAttributeFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
2793 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
2794 return NDR_ERR_SUCCESS
;
2797 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsLinkedAttributeFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
2800 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
2802 return NDR_ERR_SUCCESS
;
2805 _PUBLIC_
void ndr_print_drsuapi_DsLinkedAttributeFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
2807 ndr_print_uint32(ndr
, name
, r
);
2809 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE", DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE
, r
);
2813 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaLinkedAttribute(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2815 if (ndr_flags
& NDR_SCALARS
) {
2816 NDR_CHECK(ndr_push_align(ndr
, 8));
2817 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->identifier
));
2818 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
2819 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2820 NDR_CHECK(ndr_push_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, r
->flags
));
2821 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->originating_add_time
));
2822 NDR_CHECK(ndr_push_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2823 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2825 if (ndr_flags
& NDR_BUFFERS
) {
2826 if (r
->identifier
) {
2827 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2829 NDR_CHECK(ndr_push_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2831 return NDR_ERR_SUCCESS
;
2834 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaLinkedAttribute(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaLinkedAttribute
*r
)
2836 uint32_t _ptr_identifier
;
2837 TALLOC_CTX
*_mem_save_identifier_0
;
2838 if (ndr_flags
& NDR_SCALARS
) {
2839 NDR_CHECK(ndr_pull_align(ndr
, 8));
2840 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_identifier
));
2841 if (_ptr_identifier
) {
2842 NDR_PULL_ALLOC(ndr
, r
->identifier
);
2844 r
->identifier
= NULL
;
2846 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
2847 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_SCALARS
, &r
->value
));
2848 NDR_CHECK(ndr_pull_drsuapi_DsLinkedAttributeFlags(ndr
, NDR_SCALARS
, &r
->flags
));
2849 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->originating_add_time
));
2850 NDR_CHECK(ndr_pull_drsuapi_DsReplicaMetaData(ndr
, NDR_SCALARS
, &r
->meta_data
));
2851 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2853 if (ndr_flags
& NDR_BUFFERS
) {
2854 if (r
->identifier
) {
2855 _mem_save_identifier_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2856 NDR_PULL_SET_MEM_CTX(ndr
, r
->identifier
, 0);
2857 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->identifier
));
2858 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_identifier_0
, 0);
2860 NDR_CHECK(ndr_pull_drsuapi_DsAttributeValue(ndr
, NDR_BUFFERS
, &r
->value
));
2862 return NDR_ERR_SUCCESS
;
2865 _PUBLIC_
void ndr_print_drsuapi_DsReplicaLinkedAttribute(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaLinkedAttribute
*r
)
2867 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaLinkedAttribute");
2869 ndr_print_ptr(ndr
, "identifier", r
->identifier
);
2871 if (r
->identifier
) {
2872 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "identifier", r
->identifier
);
2875 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
2876 ndr_print_drsuapi_DsAttributeValue(ndr
, "value", &r
->value
);
2877 ndr_print_drsuapi_DsLinkedAttributeFlags(ndr
, "flags", r
->flags
);
2878 ndr_print_NTTIME_1sec(ndr
, "originating_add_time", r
->originating_add_time
);
2879 ndr_print_drsuapi_DsReplicaMetaData(ndr
, "meta_data", &r
->meta_data
);
2883 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
2885 uint32_t cntr_linked_attributes_1
;
2886 if (ndr_flags
& NDR_SCALARS
) {
2887 NDR_CHECK(ndr_push_align(ndr
, 8));
2888 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2889 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2890 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context
));
2891 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2892 NDR_CHECK(ndr_push_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2893 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->uptodateness_vector
));
2894 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2895 NDR_CHECK(ndr_push_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, r
->extended_ret
));
2896 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->object_count
));
2897 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_drsuapi_DsGetNCChangesCtr6(r
, ndr
->iconv_convenience
, ndr
->flags
) + 55));
2898 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->first_object
));
2899 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->more_data
));
2900 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_object_count
));
2901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->nc_linked_attributes_count
));
2902 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2903 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linked_attributes
));
2904 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->drs_error
));
2905 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
2907 if (ndr_flags
& NDR_BUFFERS
) {
2908 if (r
->naming_context
) {
2909 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2911 if (r
->uptodateness_vector
) {
2912 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2914 NDR_CHECK(ndr_push_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
2915 if (r
->first_object
) {
2916 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
2918 if (r
->linked_attributes
) {
2919 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->linked_attributes_count
));
2920 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2921 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2923 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
2924 NDR_CHECK(ndr_push_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
2928 return NDR_ERR_SUCCESS
;
2931 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6
*r
)
2933 uint32_t _ptr_naming_context
;
2934 TALLOC_CTX
*_mem_save_naming_context_0
;
2935 uint32_t _ptr_uptodateness_vector
;
2936 TALLOC_CTX
*_mem_save_uptodateness_vector_0
;
2937 uint32_t _ptr_first_object
;
2938 TALLOC_CTX
*_mem_save_first_object_0
;
2939 uint32_t _ptr_linked_attributes
;
2940 uint32_t cntr_linked_attributes_1
;
2941 TALLOC_CTX
*_mem_save_linked_attributes_0
;
2942 TALLOC_CTX
*_mem_save_linked_attributes_1
;
2943 if (ndr_flags
& NDR_SCALARS
) {
2944 NDR_CHECK(ndr_pull_align(ndr
, 8));
2945 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
2946 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
2947 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context
));
2948 if (_ptr_naming_context
) {
2949 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
2951 r
->naming_context
= NULL
;
2953 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->old_highwatermark
));
2954 NDR_CHECK(ndr_pull_drsuapi_DsReplicaHighWaterMark(ndr
, NDR_SCALARS
, &r
->new_highwatermark
));
2955 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_uptodateness_vector
));
2956 if (_ptr_uptodateness_vector
) {
2957 NDR_PULL_ALLOC(ndr
, r
->uptodateness_vector
);
2959 r
->uptodateness_vector
= NULL
;
2961 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_SCALARS
, &r
->mapping_ctr
));
2962 NDR_CHECK(ndr_pull_drsuapi_DsExtendedError(ndr
, NDR_SCALARS
, &r
->extended_ret
));
2963 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->object_count
));
2964 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size
));
2965 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_first_object
));
2966 if (_ptr_first_object
) {
2967 NDR_PULL_ALLOC(ndr
, r
->first_object
);
2969 r
->first_object
= NULL
;
2971 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->more_data
));
2972 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_object_count
));
2973 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->nc_linked_attributes_count
));
2974 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->linked_attributes_count
));
2975 if (r
->linked_attributes_count
> 1048576) {
2976 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
2978 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linked_attributes
));
2979 if (_ptr_linked_attributes
) {
2980 NDR_PULL_ALLOC(ndr
, r
->linked_attributes
);
2982 r
->linked_attributes
= NULL
;
2984 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->drs_error
));
2985 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
2987 if (ndr_flags
& NDR_BUFFERS
) {
2988 if (r
->naming_context
) {
2989 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2990 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
2991 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
2992 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
2994 if (r
->uptodateness_vector
) {
2995 _mem_save_uptodateness_vector_0
= NDR_PULL_GET_MEM_CTX(ndr
);
2996 NDR_PULL_SET_MEM_CTX(ndr
, r
->uptodateness_vector
, 0);
2997 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2CtrEx(ndr
, NDR_SCALARS
, r
->uptodateness_vector
));
2998 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_uptodateness_vector_0
, 0);
3000 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, NDR_BUFFERS
, &r
->mapping_ctr
));
3001 if (r
->first_object
) {
3002 _mem_save_first_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3003 NDR_PULL_SET_MEM_CTX(ndr
, r
->first_object
, 0);
3004 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItemEx(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->first_object
));
3005 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_first_object_0
, 0);
3007 if (r
->linked_attributes
) {
3008 _mem_save_linked_attributes_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3009 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3010 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->linked_attributes
));
3011 NDR_PULL_ALLOC_N(ndr
, r
->linked_attributes
, ndr_get_array_size(ndr
, &r
->linked_attributes
));
3012 _mem_save_linked_attributes_1
= NDR_PULL_GET_MEM_CTX(ndr
);
3013 NDR_PULL_SET_MEM_CTX(ndr
, r
->linked_attributes
, 0);
3014 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3015 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_SCALARS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3017 for (cntr_linked_attributes_1
= 0; cntr_linked_attributes_1
< r
->linked_attributes_count
; cntr_linked_attributes_1
++) {
3018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaLinkedAttribute(ndr
, NDR_BUFFERS
, &r
->linked_attributes
[cntr_linked_attributes_1
]));
3020 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_1
, 0);
3021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linked_attributes_0
, 0);
3023 if (r
->linked_attributes
) {
3024 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->linked_attributes
, r
->linked_attributes_count
));
3027 return NDR_ERR_SUCCESS
;
3030 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6
*r
)
3032 uint32_t cntr_linked_attributes_1
;
3033 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6");
3035 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
3036 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
3037 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3039 if (r
->naming_context
) {
3040 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3043 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "old_highwatermark", &r
->old_highwatermark
);
3044 ndr_print_drsuapi_DsReplicaHighWaterMark(ndr
, "new_highwatermark", &r
->new_highwatermark
);
3045 ndr_print_ptr(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3047 if (r
->uptodateness_vector
) {
3048 ndr_print_drsuapi_DsReplicaCursor2CtrEx(ndr
, "uptodateness_vector", r
->uptodateness_vector
);
3051 ndr_print_drsuapi_DsReplicaOIDMapping_Ctr(ndr
, "mapping_ctr", &r
->mapping_ctr
);
3052 ndr_print_drsuapi_DsExtendedError(ndr
, "extended_ret", r
->extended_ret
);
3053 ndr_print_uint32(ndr
, "object_count", r
->object_count
);
3054 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
);
3055 ndr_print_ptr(ndr
, "first_object", r
->first_object
);
3057 if (r
->first_object
) {
3058 ndr_print_drsuapi_DsReplicaObjectListItemEx(ndr
, "first_object", r
->first_object
);
3061 ndr_print_uint32(ndr
, "more_data", r
->more_data
);
3062 ndr_print_uint32(ndr
, "nc_object_count", r
->nc_object_count
);
3063 ndr_print_uint32(ndr
, "nc_linked_attributes_count", r
->nc_linked_attributes_count
);
3064 ndr_print_uint32(ndr
, "linked_attributes_count", r
->linked_attributes_count
);
3065 ndr_print_ptr(ndr
, "linked_attributes", r
->linked_attributes
);
3067 if (r
->linked_attributes
) {
3068 ndr
->print(ndr
, "%s: ARRAY(%d)", "linked_attributes", (int)r
->linked_attributes_count
);
3070 for (cntr_linked_attributes_1
=0;cntr_linked_attributes_1
<r
->linked_attributes_count
;cntr_linked_attributes_1
++) {
3072 if (asprintf(&idx_1
, "[%d]", cntr_linked_attributes_1
) != -1) {
3073 ndr_print_drsuapi_DsReplicaLinkedAttribute(ndr
, "linked_attributes", &r
->linked_attributes
[cntr_linked_attributes_1
]);
3080 ndr_print_WERROR(ndr
, "drs_error", r
->drs_error
);
3084 _PUBLIC_
size_t ndr_size_drsuapi_DsGetNCChangesCtr6(const struct drsuapi_DsGetNCChangesCtr6
*r
, struct smb_iconv_convenience
*ic
, int flags
)
3086 return ndr_size_struct(r
, flags
, (ndr_push_flags_fn_t
)ndr_push_drsuapi_DsGetNCChangesCtr6
, ic
);
3089 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr1TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3091 if (ndr_flags
& NDR_SCALARS
) {
3092 NDR_CHECK(ndr_push_align(ndr
, 1));
3094 struct ndr_push
*_ndr_ctr1
;
3095 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3096 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3097 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3099 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3101 if (ndr_flags
& NDR_BUFFERS
) {
3103 return NDR_ERR_SUCCESS
;
3106 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr1TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3108 if (ndr_flags
& NDR_SCALARS
) {
3109 NDR_CHECK(ndr_pull_align(ndr
, 1));
3111 struct ndr_pull
*_ndr_ctr1
;
3112 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr1
, 0xFFFFFC01, -1));
3113 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(_ndr_ctr1
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr1
));
3114 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr1
, 0xFFFFFC01, -1));
3116 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3118 if (ndr_flags
& NDR_BUFFERS
) {
3120 return NDR_ERR_SUCCESS
;
3123 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr1TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr1TS
*r
)
3125 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr1TS");
3127 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3131 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr6TS(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3133 if (ndr_flags
& NDR_SCALARS
) {
3134 NDR_CHECK(ndr_push_align(ndr
, 1));
3136 struct ndr_push
*_ndr_ctr6
;
3137 NDR_CHECK(ndr_push_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3138 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3139 NDR_CHECK(ndr_push_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3141 NDR_CHECK(ndr_push_trailer_align(ndr
, 1));
3143 if (ndr_flags
& NDR_BUFFERS
) {
3145 return NDR_ERR_SUCCESS
;
3148 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr6TS(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3150 if (ndr_flags
& NDR_SCALARS
) {
3151 NDR_CHECK(ndr_pull_align(ndr
, 1));
3153 struct ndr_pull
*_ndr_ctr6
;
3154 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ctr6
, 0xFFFFFC01, -1));
3155 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(_ndr_ctr6
, NDR_SCALARS
|NDR_BUFFERS
, &r
->ctr6
));
3156 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ctr6
, 0xFFFFFC01, -1));
3158 NDR_CHECK(ndr_pull_trailer_align(ndr
, 1));
3160 if (ndr_flags
& NDR_BUFFERS
) {
3162 return NDR_ERR_SUCCESS
;
3165 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr6TS(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr6TS
*r
)
3167 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr6TS");
3169 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3173 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3176 TALLOC_CTX
*_mem_save_ts_0
;
3177 if (ndr_flags
& NDR_SCALARS
) {
3178 NDR_CHECK(ndr_pull_align(ndr
, 5));
3179 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3180 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3181 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3183 NDR_PULL_ALLOC(ndr
, r
->ts
);
3187 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3189 if (ndr_flags
& NDR_BUFFERS
) {
3191 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3192 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3194 struct ndr_pull
*_ndr_ts
;
3195 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3197 struct ndr_pull
*_ndr_ts_compressed
;
3198 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3199 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3200 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3202 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3204 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3207 return NDR_ERR_SUCCESS
;
3210 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr1
*r
)
3212 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr1");
3214 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3215 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3216 ndr_print_ptr(ndr
, "ts", r
->ts
);
3219 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3225 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3228 TALLOC_CTX
*_mem_save_ts_0
;
3229 if (ndr_flags
& NDR_SCALARS
) {
3230 NDR_CHECK(ndr_pull_align(ndr
, 5));
3231 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3232 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3233 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3235 NDR_PULL_ALLOC(ndr
, r
->ts
);
3239 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3241 if (ndr_flags
& NDR_BUFFERS
) {
3243 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3244 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3246 struct ndr_pull
*_ndr_ts
;
3247 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3249 struct ndr_pull
*_ndr_ts_compressed
;
3250 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3251 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3252 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_MSZIP
, r
->decompressed_length
));
3254 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3256 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3259 return NDR_ERR_SUCCESS
;
3262 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesMSZIPCtr6
*r
)
3264 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesMSZIPCtr6");
3266 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3267 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3268 ndr_print_ptr(ndr
, "ts", r
->ts
);
3271 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3277 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3280 TALLOC_CTX
*_mem_save_ts_0
;
3281 if (ndr_flags
& NDR_SCALARS
) {
3282 NDR_CHECK(ndr_pull_align(ndr
, 5));
3283 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3284 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3285 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3287 NDR_PULL_ALLOC(ndr
, r
->ts
);
3291 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3293 if (ndr_flags
& NDR_BUFFERS
) {
3295 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3296 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3298 struct ndr_pull
*_ndr_ts
;
3299 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3301 struct ndr_pull
*_ndr_ts_compressed
;
3302 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3303 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3304 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3306 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3308 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3311 return NDR_ERR_SUCCESS
;
3314 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr1
*r
)
3316 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr1");
3318 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3319 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3320 ndr_print_ptr(ndr
, "ts", r
->ts
);
3323 ndr_print_drsuapi_DsGetNCChangesCtr1TS(ndr
, "ts", r
->ts
);
3329 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3332 TALLOC_CTX
*_mem_save_ts_0
;
3333 if (ndr_flags
& NDR_SCALARS
) {
3334 NDR_CHECK(ndr_pull_align(ndr
, 5));
3335 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->decompressed_length
));
3336 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->compressed_length
));
3337 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ts
));
3339 NDR_PULL_ALLOC(ndr
, r
->ts
);
3343 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3345 if (ndr_flags
& NDR_BUFFERS
) {
3347 _mem_save_ts_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3348 NDR_PULL_SET_MEM_CTX(ndr
, r
->ts
, 0);
3350 struct ndr_pull
*_ndr_ts
;
3351 NDR_CHECK(ndr_pull_subcontext_start(ndr
, &_ndr_ts
, 4, r
->compressed_length
));
3353 struct ndr_pull
*_ndr_ts_compressed
;
3354 NDR_CHECK(ndr_pull_compression_start(_ndr_ts
, &_ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3355 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6TS(_ndr_ts_compressed
, NDR_SCALARS
|NDR_BUFFERS
, r
->ts
));
3356 NDR_CHECK(ndr_pull_compression_end(_ndr_ts
, _ndr_ts_compressed
, NDR_COMPRESSION_XPRESS
, r
->decompressed_length
));
3358 NDR_CHECK(ndr_pull_subcontext_end(ndr
, _ndr_ts
, 4, r
->compressed_length
));
3360 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ts_0
, 0);
3363 return NDR_ERR_SUCCESS
;
3366 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesXPRESSCtr6
*r
)
3368 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesXPRESSCtr6");
3370 ndr_print_uint32(ndr
, "decompressed_length", r
->decompressed_length
);
3371 ndr_print_uint32(ndr
, "compressed_length", r
->compressed_length
);
3372 ndr_print_ptr(ndr
, "ts", r
->ts
);
3375 ndr_print_drsuapi_DsGetNCChangesCtr6TS(ndr
, "ts", r
->ts
);
3381 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressionType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType r
)
3383 NDR_CHECK(ndr_push_enum_uint16(ndr
, NDR_SCALARS
, r
));
3384 return NDR_ERR_SUCCESS
;
3387 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressionType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsGetNCChangesCompressionType
*r
)
3390 NDR_CHECK(ndr_pull_enum_uint16(ndr
, NDR_SCALARS
, &v
));
3392 return NDR_ERR_SUCCESS
;
3395 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressionType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsGetNCChangesCompressionType r
)
3397 const char *val
= NULL
;
3400 case DRSUAPI_COMPRESSION_TYPE_MSZIP
: val
= "DRSUAPI_COMPRESSION_TYPE_MSZIP"; break;
3401 case DRSUAPI_COMPRESSION_TYPE_XPRESS
: val
= "DRSUAPI_COMPRESSION_TYPE_XPRESS"; break;
3403 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
3406 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3409 uint32_t _flags_save_UNION
= ndr
->flags
;
3410 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3411 if (ndr_flags
& NDR_SCALARS
) {
3412 int level
= ndr_push_get_switch_value(ndr
, r
);
3413 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3415 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3416 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3419 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3420 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3423 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3424 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3427 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3428 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3432 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3435 if (ndr_flags
& NDR_BUFFERS
) {
3436 int level
= ndr_push_get_switch_value(ndr
, r
);
3438 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3439 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3442 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3443 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3446 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3447 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3450 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3451 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3455 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3458 ndr
->flags
= _flags_save_UNION
;
3460 return NDR_ERR_SUCCESS
;
3463 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3467 uint32_t _flags_save_UNION
= ndr
->flags
;
3468 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3469 level
= ndr_pull_get_switch_value(ndr
, r
);
3470 if (ndr_flags
& NDR_SCALARS
) {
3471 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3473 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3474 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3477 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16): {
3478 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_SCALARS
, &r
->mszip6
));
3481 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3482 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_SCALARS
, &r
->xpress1
));
3485 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16): {
3486 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_SCALARS
, &r
->xpress6
));
3490 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3493 if (ndr_flags
& NDR_BUFFERS
) {
3495 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3496 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3499 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3500 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, NDR_BUFFERS
, &r
->mszip6
));
3503 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3504 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, NDR_BUFFERS
, &r
->xpress1
));
3507 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3508 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, NDR_BUFFERS
, &r
->xpress6
));
3512 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3515 ndr
->flags
= _flags_save_UNION
;
3517 return NDR_ERR_SUCCESS
;
3520 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCompressedCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCompressedCtr
*r
)
3524 uint32_t _flags_save_UNION
= ndr
->flags
;
3525 ndr_set_flags(&ndr
->flags
, LIBNDR_PRINT_ARRAY_HEX
);
3526 level
= ndr_print_get_switch_value(ndr
, r
);
3527 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCompressedCtr");
3529 case 1|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3530 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3533 case 6|(DRSUAPI_COMPRESSION_TYPE_MSZIP
<<16):
3534 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr6(ndr
, "mszip6", &r
->mszip6
);
3537 case 1|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3538 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr1(ndr
, "xpress1", &r
->xpress1
);
3541 case 6|(DRSUAPI_COMPRESSION_TYPE_XPRESS
<<16):
3542 ndr_print_drsuapi_DsGetNCChangesXPRESSCtr6(ndr
, "xpress6", &r
->xpress6
);
3546 ndr_print_bad_level(ndr
, name
, level
);
3548 ndr
->flags
= _flags_save_UNION
;
3552 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3554 if (ndr_flags
& NDR_SCALARS
) {
3555 NDR_CHECK(ndr_push_align(ndr
, 5));
3556 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3557 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3559 if (ndr_flags
& NDR_BUFFERS
) {
3560 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3562 return NDR_ERR_SUCCESS
;
3565 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr2
*r
)
3567 if (ndr_flags
& NDR_SCALARS
) {
3568 NDR_CHECK(ndr_pull_align(ndr
, 5));
3569 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_SCALARS
, &r
->mszip1
));
3570 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3572 if (ndr_flags
& NDR_BUFFERS
) {
3573 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, NDR_BUFFERS
, &r
->mszip1
));
3575 return NDR_ERR_SUCCESS
;
3578 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr2
*r
)
3580 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr2");
3582 ndr_print_drsuapi_DsGetNCChangesMSZIPCtr1(ndr
, "mszip1", &r
->mszip1
);
3586 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr7(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3588 if (ndr_flags
& NDR_SCALARS
) {
3589 NDR_CHECK(ndr_push_align(ndr
, 5));
3590 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
3591 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, r
->type
));
3592 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3593 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3594 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3596 if (ndr_flags
& NDR_BUFFERS
) {
3597 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3599 return NDR_ERR_SUCCESS
;
3602 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr7(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNCChangesCtr7
*r
)
3604 if (ndr_flags
& NDR_SCALARS
) {
3605 NDR_CHECK(ndr_pull_align(ndr
, 5));
3606 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
3608 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3610 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressionType(ndr
, NDR_SCALARS
, &r
->type
));
3611 if (r
->type
< 2 || r
->type
> 3) {
3612 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
3614 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16)));
3615 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_SCALARS
, &r
->ctr
));
3616 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3618 if (ndr_flags
& NDR_BUFFERS
) {
3619 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCompressedCtr(ndr
, NDR_BUFFERS
, &r
->ctr
));
3621 return NDR_ERR_SUCCESS
;
3624 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr7(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNCChangesCtr7
*r
)
3626 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChangesCtr7");
3628 ndr_print_uint32(ndr
, "level", r
->level
);
3629 ndr_print_drsuapi_DsGetNCChangesCompressionType(ndr
, "type", r
->type
);
3630 ndr_print_set_switch_value(ndr
, &r
->ctr
, r
->level
| (r
->type
<< 16));
3631 ndr_print_drsuapi_DsGetNCChangesCompressedCtr(ndr
, "ctr", &r
->ctr
);
3635 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChangesCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNCChangesCtr
*r
)
3637 if (ndr_flags
& NDR_SCALARS
) {
3638 int level
= ndr_push_get_switch_value(ndr
, r
);
3639 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
3640 NDR_CHECK(ndr_push_union_align(ndr
, 8));
3643 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3647 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3651 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3655 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3659 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3662 if (ndr_flags
& NDR_BUFFERS
) {
3663 int level
= ndr_push_get_switch_value(ndr
, r
);
3666 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3670 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3674 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3678 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3682 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3685 return NDR_ERR_SUCCESS
;
3688 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChangesCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNCChangesCtr
*r
)
3692 level
= ndr_pull_get_switch_value(ndr
, r
);
3693 if (ndr_flags
& NDR_SCALARS
) {
3694 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
3695 if (_level
!= level
) {
3696 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3698 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
3701 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
3705 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
3709 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_SCALARS
, &r
->ctr6
));
3713 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_SCALARS
, &r
->ctr7
));
3717 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3720 if (ndr_flags
& NDR_BUFFERS
) {
3723 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
3727 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
3731 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr6(ndr
, NDR_BUFFERS
, &r
->ctr6
));
3735 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr7(ndr
, NDR_BUFFERS
, &r
->ctr7
));
3739 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3742 return NDR_ERR_SUCCESS
;
3745 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNCChangesCtr
*r
)
3748 level
= ndr_print_get_switch_value(ndr
, r
);
3749 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNCChangesCtr");
3752 ndr_print_drsuapi_DsGetNCChangesCtr1(ndr
, "ctr1", &r
->ctr1
);
3756 ndr_print_drsuapi_DsGetNCChangesCtr2(ndr
, "ctr2", &r
->ctr2
);
3760 ndr_print_drsuapi_DsGetNCChangesCtr6(ndr
, "ctr6", &r
->ctr6
);
3764 ndr_print_drsuapi_DsGetNCChangesCtr7(ndr
, "ctr7", &r
->ctr7
);
3768 ndr_print_bad_level(ndr
, name
, level
);
3772 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3774 if (ndr_flags
& NDR_SCALARS
) {
3775 NDR_CHECK(ndr_push_align(ndr
, 5));
3776 if (r
->naming_context
== NULL
) {
3777 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3779 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3780 if (r
->dest_dsa_dns_name
== NULL
) {
3781 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3783 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3784 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3785 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3786 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3788 if (ndr_flags
& NDR_BUFFERS
) {
3789 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3790 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3791 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3792 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dest_dsa_dns_name
, CH_DOS
)));
3793 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
));
3795 return NDR_ERR_SUCCESS
;
3798 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3800 uint32_t _ptr_naming_context
;
3801 TALLOC_CTX
*_mem_save_naming_context_0
;
3802 uint32_t _ptr_dest_dsa_dns_name
;
3803 if (ndr_flags
& NDR_SCALARS
) {
3804 NDR_CHECK(ndr_pull_align(ndr
, 5));
3805 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3806 if (_ptr_naming_context
) {
3807 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3809 r
->naming_context
= NULL
;
3811 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_dest_dsa_dns_name
));
3812 if (_ptr_dest_dsa_dns_name
) {
3813 NDR_PULL_ALLOC(ndr
, r
->dest_dsa_dns_name
);
3815 r
->dest_dsa_dns_name
= NULL
;
3817 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dest_dsa_guid
));
3818 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3819 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3821 if (ndr_flags
& NDR_BUFFERS
) {
3822 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3823 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3824 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3825 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3826 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dest_dsa_dns_name
));
3827 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dest_dsa_dns_name
));
3828 if (ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
) > ndr_get_array_size(ndr
, &r
->dest_dsa_dns_name
)) {
3829 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
));
3831 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dest_dsa_dns_name
), sizeof(uint8_t)));
3832 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
));
3834 return NDR_ERR_SUCCESS
;
3837 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaUpdateRefsRequest1
*r
)
3839 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefsRequest1");
3841 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
3843 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
3845 ndr_print_ptr(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3847 ndr_print_string(ndr
, "dest_dsa_dns_name", r
->dest_dsa_dns_name
);
3849 ndr_print_GUID(ndr
, "dest_dsa_guid", &r
->dest_dsa_guid
);
3850 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
3854 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3856 if (ndr_flags
& NDR_SCALARS
) {
3857 int level
= ndr_push_get_switch_value(ndr
, r
);
3858 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
3859 NDR_CHECK(ndr_push_union_align(ndr
, 5));
3862 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3866 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3869 if (ndr_flags
& NDR_BUFFERS
) {
3870 int level
= ndr_push_get_switch_value(ndr
, r
);
3873 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3877 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3880 return NDR_ERR_SUCCESS
;
3883 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3887 level
= ndr_pull_get_switch_value(ndr
, r
);
3888 if (ndr_flags
& NDR_SCALARS
) {
3889 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
3890 if (_level
!= level
) {
3891 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
3893 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
3896 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
3900 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3903 if (ndr_flags
& NDR_BUFFERS
) {
3906 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
3910 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
3913 return NDR_ERR_SUCCESS
;
3916 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaUpdateRefsRequest
*r
)
3919 level
= ndr_print_get_switch_value(ndr
, r
);
3920 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaUpdateRefsRequest");
3923 ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(ndr
, "req1", &r
->req1
);
3927 ndr_print_bad_level(ndr
, name
, level
);
3931 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest1
*r
)
3933 if (ndr_flags
& NDR_SCALARS
) {
3934 NDR_CHECK(ndr_push_align(ndr
, 5));
3935 if (r
->naming_context
== NULL
) {
3936 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
3938 NDR_CHECK(ndr_push_ref_ptr(ndr
));
3939 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
3940 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3941 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
3942 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
3944 if (ndr_flags
& NDR_BUFFERS
) {
3945 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3946 if (r
->source_dsa_address
) {
3947 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3948 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
3949 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
3950 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
));
3953 return NDR_ERR_SUCCESS
;
3956 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest1
*r
)
3958 uint32_t _ptr_naming_context
;
3959 TALLOC_CTX
*_mem_save_naming_context_0
;
3960 uint32_t _ptr_source_dsa_address
;
3961 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
3962 if (ndr_flags
& NDR_SCALARS
) {
3963 NDR_CHECK(ndr_pull_align(ndr
, 5));
3964 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
3965 if (_ptr_naming_context
) {
3966 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
3968 r
->naming_context
= NULL
;
3970 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
3971 if (_ptr_source_dsa_address
) {
3972 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
3974 r
->source_dsa_address
= NULL
;
3976 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
3977 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
3978 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
3980 if (ndr_flags
& NDR_BUFFERS
) {
3981 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3982 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
3983 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
3984 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
3985 if (r
->source_dsa_address
) {
3986 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
3987 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
3988 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
3989 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
3990 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
3991 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
));
3993 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
3994 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
));
3995 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
3998 return NDR_ERR_SUCCESS
;
4001 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest1
*r
)
4003 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest1");
4005 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4007 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4009 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4011 if (r
->source_dsa_address
) {
4012 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4015 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4016 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4020 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4022 if (ndr_flags
& NDR_SCALARS
) {
4023 NDR_CHECK(ndr_push_align(ndr
, 5));
4024 if (r
->naming_context
== NULL
) {
4025 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4027 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4028 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_dn
));
4029 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_dn
));
4030 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4031 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4032 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4033 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4035 if (ndr_flags
& NDR_BUFFERS
) {
4036 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4037 if (r
->source_dsa_dn
) {
4038 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4040 if (r
->transport_dn
) {
4041 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4043 if (r
->source_dsa_address
) {
4044 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4045 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4046 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4047 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
));
4050 return NDR_ERR_SUCCESS
;
4053 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAddRequest2
*r
)
4055 uint32_t _ptr_naming_context
;
4056 TALLOC_CTX
*_mem_save_naming_context_0
;
4057 uint32_t _ptr_source_dsa_dn
;
4058 TALLOC_CTX
*_mem_save_source_dsa_dn_0
;
4059 uint32_t _ptr_transport_dn
;
4060 TALLOC_CTX
*_mem_save_transport_dn_0
;
4061 uint32_t _ptr_source_dsa_address
;
4062 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4063 if (ndr_flags
& NDR_SCALARS
) {
4064 NDR_CHECK(ndr_pull_align(ndr
, 5));
4065 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4066 if (_ptr_naming_context
) {
4067 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4069 r
->naming_context
= NULL
;
4071 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_dn
));
4072 if (_ptr_source_dsa_dn
) {
4073 NDR_PULL_ALLOC(ndr
, r
->source_dsa_dn
);
4075 r
->source_dsa_dn
= NULL
;
4077 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_dn
));
4078 if (_ptr_transport_dn
) {
4079 NDR_PULL_ALLOC(ndr
, r
->transport_dn
);
4081 r
->transport_dn
= NULL
;
4083 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4084 if (_ptr_source_dsa_address
) {
4085 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4087 r
->source_dsa_address
= NULL
;
4089 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4090 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4091 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4093 if (ndr_flags
& NDR_BUFFERS
) {
4094 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4095 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4096 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4098 if (r
->source_dsa_dn
) {
4099 _mem_save_source_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4100 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_dn
, 0);
4101 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->source_dsa_dn
));
4102 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_dn_0
, 0);
4104 if (r
->transport_dn
) {
4105 _mem_save_transport_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4106 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_dn
, 0);
4107 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->transport_dn
));
4108 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_dn_0
, 0);
4110 if (r
->source_dsa_address
) {
4111 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4112 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4113 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4114 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4115 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4116 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
));
4118 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4119 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
));
4120 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4123 return NDR_ERR_SUCCESS
;
4126 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAddRequest2
*r
)
4128 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAddRequest2");
4130 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4132 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4134 ndr_print_ptr(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4136 if (r
->source_dsa_dn
) {
4137 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "source_dsa_dn", r
->source_dsa_dn
);
4140 ndr_print_ptr(ndr
, "transport_dn", r
->transport_dn
);
4142 if (r
->transport_dn
) {
4143 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "transport_dn", r
->transport_dn
);
4146 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4148 if (r
->source_dsa_address
) {
4149 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4152 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4153 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4157 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAddRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaAddRequest
*r
)
4159 if (ndr_flags
& NDR_SCALARS
) {
4160 int level
= ndr_push_get_switch_value(ndr
, r
);
4161 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4162 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4165 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4169 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4173 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4176 if (ndr_flags
& NDR_BUFFERS
) {
4177 int level
= ndr_push_get_switch_value(ndr
, r
);
4180 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4184 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4188 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4191 return NDR_ERR_SUCCESS
;
4194 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAddRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaAddRequest
*r
)
4198 level
= ndr_pull_get_switch_value(ndr
, r
);
4199 if (ndr_flags
& NDR_SCALARS
) {
4200 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4201 if (_level
!= level
) {
4202 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4204 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4207 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4211 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
4215 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4218 if (ndr_flags
& NDR_BUFFERS
) {
4221 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4225 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
4229 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4232 return NDR_ERR_SUCCESS
;
4235 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaAddRequest
*r
)
4238 level
= ndr_print_get_switch_value(ndr
, r
);
4239 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaAddRequest");
4242 ndr_print_drsuapi_DsReplicaAddRequest1(ndr
, "req1", &r
->req1
);
4246 ndr_print_drsuapi_DsReplicaAddRequest2(ndr
, "req2", &r
->req2
);
4250 ndr_print_bad_level(ndr
, name
, level
);
4254 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4256 if (ndr_flags
& NDR_SCALARS
) {
4257 NDR_CHECK(ndr_push_align(ndr
, 5));
4258 if (r
->naming_context
== NULL
) {
4259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4261 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4262 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
4263 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4264 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4266 if (ndr_flags
& NDR_BUFFERS
) {
4267 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4268 if (r
->source_dsa_address
) {
4269 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4270 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4271 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
4272 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
));
4275 return NDR_ERR_SUCCESS
;
4278 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaDelRequest1
*r
)
4280 uint32_t _ptr_naming_context
;
4281 TALLOC_CTX
*_mem_save_naming_context_0
;
4282 uint32_t _ptr_source_dsa_address
;
4283 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
4284 if (ndr_flags
& NDR_SCALARS
) {
4285 NDR_CHECK(ndr_pull_align(ndr
, 5));
4286 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4287 if (_ptr_naming_context
) {
4288 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4290 r
->naming_context
= NULL
;
4292 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
4293 if (_ptr_source_dsa_address
) {
4294 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
4296 r
->source_dsa_address
= NULL
;
4298 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4299 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4301 if (ndr_flags
& NDR_BUFFERS
) {
4302 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4303 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4304 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4305 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4306 if (r
->source_dsa_address
) {
4307 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4308 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
4309 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
4310 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
4311 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
4312 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
));
4314 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
4315 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
));
4316 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
4319 return NDR_ERR_SUCCESS
;
4322 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaDelRequest1
*r
)
4324 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDelRequest1");
4326 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4328 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4330 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
4332 if (r
->source_dsa_address
) {
4333 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
4336 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4340 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDelRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaDelRequest
*r
)
4342 if (ndr_flags
& NDR_SCALARS
) {
4343 int level
= ndr_push_get_switch_value(ndr
, r
);
4344 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4345 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4348 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4352 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4355 if (ndr_flags
& NDR_BUFFERS
) {
4356 int level
= ndr_push_get_switch_value(ndr
, r
);
4359 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4363 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4366 return NDR_ERR_SUCCESS
;
4369 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDelRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaDelRequest
*r
)
4373 level
= ndr_pull_get_switch_value(ndr
, r
);
4374 if (ndr_flags
& NDR_SCALARS
) {
4375 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4376 if (_level
!= level
) {
4377 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4379 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4382 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4386 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4389 if (ndr_flags
& NDR_BUFFERS
) {
4392 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4396 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4399 return NDR_ERR_SUCCESS
;
4402 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaDelRequest
*r
)
4405 level
= ndr_print_get_switch_value(ndr
, r
);
4406 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaDelRequest");
4409 ndr_print_drsuapi_DsReplicaDelRequest1(ndr
, "req1", &r
->req1
);
4413 ndr_print_bad_level(ndr
, name
, level
);
4417 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaModRequest1
*r
)
4419 if (ndr_flags
& NDR_SCALARS
) {
4420 NDR_CHECK(ndr_push_align(ndr
, 5));
4421 if (r
->naming_context
== NULL
) {
4422 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
4424 NDR_CHECK(ndr_push_ref_ptr(ndr
));
4425 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4426 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dra_address
));
4427 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4428 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->replica_flags
));
4429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->modify_fields
));
4430 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
4431 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4433 if (ndr_flags
& NDR_BUFFERS
) {
4434 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4435 if (r
->source_dra_address
) {
4436 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4437 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
4438 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dra_address
, CH_UTF16
)));
4439 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
));
4442 return NDR_ERR_SUCCESS
;
4445 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaModRequest1
*r
)
4447 uint32_t _ptr_naming_context
;
4448 TALLOC_CTX
*_mem_save_naming_context_0
;
4449 uint32_t _ptr_source_dra_address
;
4450 TALLOC_CTX
*_mem_save_source_dra_address_0
;
4451 if (ndr_flags
& NDR_SCALARS
) {
4452 NDR_CHECK(ndr_pull_align(ndr
, 5));
4453 NDR_CHECK(ndr_pull_ref_ptr(ndr
, &_ptr_naming_context
));
4454 if (_ptr_naming_context
) {
4455 NDR_PULL_ALLOC(ndr
, r
->naming_context
);
4457 r
->naming_context
= NULL
;
4459 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dra
));
4460 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dra_address
));
4461 if (_ptr_source_dra_address
) {
4462 NDR_PULL_ALLOC(ndr
, r
->source_dra_address
);
4464 r
->source_dra_address
= NULL
;
4466 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->schedule
, 84));
4467 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->replica_flags
));
4468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->modify_fields
));
4469 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
4470 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4472 if (ndr_flags
& NDR_BUFFERS
) {
4473 _mem_save_naming_context_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4474 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context
, 0);
4475 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->naming_context
));
4476 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_0
, 0);
4477 if (r
->source_dra_address
) {
4478 _mem_save_source_dra_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4479 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dra_address
, 0);
4480 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dra_address
));
4481 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dra_address
));
4482 if (ndr_get_array_length(ndr
, &r
->source_dra_address
) > ndr_get_array_size(ndr
, &r
->source_dra_address
)) {
4483 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
));
4485 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dra_address
), sizeof(uint16_t)));
4486 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
));
4487 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dra_address_0
, 0);
4490 return NDR_ERR_SUCCESS
;
4493 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaModRequest1
*r
)
4495 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaModRequest1");
4497 ndr_print_ptr(ndr
, "naming_context", r
->naming_context
);
4499 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "naming_context", r
->naming_context
);
4501 ndr_print_GUID(ndr
, "source_dra", &r
->source_dra
);
4502 ndr_print_ptr(ndr
, "source_dra_address", r
->source_dra_address
);
4504 if (r
->source_dra_address
) {
4505 ndr_print_string(ndr
, "source_dra_address", r
->source_dra_address
);
4508 ndr_print_array_uint8(ndr
, "schedule", r
->schedule
, 84);
4509 ndr_print_uint32(ndr
, "replica_flags", r
->replica_flags
);
4510 ndr_print_uint32(ndr
, "modify_fields", r
->modify_fields
);
4511 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
4515 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaModRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaModRequest
*r
)
4517 if (ndr_flags
& NDR_SCALARS
) {
4518 int level
= ndr_push_get_switch_value(ndr
, r
);
4519 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4520 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4523 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4527 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4530 if (ndr_flags
& NDR_BUFFERS
) {
4531 int level
= ndr_push_get_switch_value(ndr
, r
);
4534 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4538 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4541 return NDR_ERR_SUCCESS
;
4544 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaModRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaModRequest
*r
)
4548 level
= ndr_pull_get_switch_value(ndr
, r
);
4549 if (ndr_flags
& NDR_SCALARS
) {
4550 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4551 if (_level
!= level
) {
4552 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4554 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4557 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
4561 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4564 if (ndr_flags
& NDR_BUFFERS
) {
4567 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
4571 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4574 return NDR_ERR_SUCCESS
;
4577 _PUBLIC_
void ndr_print_drsuapi_DsReplicaModRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaModRequest
*r
)
4580 level
= ndr_print_get_switch_value(ndr
, r
);
4581 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaModRequest");
4584 ndr_print_drsuapi_DsReplicaModRequest1(ndr
, "req1", &r
->req1
);
4588 ndr_print_bad_level(ndr
, name
, level
);
4592 static enum ndr_err_code
ndr_push_drsuapi_DsMembershipType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType r
)
4594 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
4595 return NDR_ERR_SUCCESS
;
4598 static enum ndr_err_code
ndr_pull_drsuapi_DsMembershipType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsMembershipType
*r
)
4601 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
4603 return NDR_ERR_SUCCESS
;
4606 _PUBLIC_
void ndr_print_drsuapi_DsMembershipType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsMembershipType r
)
4608 const char *val
= NULL
;
4611 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS"; break;
4612 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS"; break;
4613 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS"; break;
4614 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2"; break;
4615 case DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS"; break;
4616 case DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS"; break;
4617 case DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
: val
= "DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2"; break;
4619 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
4622 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4624 uint32_t cntr_info_array_1
;
4625 uint32_t cntr_group_attrs_1
;
4626 uint32_t cntr_sids_1
;
4627 if (ndr_flags
& NDR_SCALARS
) {
4628 NDR_CHECK(ndr_push_align(ndr
, 5));
4629 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
4630 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_memberships
));
4631 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_sids
));
4632 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4633 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->group_attrs
));
4634 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
));
4635 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4637 if (ndr_flags
& NDR_BUFFERS
) {
4638 if (r
->info_array
) {
4639 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4640 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4641 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4643 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4644 if (r
->info_array
[cntr_info_array_1
]) {
4645 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4649 if (r
->group_attrs
) {
4650 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_memberships
));
4651 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4652 NDR_CHECK(ndr_push_samr_GroupAttrs(ndr
, NDR_SCALARS
, r
->group_attrs
[cntr_group_attrs_1
]));
4656 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_sids
));
4657 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4658 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->sids
[cntr_sids_1
]));
4660 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4661 if (r
->sids
[cntr_sids_1
]) {
4662 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4667 return NDR_ERR_SUCCESS
;
4670 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsCtr1
*r
)
4672 uint32_t _ptr_info_array
;
4673 uint32_t cntr_info_array_1
;
4674 TALLOC_CTX
*_mem_save_info_array_0
;
4675 TALLOC_CTX
*_mem_save_info_array_1
;
4676 TALLOC_CTX
*_mem_save_info_array_2
;
4677 uint32_t _ptr_group_attrs
;
4678 uint32_t cntr_group_attrs_1
;
4679 TALLOC_CTX
*_mem_save_group_attrs_0
;
4680 TALLOC_CTX
*_mem_save_group_attrs_1
;
4682 uint32_t cntr_sids_1
;
4683 TALLOC_CTX
*_mem_save_sids_0
;
4684 TALLOC_CTX
*_mem_save_sids_1
;
4685 TALLOC_CTX
*_mem_save_sids_2
;
4686 if (ndr_flags
& NDR_SCALARS
) {
4687 NDR_CHECK(ndr_pull_align(ndr
, 5));
4688 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
4689 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_memberships
));
4690 if (r
->num_memberships
> 10000) {
4691 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4693 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_sids
));
4694 if (r
->num_sids
> 10000) {
4695 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4697 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4698 if (_ptr_info_array
) {
4699 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4701 r
->info_array
= NULL
;
4703 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_group_attrs
));
4704 if (_ptr_group_attrs
) {
4705 NDR_PULL_ALLOC(ndr
, r
->group_attrs
);
4707 r
->group_attrs
= NULL
;
4709 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4711 NDR_PULL_ALLOC(ndr
, r
->sids
);
4715 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
4717 if (ndr_flags
& NDR_BUFFERS
) {
4718 if (r
->info_array
) {
4719 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4720 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4721 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
4722 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
4723 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4724 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
4725 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4726 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4727 if (_ptr_info_array
) {
4728 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
4730 r
->info_array
[cntr_info_array_1
] = NULL
;
4733 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->num_memberships
; cntr_info_array_1
++) {
4734 if (r
->info_array
[cntr_info_array_1
]) {
4735 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4736 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
4737 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
4741 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
4742 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
4744 if (r
->group_attrs
) {
4745 _mem_save_group_attrs_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4746 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4747 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->group_attrs
));
4748 NDR_PULL_ALLOC_N(ndr
, r
->group_attrs
, ndr_get_array_size(ndr
, &r
->group_attrs
));
4749 _mem_save_group_attrs_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4750 NDR_PULL_SET_MEM_CTX(ndr
, r
->group_attrs
, 0);
4751 for (cntr_group_attrs_1
= 0; cntr_group_attrs_1
< r
->num_memberships
; cntr_group_attrs_1
++) {
4752 NDR_CHECK(ndr_pull_samr_GroupAttrs(ndr
, NDR_SCALARS
, &r
->group_attrs
[cntr_group_attrs_1
]));
4754 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_1
, 0);
4755 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_group_attrs_0
, 0);
4758 _mem_save_sids_0
= NDR_PULL_GET_MEM_CTX(ndr
);
4759 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4760 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->sids
));
4761 NDR_PULL_ALLOC_N(ndr
, r
->sids
, ndr_get_array_size(ndr
, &r
->sids
));
4762 _mem_save_sids_1
= NDR_PULL_GET_MEM_CTX(ndr
);
4763 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
, 0);
4764 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4765 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_sids
));
4767 NDR_PULL_ALLOC(ndr
, r
->sids
[cntr_sids_1
]);
4769 r
->sids
[cntr_sids_1
] = NULL
;
4772 for (cntr_sids_1
= 0; cntr_sids_1
< r
->num_sids
; cntr_sids_1
++) {
4773 if (r
->sids
[cntr_sids_1
]) {
4774 _mem_save_sids_2
= NDR_PULL_GET_MEM_CTX(ndr
);
4775 NDR_PULL_SET_MEM_CTX(ndr
, r
->sids
[cntr_sids_1
], 0);
4776 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->sids
[cntr_sids_1
]));
4777 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_2
, 0);
4780 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_1
, 0);
4781 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_sids_0
, 0);
4783 if (r
->info_array
) {
4784 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->num_memberships
));
4786 if (r
->group_attrs
) {
4787 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->group_attrs
, r
->num_memberships
));
4790 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->sids
, r
->num_sids
));
4793 return NDR_ERR_SUCCESS
;
4796 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsCtr1
*r
)
4798 uint32_t cntr_info_array_1
;
4799 uint32_t cntr_group_attrs_1
;
4800 uint32_t cntr_sids_1
;
4801 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsCtr1");
4803 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
4804 ndr_print_uint32(ndr
, "num_memberships", r
->num_memberships
);
4805 ndr_print_uint32(ndr
, "num_sids", r
->num_sids
);
4806 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
4808 if (r
->info_array
) {
4809 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->num_memberships
);
4811 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->num_memberships
;cntr_info_array_1
++) {
4813 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
4814 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4816 if (r
->info_array
[cntr_info_array_1
]) {
4817 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
4826 ndr_print_ptr(ndr
, "group_attrs", r
->group_attrs
);
4828 if (r
->group_attrs
) {
4829 ndr
->print(ndr
, "%s: ARRAY(%d)", "group_attrs", (int)r
->num_memberships
);
4831 for (cntr_group_attrs_1
=0;cntr_group_attrs_1
<r
->num_memberships
;cntr_group_attrs_1
++) {
4833 if (asprintf(&idx_1
, "[%d]", cntr_group_attrs_1
) != -1) {
4834 ndr_print_samr_GroupAttrs(ndr
, "group_attrs", r
->group_attrs
[cntr_group_attrs_1
]);
4841 ndr_print_ptr(ndr
, "sids", r
->sids
);
4844 ndr
->print(ndr
, "%s: ARRAY(%d)", "sids", (int)r
->num_sids
);
4846 for (cntr_sids_1
=0;cntr_sids_1
<r
->num_sids
;cntr_sids_1
++) {
4848 if (asprintf(&idx_1
, "[%d]", cntr_sids_1
) != -1) {
4849 ndr_print_ptr(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4851 if (r
->sids
[cntr_sids_1
]) {
4852 ndr_print_dom_sid28(ndr
, "sids", r
->sids
[cntr_sids_1
]);
4864 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsCtr
*r
)
4866 if (ndr_flags
& NDR_SCALARS
) {
4867 int level
= ndr_push_get_switch_value(ndr
, r
);
4868 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
4869 NDR_CHECK(ndr_push_union_align(ndr
, 5));
4872 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4876 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4879 if (ndr_flags
& NDR_BUFFERS
) {
4880 int level
= ndr_push_get_switch_value(ndr
, r
);
4883 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4887 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4890 return NDR_ERR_SUCCESS
;
4893 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsCtr
*r
)
4897 level
= ndr_pull_get_switch_value(ndr
, r
);
4898 if (ndr_flags
& NDR_SCALARS
) {
4899 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
4900 if (_level
!= level
) {
4901 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
4903 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
4906 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
4910 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4913 if (ndr_flags
& NDR_BUFFERS
) {
4916 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
4920 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
4923 return NDR_ERR_SUCCESS
;
4926 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsCtr
*r
)
4929 level
= ndr_print_get_switch_value(ndr
, r
);
4930 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsCtr");
4933 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
4937 ndr_print_bad_level(ndr
, name
, level
);
4941 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
4943 uint32_t cntr_info_array_1
;
4944 if (ndr_flags
& NDR_SCALARS
) {
4945 NDR_CHECK(ndr_push_align(ndr
, 5));
4946 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
4947 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
));
4948 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
4949 NDR_CHECK(ndr_push_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, r
->type
));
4950 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain
));
4951 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
4953 if (ndr_flags
& NDR_BUFFERS
) {
4954 if (r
->info_array
) {
4955 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
4956 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4957 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info_array
[cntr_info_array_1
]));
4959 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
4960 if (r
->info_array
[cntr_info_array_1
]) {
4961 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
4966 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
4969 return NDR_ERR_SUCCESS
;
4972 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMembershipsRequest1
*r
)
4974 uint32_t _ptr_info_array
;
4975 uint32_t cntr_info_array_1
;
4976 TALLOC_CTX
*_mem_save_info_array_0
;
4977 TALLOC_CTX
*_mem_save_info_array_1
;
4978 TALLOC_CTX
*_mem_save_info_array_2
;
4979 uint32_t _ptr_domain
;
4980 TALLOC_CTX
*_mem_save_domain_0
;
4981 if (ndr_flags
& NDR_SCALARS
) {
4982 NDR_CHECK(ndr_pull_align(ndr
, 5));
4983 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
4984 if (r
->count
< 1 || r
->count
> 10000) {
4985 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4987 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
4988 if (_ptr_info_array
) {
4989 NDR_PULL_ALLOC(ndr
, r
->info_array
);
4991 r
->info_array
= NULL
;
4993 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
4994 NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr
, NDR_SCALARS
, &r
->type
));
4995 if (r
->type
< 1 || r
->type
> 7) {
4996 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
4998 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain
));
5000 NDR_PULL_ALLOC(ndr
, r
->domain
);
5004 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5006 if (ndr_flags
& NDR_BUFFERS
) {
5007 if (r
->info_array
) {
5008 _mem_save_info_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5009 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5010 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info_array
));
5011 NDR_PULL_ALLOC_N(ndr
, r
->info_array
, ndr_get_array_size(ndr
, &r
->info_array
));
5012 _mem_save_info_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5013 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
, 0);
5014 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5015 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info_array
));
5016 if (_ptr_info_array
) {
5017 NDR_PULL_ALLOC(ndr
, r
->info_array
[cntr_info_array_1
]);
5019 r
->info_array
[cntr_info_array_1
] = NULL
;
5022 for (cntr_info_array_1
= 0; cntr_info_array_1
< r
->count
; cntr_info_array_1
++) {
5023 if (r
->info_array
[cntr_info_array_1
]) {
5024 _mem_save_info_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
5025 NDR_PULL_SET_MEM_CTX(ndr
, r
->info_array
[cntr_info_array_1
], 0);
5026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info_array
[cntr_info_array_1
]));
5027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_2
, 0);
5030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_1
, 0);
5031 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_array_0
, 0);
5034 _mem_save_domain_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5035 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain
, 0);
5036 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->domain
));
5037 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_0
, 0);
5039 if (r
->info_array
) {
5040 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info_array
, r
->count
));
5043 return NDR_ERR_SUCCESS
;
5046 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMembershipsRequest1
*r
)
5048 uint32_t cntr_info_array_1
;
5049 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMembershipsRequest1");
5051 ndr_print_uint32(ndr
, "count", r
->count
);
5052 ndr_print_ptr(ndr
, "info_array", r
->info_array
);
5054 if (r
->info_array
) {
5055 ndr
->print(ndr
, "%s: ARRAY(%d)", "info_array", (int)r
->count
);
5057 for (cntr_info_array_1
=0;cntr_info_array_1
<r
->count
;cntr_info_array_1
++) {
5059 if (asprintf(&idx_1
, "[%d]", cntr_info_array_1
) != -1) {
5060 ndr_print_ptr(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5062 if (r
->info_array
[cntr_info_array_1
]) {
5063 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "info_array", r
->info_array
[cntr_info_array_1
]);
5072 ndr_print_uint32(ndr
, "flags", r
->flags
);
5073 ndr_print_drsuapi_DsMembershipType(ndr
, "type", r
->type
);
5074 ndr_print_ptr(ndr
, "domain", r
->domain
);
5077 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "domain", r
->domain
);
5083 static enum ndr_err_code
ndr_push_drsuapi_DsGetMembershipsRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMembershipsRequest
*r
)
5085 if (ndr_flags
& NDR_SCALARS
) {
5086 int level
= ndr_push_get_switch_value(ndr
, r
);
5087 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5088 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5091 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5095 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5098 if (ndr_flags
& NDR_BUFFERS
) {
5099 int level
= ndr_push_get_switch_value(ndr
, r
);
5102 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5106 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5109 return NDR_ERR_SUCCESS
;
5112 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMembershipsRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMembershipsRequest
*r
)
5116 level
= ndr_pull_get_switch_value(ndr
, r
);
5117 if (ndr_flags
& NDR_SCALARS
) {
5118 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5119 if (_level
!= level
) {
5120 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5122 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5125 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5129 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5132 if (ndr_flags
& NDR_BUFFERS
) {
5135 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5139 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5142 return NDR_ERR_SUCCESS
;
5145 _PUBLIC_
void ndr_print_drsuapi_DsGetMembershipsRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMembershipsRequest
*r
)
5148 level
= ndr_print_get_switch_value(ndr
, r
);
5149 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMembershipsRequest");
5152 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req1", &r
->req1
);
5156 ndr_print_bad_level(ndr
, name
, level
);
5160 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
5162 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
5163 return NDR_ERR_SUCCESS
;
5166 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
5169 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
5171 return NDR_ERR_SUCCESS
;
5174 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
5176 ndr_print_uint32(ndr
, name
, r
);
5178 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG", DRSUAPI_NT4_CHANGELOG_GET_CHANGELOG
, r
);
5179 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS", DRSUAPI_NT4_CHANGELOG_GET_SERIAL_NUMBERS
, r
);
5183 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5185 if (ndr_flags
& NDR_SCALARS
) {
5186 NDR_CHECK(ndr_push_align(ndr
, 5));
5187 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogFlags(ndr
, NDR_SCALARS
, r
->flags
));
5188 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->preferred_maximum_length
));
5189 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->restart_length
));
5190 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->restart_data
));
5191 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5193 if (ndr_flags
& NDR_BUFFERS
) {
5194 if (r
->restart_data
) {
5195 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->restart_length
));
5196 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, r
->restart_length
));
5199 return NDR_ERR_SUCCESS
;
5202 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5204 uint32_t _ptr_restart_data
;
5205 TALLOC_CTX
*_mem_save_restart_data_0
;
5206 if (ndr_flags
& NDR_SCALARS
) {
5207 NDR_CHECK(ndr_pull_align(ndr
, 5));
5208 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogFlags(ndr
, NDR_SCALARS
, &r
->flags
));
5209 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->preferred_maximum_length
));
5210 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->restart_length
));
5211 if (r
->restart_length
> 0x00A00000) {
5212 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5214 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_restart_data
));
5215 if (_ptr_restart_data
) {
5216 NDR_PULL_ALLOC(ndr
, r
->restart_data
);
5218 r
->restart_data
= NULL
;
5220 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5222 if (ndr_flags
& NDR_BUFFERS
) {
5223 if (r
->restart_data
) {
5224 _mem_save_restart_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5225 NDR_PULL_SET_MEM_CTX(ndr
, r
->restart_data
, 0);
5226 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->restart_data
));
5227 NDR_PULL_ALLOC_N(ndr
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
));
5228 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
)));
5229 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_restart_data_0
, 0);
5231 if (r
->restart_data
) {
5232 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->restart_data
, r
->restart_length
));
5235 return NDR_ERR_SUCCESS
;
5238 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogRequest1
*r
)
5240 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogRequest1");
5242 ndr_print_drsuapi_DsGetNT4ChangeLogFlags(ndr
, "flags", r
->flags
);
5243 ndr_print_uint32(ndr
, "preferred_maximum_length", r
->preferred_maximum_length
);
5244 ndr_print_uint32(ndr
, "restart_length", r
->restart_length
);
5245 ndr_print_ptr(ndr
, "restart_data", r
->restart_data
);
5247 if (r
->restart_data
) {
5248 ndr_print_array_uint8(ndr
, "restart_data", r
->restart_data
, r
->restart_length
);
5254 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5256 if (ndr_flags
& NDR_SCALARS
) {
5257 int level
= ndr_push_get_switch_value(ndr
, r
);
5258 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5259 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5262 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5266 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5269 if (ndr_flags
& NDR_BUFFERS
) {
5270 int level
= ndr_push_get_switch_value(ndr
, r
);
5273 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5277 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5280 return NDR_ERR_SUCCESS
;
5283 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5287 level
= ndr_pull_get_switch_value(ndr
, r
);
5288 if (ndr_flags
& NDR_SCALARS
) {
5289 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5290 if (_level
!= level
) {
5291 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5293 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5296 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5300 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5303 if (ndr_flags
& NDR_BUFFERS
) {
5306 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5310 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5313 return NDR_ERR_SUCCESS
;
5316 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogRequest
*r
)
5319 level
= ndr_print_get_switch_value(ndr
, r
);
5320 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogRequest");
5323 ndr_print_drsuapi_DsGetNT4ChangeLogRequest1(ndr
, "req1", &r
->req1
);
5327 ndr_print_bad_level(ndr
, name
, level
);
5331 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5333 if (ndr_flags
& NDR_SCALARS
) {
5334 NDR_CHECK(ndr_push_align(ndr
, 8));
5335 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->restart_length
));
5336 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->log_length
));
5337 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->sam_serial_number
));
5338 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->sam_creation_time
));
5339 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->builtin_serial_number
));
5340 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->builtin_creation_time
));
5341 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->lsa_serial_number
));
5342 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->lsa_creation_time
));
5343 NDR_CHECK(ndr_push_NTSTATUS(ndr
, NDR_SCALARS
, r
->status
));
5344 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->restart_data
));
5345 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->log_data
));
5346 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
5348 if (ndr_flags
& NDR_BUFFERS
) {
5349 if (r
->restart_data
) {
5350 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->restart_length
));
5351 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, r
->restart_length
));
5354 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->log_length
));
5355 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->log_data
, r
->log_length
));
5358 return NDR_ERR_SUCCESS
;
5361 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5363 uint32_t _ptr_restart_data
;
5364 TALLOC_CTX
*_mem_save_restart_data_0
;
5365 uint32_t _ptr_log_data
;
5366 TALLOC_CTX
*_mem_save_log_data_0
;
5367 if (ndr_flags
& NDR_SCALARS
) {
5368 NDR_CHECK(ndr_pull_align(ndr
, 8));
5369 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->restart_length
));
5370 if (r
->restart_length
> 0x00A00000) {
5371 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5373 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->log_length
));
5374 if (r
->log_length
> 0x00A00000) {
5375 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5377 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->sam_serial_number
));
5378 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->sam_creation_time
));
5379 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->builtin_serial_number
));
5380 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->builtin_creation_time
));
5381 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->lsa_serial_number
));
5382 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->lsa_creation_time
));
5383 NDR_CHECK(ndr_pull_NTSTATUS(ndr
, NDR_SCALARS
, &r
->status
));
5384 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_restart_data
));
5385 if (_ptr_restart_data
) {
5386 NDR_PULL_ALLOC(ndr
, r
->restart_data
);
5388 r
->restart_data
= NULL
;
5390 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_log_data
));
5391 if (_ptr_log_data
) {
5392 NDR_PULL_ALLOC(ndr
, r
->log_data
);
5396 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
5398 if (ndr_flags
& NDR_BUFFERS
) {
5399 if (r
->restart_data
) {
5400 _mem_save_restart_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5401 NDR_PULL_SET_MEM_CTX(ndr
, r
->restart_data
, 0);
5402 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->restart_data
));
5403 NDR_PULL_ALLOC_N(ndr
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
));
5404 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->restart_data
, ndr_get_array_size(ndr
, &r
->restart_data
)));
5405 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_restart_data_0
, 0);
5408 _mem_save_log_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5409 NDR_PULL_SET_MEM_CTX(ndr
, r
->log_data
, 0);
5410 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->log_data
));
5411 NDR_PULL_ALLOC_N(ndr
, r
->log_data
, ndr_get_array_size(ndr
, &r
->log_data
));
5412 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->log_data
, ndr_get_array_size(ndr
, &r
->log_data
)));
5413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_log_data_0
, 0);
5415 if (r
->restart_data
) {
5416 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->restart_data
, r
->restart_length
));
5419 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->log_data
, r
->log_length
));
5422 return NDR_ERR_SUCCESS
;
5425 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetNT4ChangeLogInfo1
*r
)
5427 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLogInfo1");
5429 ndr_print_uint32(ndr
, "restart_length", r
->restart_length
);
5430 ndr_print_uint32(ndr
, "log_length", r
->log_length
);
5431 ndr_print_hyper(ndr
, "sam_serial_number", r
->sam_serial_number
);
5432 ndr_print_NTTIME(ndr
, "sam_creation_time", r
->sam_creation_time
);
5433 ndr_print_hyper(ndr
, "builtin_serial_number", r
->builtin_serial_number
);
5434 ndr_print_NTTIME(ndr
, "builtin_creation_time", r
->builtin_creation_time
);
5435 ndr_print_hyper(ndr
, "lsa_serial_number", r
->lsa_serial_number
);
5436 ndr_print_NTTIME(ndr
, "lsa_creation_time", r
->lsa_creation_time
);
5437 ndr_print_NTSTATUS(ndr
, "status", r
->status
);
5438 ndr_print_ptr(ndr
, "restart_data", r
->restart_data
);
5440 if (r
->restart_data
) {
5441 ndr_print_array_uint8(ndr
, "restart_data", r
->restart_data
, r
->restart_length
);
5444 ndr_print_ptr(ndr
, "log_data", r
->log_data
);
5447 ndr_print_array_uint8(ndr
, "log_data", r
->log_data
, r
->log_length
);
5453 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5455 if (ndr_flags
& NDR_SCALARS
) {
5456 int level
= ndr_push_get_switch_value(ndr
, r
);
5457 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5458 NDR_CHECK(ndr_push_union_align(ndr
, 8));
5461 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5465 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5468 if (ndr_flags
& NDR_BUFFERS
) {
5469 int level
= ndr_push_get_switch_value(ndr
, r
);
5472 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5476 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5479 return NDR_ERR_SUCCESS
;
5482 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5486 level
= ndr_pull_get_switch_value(ndr
, r
);
5487 if (ndr_flags
& NDR_SCALARS
) {
5488 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5489 if (_level
!= level
) {
5490 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5492 NDR_CHECK(ndr_pull_union_align(ndr
, 8));
5495 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_SCALARS
, &r
->info1
));
5499 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5502 if (ndr_flags
& NDR_BUFFERS
) {
5505 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, NDR_BUFFERS
, &r
->info1
));
5509 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5512 return NDR_ERR_SUCCESS
;
5515 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLogInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetNT4ChangeLogInfo
*r
)
5518 level
= ndr_print_get_switch_value(ndr
, r
);
5519 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetNT4ChangeLogInfo");
5522 ndr_print_drsuapi_DsGetNT4ChangeLogInfo1(ndr
, "info1", &r
->info1
);
5526 ndr_print_bad_level(ndr
, name
, level
);
5530 static enum ndr_err_code
ndr_push_drsuapi_DsNameStatus(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus r
)
5532 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5533 return NDR_ERR_SUCCESS
;
5536 static enum ndr_err_code
ndr_pull_drsuapi_DsNameStatus(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameStatus
*r
)
5539 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5541 return NDR_ERR_SUCCESS
;
5544 _PUBLIC_
void ndr_print_drsuapi_DsNameStatus(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameStatus r
)
5546 const char *val
= NULL
;
5549 case DRSUAPI_DS_NAME_STATUS_OK
: val
= "DRSUAPI_DS_NAME_STATUS_OK"; break;
5550 case DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
: val
= "DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR"; break;
5551 case DRSUAPI_DS_NAME_STATUS_NOT_FOUND
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_FOUND"; break;
5552 case DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
: val
= "DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE"; break;
5553 case DRSUAPI_DS_NAME_STATUS_NO_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_MAPPING"; break;
5554 case DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
: val
= "DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY"; break;
5555 case DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
: val
= "DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING"; break;
5556 case DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL"; break;
5558 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5561 static enum ndr_err_code
ndr_push_drsuapi_DsNameFlags(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags r
)
5563 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5564 return NDR_ERR_SUCCESS
;
5567 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFlags(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFlags
*r
)
5570 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5572 return NDR_ERR_SUCCESS
;
5575 _PUBLIC_
void ndr_print_drsuapi_DsNameFlags(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFlags r
)
5577 const char *val
= NULL
;
5580 case DRSUAPI_DS_NAME_FLAG_NO_FLAGS
: val
= "DRSUAPI_DS_NAME_FLAG_NO_FLAGS"; break;
5581 case DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
: val
= "DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY"; break;
5582 case DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
: val
= "DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC"; break;
5583 case DRSUAPI_DS_NAME_FLAG_GCVERIFY
: val
= "DRSUAPI_DS_NAME_FLAG_GCVERIFY"; break;
5584 case DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
: val
= "DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL"; break;
5586 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5589 static enum ndr_err_code
ndr_push_drsuapi_DsNameFormat(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat r
)
5591 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
5592 return NDR_ERR_SUCCESS
;
5595 static enum ndr_err_code
ndr_pull_drsuapi_DsNameFormat(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsNameFormat
*r
)
5598 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
5600 return NDR_ERR_SUCCESS
;
5603 _PUBLIC_
void ndr_print_drsuapi_DsNameFormat(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsNameFormat r
)
5605 const char *val
= NULL
;
5608 case DRSUAPI_DS_NAME_FORMAT_UNKNOWN
: val
= "DRSUAPI_DS_NAME_FORMAT_UNKNOWN"; break;
5609 case DRSUAPI_DS_NAME_FORMAT_FQDN_1779
: val
= "DRSUAPI_DS_NAME_FORMAT_FQDN_1779"; break;
5610 case DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
: val
= "DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT"; break;
5611 case DRSUAPI_DS_NAME_FORMAT_DISPLAY
: val
= "DRSUAPI_DS_NAME_FORMAT_DISPLAY"; break;
5612 case DRSUAPI_DS_NAME_FORMAT_GUID
: val
= "DRSUAPI_DS_NAME_FORMAT_GUID"; break;
5613 case DRSUAPI_DS_NAME_FORMAT_CANONICAL
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL"; break;
5614 case DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL"; break;
5615 case DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
: val
= "DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX"; break;
5616 case DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
: val
= "DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL"; break;
5617 case DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
: val
= "DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY"; break;
5618 case DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
: val
= "DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN"; break;
5620 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
5623 static enum ndr_err_code
ndr_push_drsuapi_DsNameString(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameString
*r
)
5625 if (ndr_flags
& NDR_SCALARS
) {
5626 NDR_CHECK(ndr_push_align(ndr
, 5));
5627 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str
));
5628 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5630 if (ndr_flags
& NDR_BUFFERS
) {
5632 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5633 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5634 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str
, CH_UTF16
)));
5635 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str
, ndr_charset_length(r
->str
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5638 return NDR_ERR_SUCCESS
;
5641 static enum ndr_err_code
ndr_pull_drsuapi_DsNameString(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameString
*r
)
5644 TALLOC_CTX
*_mem_save_str_0
;
5645 if (ndr_flags
& NDR_SCALARS
) {
5646 NDR_CHECK(ndr_pull_align(ndr
, 5));
5647 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str
));
5649 NDR_PULL_ALLOC(ndr
, r
->str
);
5653 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5655 if (ndr_flags
& NDR_BUFFERS
) {
5657 _mem_save_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5658 NDR_PULL_SET_MEM_CTX(ndr
, r
->str
, 0);
5659 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str
));
5660 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str
));
5661 if (ndr_get_array_length(ndr
, &r
->str
) > ndr_get_array_size(ndr
, &r
->str
)) {
5662 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
));
5664 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t)));
5665 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str
, ndr_get_array_length(ndr
, &r
->str
), sizeof(uint16_t), CH_UTF16
));
5666 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str_0
, 0);
5669 return NDR_ERR_SUCCESS
;
5672 _PUBLIC_
void ndr_print_drsuapi_DsNameString(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameString
*r
)
5674 ndr_print_struct(ndr
, name
, "drsuapi_DsNameString");
5676 ndr_print_ptr(ndr
, "str", r
->str
);
5679 ndr_print_string(ndr
, "str", r
->str
);
5685 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameRequest1
*r
)
5687 uint32_t cntr_names_1
;
5688 if (ndr_flags
& NDR_SCALARS
) {
5689 NDR_CHECK(ndr_push_align(ndr
, 5));
5690 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->codepage
));
5691 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->language
));
5692 NDR_CHECK(ndr_push_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, r
->format_flags
));
5693 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_offered
));
5694 NDR_CHECK(ndr_push_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, r
->format_desired
));
5695 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5696 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->names
));
5697 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5699 if (ndr_flags
& NDR_BUFFERS
) {
5701 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5702 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5703 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5705 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5706 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5710 return NDR_ERR_SUCCESS
;
5713 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameRequest1
*r
)
5715 uint32_t _ptr_names
;
5716 uint32_t cntr_names_1
;
5717 TALLOC_CTX
*_mem_save_names_0
;
5718 TALLOC_CTX
*_mem_save_names_1
;
5719 if (ndr_flags
& NDR_SCALARS
) {
5720 NDR_CHECK(ndr_pull_align(ndr
, 5));
5721 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->codepage
));
5722 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->language
));
5723 NDR_CHECK(ndr_pull_drsuapi_DsNameFlags(ndr
, NDR_SCALARS
, &r
->format_flags
));
5724 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_offered
));
5725 NDR_CHECK(ndr_pull_drsuapi_DsNameFormat(ndr
, NDR_SCALARS
, &r
->format_desired
));
5726 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5727 if (r
->count
< 1 || r
->count
> 10000) {
5728 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
5730 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_names
));
5732 NDR_PULL_ALLOC(ndr
, r
->names
);
5736 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5738 if (ndr_flags
& NDR_BUFFERS
) {
5740 _mem_save_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5741 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5742 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->names
));
5743 NDR_PULL_ALLOC_N(ndr
, r
->names
, ndr_get_array_size(ndr
, &r
->names
));
5744 _mem_save_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
5745 NDR_PULL_SET_MEM_CTX(ndr
, r
->names
, 0);
5746 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5747 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->names
[cntr_names_1
]));
5749 for (cntr_names_1
= 0; cntr_names_1
< r
->count
; cntr_names_1
++) {
5750 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->names
[cntr_names_1
]));
5752 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_1
, 0);
5753 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_names_0
, 0);
5756 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->names
, r
->count
));
5759 return NDR_ERR_SUCCESS
;
5762 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameRequest1
*r
)
5764 uint32_t cntr_names_1
;
5765 ndr_print_struct(ndr
, name
, "drsuapi_DsNameRequest1");
5767 ndr_print_uint32(ndr
, "codepage", r
->codepage
);
5768 ndr_print_uint32(ndr
, "language", r
->language
);
5769 ndr_print_drsuapi_DsNameFlags(ndr
, "format_flags", r
->format_flags
);
5770 ndr_print_drsuapi_DsNameFormat(ndr
, "format_offered", r
->format_offered
);
5771 ndr_print_drsuapi_DsNameFormat(ndr
, "format_desired", r
->format_desired
);
5772 ndr_print_uint32(ndr
, "count", r
->count
);
5773 ndr_print_ptr(ndr
, "names", r
->names
);
5776 ndr
->print(ndr
, "%s: ARRAY(%d)", "names", (int)r
->count
);
5778 for (cntr_names_1
=0;cntr_names_1
<r
->count
;cntr_names_1
++) {
5780 if (asprintf(&idx_1
, "[%d]", cntr_names_1
) != -1) {
5781 ndr_print_drsuapi_DsNameString(ndr
, "names", &r
->names
[cntr_names_1
]);
5791 static enum ndr_err_code
ndr_push_drsuapi_DsNameRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameRequest
*r
)
5793 if (ndr_flags
& NDR_SCALARS
) {
5794 int level
= ndr_push_get_switch_value(ndr
, r
);
5795 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
5796 NDR_CHECK(ndr_push_union_align(ndr
, 5));
5799 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5803 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5806 if (ndr_flags
& NDR_BUFFERS
) {
5807 int level
= ndr_push_get_switch_value(ndr
, r
);
5810 NDR_CHECK(ndr_push_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5814 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5817 return NDR_ERR_SUCCESS
;
5820 static enum ndr_err_code
ndr_pull_drsuapi_DsNameRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameRequest
*r
)
5824 level
= ndr_pull_get_switch_value(ndr
, r
);
5825 if (ndr_flags
& NDR_SCALARS
) {
5826 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
5827 if (_level
!= level
) {
5828 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
5830 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
5833 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
5837 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5840 if (ndr_flags
& NDR_BUFFERS
) {
5843 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
5847 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
5850 return NDR_ERR_SUCCESS
;
5853 _PUBLIC_
void ndr_print_drsuapi_DsNameRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameRequest
*r
)
5856 level
= ndr_print_get_switch_value(ndr
, r
);
5857 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameRequest");
5860 ndr_print_drsuapi_DsNameRequest1(ndr
, "req1", &r
->req1
);
5864 ndr_print_bad_level(ndr
, name
, level
);
5868 static enum ndr_err_code
ndr_push_drsuapi_DsNameInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameInfo1
*r
)
5870 if (ndr_flags
& NDR_SCALARS
) {
5871 NDR_CHECK(ndr_push_align(ndr
, 5));
5872 NDR_CHECK(ndr_push_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, r
->status
));
5873 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_domain_name
));
5874 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->result_name
));
5875 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5877 if (ndr_flags
& NDR_BUFFERS
) {
5878 if (r
->dns_domain_name
) {
5879 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5880 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5881 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_domain_name
, CH_UTF16
)));
5882 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
));
5884 if (r
->result_name
) {
5885 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5886 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
5887 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->result_name
, CH_UTF16
)));
5888 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->result_name
, ndr_charset_length(r
->result_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
5891 return NDR_ERR_SUCCESS
;
5894 static enum ndr_err_code
ndr_pull_drsuapi_DsNameInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameInfo1
*r
)
5896 uint32_t _ptr_dns_domain_name
;
5897 TALLOC_CTX
*_mem_save_dns_domain_name_0
;
5898 uint32_t _ptr_result_name
;
5899 TALLOC_CTX
*_mem_save_result_name_0
;
5900 if (ndr_flags
& NDR_SCALARS
) {
5901 NDR_CHECK(ndr_pull_align(ndr
, 5));
5902 NDR_CHECK(ndr_pull_drsuapi_DsNameStatus(ndr
, NDR_SCALARS
, &r
->status
));
5903 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_domain_name
));
5904 if (_ptr_dns_domain_name
) {
5905 NDR_PULL_ALLOC(ndr
, r
->dns_domain_name
);
5907 r
->dns_domain_name
= NULL
;
5909 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_result_name
));
5910 if (_ptr_result_name
) {
5911 NDR_PULL_ALLOC(ndr
, r
->result_name
);
5913 r
->result_name
= NULL
;
5915 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
5917 if (ndr_flags
& NDR_BUFFERS
) {
5918 if (r
->dns_domain_name
) {
5919 _mem_save_dns_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5920 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_domain_name
, 0);
5921 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_domain_name
));
5922 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_domain_name
));
5923 if (ndr_get_array_length(ndr
, &r
->dns_domain_name
) > ndr_get_array_size(ndr
, &r
->dns_domain_name
)) {
5924 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
));
5926 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_domain_name
), sizeof(uint16_t)));
5927 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
));
5928 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_domain_name_0
, 0);
5930 if (r
->result_name
) {
5931 _mem_save_result_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
5932 NDR_PULL_SET_MEM_CTX(ndr
, r
->result_name
, 0);
5933 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->result_name
));
5934 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->result_name
));
5935 if (ndr_get_array_length(ndr
, &r
->result_name
) > ndr_get_array_size(ndr
, &r
->result_name
)) {
5936 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
));
5938 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t)));
5939 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->result_name
, ndr_get_array_length(ndr
, &r
->result_name
), sizeof(uint16_t), CH_UTF16
));
5940 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_result_name_0
, 0);
5943 return NDR_ERR_SUCCESS
;
5946 _PUBLIC_
void ndr_print_drsuapi_DsNameInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameInfo1
*r
)
5948 ndr_print_struct(ndr
, name
, "drsuapi_DsNameInfo1");
5950 ndr_print_drsuapi_DsNameStatus(ndr
, "status", r
->status
);
5951 ndr_print_ptr(ndr
, "dns_domain_name", r
->dns_domain_name
);
5953 if (r
->dns_domain_name
) {
5954 ndr_print_string(ndr
, "dns_domain_name", r
->dns_domain_name
);
5957 ndr_print_ptr(ndr
, "result_name", r
->result_name
);
5959 if (r
->result_name
) {
5960 ndr_print_string(ndr
, "result_name", r
->result_name
);
5966 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsNameCtr1
*r
)
5968 uint32_t cntr_array_1
;
5969 if (ndr_flags
& NDR_SCALARS
) {
5970 NDR_CHECK(ndr_push_align(ndr
, 5));
5971 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
5972 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
5973 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
5975 if (ndr_flags
& NDR_BUFFERS
) {
5977 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
5978 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5979 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
5981 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
5982 NDR_CHECK(ndr_push_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
5986 return NDR_ERR_SUCCESS
;
5989 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsNameCtr1
*r
)
5991 uint32_t _ptr_array
;
5992 uint32_t cntr_array_1
;
5993 TALLOC_CTX
*_mem_save_array_0
;
5994 TALLOC_CTX
*_mem_save_array_1
;
5995 if (ndr_flags
& NDR_SCALARS
) {
5996 NDR_CHECK(ndr_pull_align(ndr
, 5));
5997 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
5998 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
6000 NDR_PULL_ALLOC(ndr
, r
->array
);
6004 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6006 if (ndr_flags
& NDR_BUFFERS
) {
6008 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6009 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6010 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
6011 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
6012 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6013 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
6014 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6015 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
6017 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
6018 NDR_CHECK(ndr_pull_drsuapi_DsNameInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
6020 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
6021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
6024 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
6027 return NDR_ERR_SUCCESS
;
6030 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsNameCtr1
*r
)
6032 uint32_t cntr_array_1
;
6033 ndr_print_struct(ndr
, name
, "drsuapi_DsNameCtr1");
6035 ndr_print_uint32(ndr
, "count", r
->count
);
6036 ndr_print_ptr(ndr
, "array", r
->array
);
6039 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
6041 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
6043 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
6044 ndr_print_drsuapi_DsNameInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
6054 static enum ndr_err_code
ndr_push_drsuapi_DsNameCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsNameCtr
*r
)
6056 if (ndr_flags
& NDR_SCALARS
) {
6057 int level
= ndr_push_get_switch_value(ndr
, r
);
6058 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6059 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6062 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ctr1
));
6066 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6069 if (ndr_flags
& NDR_BUFFERS
) {
6070 int level
= ndr_push_get_switch_value(ndr
, r
);
6074 NDR_CHECK(ndr_push_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6079 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6082 return NDR_ERR_SUCCESS
;
6085 static enum ndr_err_code
ndr_pull_drsuapi_DsNameCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsNameCtr
*r
)
6089 TALLOC_CTX
*_mem_save_ctr1_0
;
6090 level
= ndr_pull_get_switch_value(ndr
, r
);
6091 if (ndr_flags
& NDR_SCALARS
) {
6092 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6093 if (_level
!= level
) {
6094 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6096 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6100 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ctr1
));
6102 NDR_PULL_ALLOC(ndr
, r
->ctr1
);
6109 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6112 if (ndr_flags
& NDR_BUFFERS
) {
6116 _mem_save_ctr1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6117 NDR_PULL_SET_MEM_CTX(ndr
, r
->ctr1
, 0);
6118 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->ctr1
));
6119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr1_0
, 0);
6124 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6127 return NDR_ERR_SUCCESS
;
6130 _PUBLIC_
void ndr_print_drsuapi_DsNameCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsNameCtr
*r
)
6133 level
= ndr_print_get_switch_value(ndr
, r
);
6134 ndr_print_union(ndr
, name
, level
, "drsuapi_DsNameCtr");
6137 ndr_print_ptr(ndr
, "ctr1", r
->ctr1
);
6140 ndr_print_drsuapi_DsNameCtr1(ndr
, "ctr1", r
->ctr1
);
6146 ndr_print_bad_level(ndr
, name
, level
);
6150 static enum ndr_err_code
ndr_push_drsuapi_DsSpnOperation(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation r
)
6152 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
6153 return NDR_ERR_SUCCESS
;
6156 static enum ndr_err_code
ndr_pull_drsuapi_DsSpnOperation(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsSpnOperation
*r
)
6159 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
6161 return NDR_ERR_SUCCESS
;
6164 _PUBLIC_
void ndr_print_drsuapi_DsSpnOperation(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsSpnOperation r
)
6166 const char *val
= NULL
;
6169 case DRSUAPI_DS_SPN_OPERATION_ADD
: val
= "DRSUAPI_DS_SPN_OPERATION_ADD"; break;
6170 case DRSUAPI_DS_SPN_OPERATION_REPLACE
: val
= "DRSUAPI_DS_SPN_OPERATION_REPLACE"; break;
6171 case DRSUAPI_DS_SPN_OPERATION_DELETE
: val
= "DRSUAPI_DS_SPN_OPERATION_DELETE"; break;
6173 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
6176 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6178 uint32_t cntr_spn_names_1
;
6179 if (ndr_flags
& NDR_SCALARS
) {
6180 NDR_CHECK(ndr_push_align(ndr
, 5));
6181 NDR_CHECK(ndr_push_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, r
->operation
));
6182 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
6183 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
6184 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
6185 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->spn_names
));
6186 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6188 if (ndr_flags
& NDR_BUFFERS
) {
6190 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6191 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6192 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
6193 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6196 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
6197 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6198 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6200 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6201 NDR_CHECK(ndr_push_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6205 return NDR_ERR_SUCCESS
;
6208 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6210 uint32_t _ptr_object_dn
;
6211 TALLOC_CTX
*_mem_save_object_dn_0
;
6212 uint32_t _ptr_spn_names
;
6213 uint32_t cntr_spn_names_1
;
6214 TALLOC_CTX
*_mem_save_spn_names_0
;
6215 TALLOC_CTX
*_mem_save_spn_names_1
;
6216 if (ndr_flags
& NDR_SCALARS
) {
6217 NDR_CHECK(ndr_pull_align(ndr
, 5));
6218 NDR_CHECK(ndr_pull_drsuapi_DsSpnOperation(ndr
, NDR_SCALARS
, &r
->operation
));
6219 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
6220 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
6221 if (_ptr_object_dn
) {
6222 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
6224 r
->object_dn
= NULL
;
6226 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
6227 if (r
->count
> 10000) {
6228 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
6230 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_spn_names
));
6231 if (_ptr_spn_names
) {
6232 NDR_PULL_ALLOC(ndr
, r
->spn_names
);
6234 r
->spn_names
= NULL
;
6236 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6238 if (ndr_flags
& NDR_BUFFERS
) {
6240 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6241 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
6242 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
6243 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
6244 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
6245 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
));
6247 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
6248 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
6249 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
6252 _mem_save_spn_names_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6253 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6254 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->spn_names
));
6255 NDR_PULL_ALLOC_N(ndr
, r
->spn_names
, ndr_get_array_size(ndr
, &r
->spn_names
));
6256 _mem_save_spn_names_1
= NDR_PULL_GET_MEM_CTX(ndr
);
6257 NDR_PULL_SET_MEM_CTX(ndr
, r
->spn_names
, 0);
6258 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6259 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_SCALARS
, &r
->spn_names
[cntr_spn_names_1
]));
6261 for (cntr_spn_names_1
= 0; cntr_spn_names_1
< r
->count
; cntr_spn_names_1
++) {
6262 NDR_CHECK(ndr_pull_drsuapi_DsNameString(ndr
, NDR_BUFFERS
, &r
->spn_names
[cntr_spn_names_1
]));
6264 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_1
, 0);
6265 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_spn_names_0
, 0);
6268 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->spn_names
, r
->count
));
6271 return NDR_ERR_SUCCESS
;
6274 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnRequest1
*r
)
6276 uint32_t cntr_spn_names_1
;
6277 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnRequest1");
6279 ndr_print_drsuapi_DsSpnOperation(ndr
, "operation", r
->operation
);
6280 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
6281 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
6284 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
6287 ndr_print_uint32(ndr
, "count", r
->count
);
6288 ndr_print_ptr(ndr
, "spn_names", r
->spn_names
);
6291 ndr
->print(ndr
, "%s: ARRAY(%d)", "spn_names", (int)r
->count
);
6293 for (cntr_spn_names_1
=0;cntr_spn_names_1
<r
->count
;cntr_spn_names_1
++) {
6295 if (asprintf(&idx_1
, "[%d]", cntr_spn_names_1
) != -1) {
6296 ndr_print_drsuapi_DsNameString(ndr
, "spn_names", &r
->spn_names
[cntr_spn_names_1
]);
6306 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6308 if (ndr_flags
& NDR_SCALARS
) {
6309 int level
= ndr_push_get_switch_value(ndr
, r
);
6310 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6311 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6314 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6318 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6321 if (ndr_flags
& NDR_BUFFERS
) {
6322 int level
= ndr_push_get_switch_value(ndr
, r
);
6325 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6329 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6332 return NDR_ERR_SUCCESS
;
6335 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnRequest
*r
)
6339 level
= ndr_pull_get_switch_value(ndr
, r
);
6340 if (ndr_flags
& NDR_SCALARS
) {
6341 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6342 if (_level
!= level
) {
6343 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6345 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6348 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6352 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6355 if (ndr_flags
& NDR_BUFFERS
) {
6358 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6362 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6365 return NDR_ERR_SUCCESS
;
6368 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnRequest
*r
)
6371 level
= ndr_print_get_switch_value(ndr
, r
);
6372 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnRequest");
6375 ndr_print_drsuapi_DsWriteAccountSpnRequest1(ndr
, "req1", &r
->req1
);
6379 ndr_print_bad_level(ndr
, name
, level
);
6383 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6385 if (ndr_flags
& NDR_SCALARS
) {
6386 NDR_CHECK(ndr_push_align(ndr
, 4));
6387 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
6388 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6390 if (ndr_flags
& NDR_BUFFERS
) {
6392 return NDR_ERR_SUCCESS
;
6395 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsWriteAccountSpnResult1
*r
)
6397 if (ndr_flags
& NDR_SCALARS
) {
6398 NDR_CHECK(ndr_pull_align(ndr
, 4));
6399 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
6400 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6402 if (ndr_flags
& NDR_BUFFERS
) {
6404 return NDR_ERR_SUCCESS
;
6407 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsWriteAccountSpnResult1
*r
)
6409 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpnResult1");
6411 ndr_print_WERROR(ndr
, "status", r
->status
);
6415 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpnResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6417 if (ndr_flags
& NDR_SCALARS
) {
6418 int level
= ndr_push_get_switch_value(ndr
, r
);
6419 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6420 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6423 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6427 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6430 if (ndr_flags
& NDR_BUFFERS
) {
6431 int level
= ndr_push_get_switch_value(ndr
, r
);
6437 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6440 return NDR_ERR_SUCCESS
;
6443 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpnResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsWriteAccountSpnResult
*r
)
6447 level
= ndr_pull_get_switch_value(ndr
, r
);
6448 if (ndr_flags
& NDR_SCALARS
) {
6449 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6450 if (_level
!= level
) {
6451 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6453 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6456 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6460 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6463 if (ndr_flags
& NDR_BUFFERS
) {
6469 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6472 return NDR_ERR_SUCCESS
;
6475 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpnResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsWriteAccountSpnResult
*r
)
6478 level
= ndr_print_get_switch_value(ndr
, r
);
6479 ndr_print_union(ndr
, name
, level
, "drsuapi_DsWriteAccountSpnResult");
6482 ndr_print_drsuapi_DsWriteAccountSpnResult1(ndr
, "res1", &r
->res1
);
6486 ndr_print_bad_level(ndr
, name
, level
);
6490 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6492 if (ndr_flags
& NDR_SCALARS
) {
6493 NDR_CHECK(ndr_push_align(ndr
, 5));
6494 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6495 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_dn
));
6496 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->commit
));
6497 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6499 if (ndr_flags
& NDR_BUFFERS
) {
6501 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6502 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6503 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6504 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6507 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6508 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6509 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_dn
, CH_UTF16
)));
6510 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_dn
, ndr_charset_length(r
->domain_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6513 return NDR_ERR_SUCCESS
;
6516 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerRequest1
*r
)
6518 uint32_t _ptr_server_dn
;
6519 TALLOC_CTX
*_mem_save_server_dn_0
;
6520 uint32_t _ptr_domain_dn
;
6521 TALLOC_CTX
*_mem_save_domain_dn_0
;
6522 if (ndr_flags
& NDR_SCALARS
) {
6523 NDR_CHECK(ndr_pull_align(ndr
, 5));
6524 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
6525 if (_ptr_server_dn
) {
6526 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
6528 r
->server_dn
= NULL
;
6530 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_dn
));
6531 if (_ptr_domain_dn
) {
6532 NDR_PULL_ALLOC(ndr
, r
->domain_dn
);
6534 r
->domain_dn
= NULL
;
6536 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->commit
));
6537 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6539 if (ndr_flags
& NDR_BUFFERS
) {
6541 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6542 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
6543 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
6544 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
6545 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
6546 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
));
6548 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
6549 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
6550 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
6553 _mem_save_domain_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6554 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_dn
, 0);
6555 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_dn
));
6556 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_dn
));
6557 if (ndr_get_array_length(ndr
, &r
->domain_dn
) > ndr_get_array_size(ndr
, &r
->domain_dn
)) {
6558 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
));
6560 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t)));
6561 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_dn
, ndr_get_array_length(ndr
, &r
->domain_dn
), sizeof(uint16_t), CH_UTF16
));
6562 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_dn_0
, 0);
6565 return NDR_ERR_SUCCESS
;
6568 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerRequest1
*r
)
6570 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerRequest1");
6572 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
6575 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
6578 ndr_print_ptr(ndr
, "domain_dn", r
->domain_dn
);
6581 ndr_print_string(ndr
, "domain_dn", r
->domain_dn
);
6584 ndr_print_uint32(ndr
, "commit", r
->commit
);
6588 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6590 if (ndr_flags
& NDR_SCALARS
) {
6591 int level
= ndr_push_get_switch_value(ndr
, r
);
6592 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6593 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6596 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6600 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6603 if (ndr_flags
& NDR_BUFFERS
) {
6604 int level
= ndr_push_get_switch_value(ndr
, r
);
6607 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6611 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6614 return NDR_ERR_SUCCESS
;
6617 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerRequest
*r
)
6621 level
= ndr_pull_get_switch_value(ndr
, r
);
6622 if (ndr_flags
& NDR_SCALARS
) {
6623 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6624 if (_level
!= level
) {
6625 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6627 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6630 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6634 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6637 if (ndr_flags
& NDR_BUFFERS
) {
6640 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6644 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6647 return NDR_ERR_SUCCESS
;
6650 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerRequest
*r
)
6653 level
= ndr_print_get_switch_value(ndr
, r
);
6654 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerRequest");
6657 ndr_print_drsuapi_DsRemoveDSServerRequest1(ndr
, "req1", &r
->req1
);
6661 ndr_print_bad_level(ndr
, name
, level
);
6665 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6667 if (ndr_flags
& NDR_SCALARS
) {
6668 NDR_CHECK(ndr_push_align(ndr
, 4));
6669 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->last_dc_in_domain
));
6670 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
6672 if (ndr_flags
& NDR_BUFFERS
) {
6674 return NDR_ERR_SUCCESS
;
6677 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsRemoveDSServerResult1
*r
)
6679 if (ndr_flags
& NDR_SCALARS
) {
6680 NDR_CHECK(ndr_pull_align(ndr
, 4));
6681 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->last_dc_in_domain
));
6682 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
6684 if (ndr_flags
& NDR_BUFFERS
) {
6686 return NDR_ERR_SUCCESS
;
6689 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsRemoveDSServerResult1
*r
)
6691 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServerResult1");
6693 ndr_print_uint32(ndr
, "last_dc_in_domain", r
->last_dc_in_domain
);
6697 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServerResult(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsRemoveDSServerResult
*r
)
6699 if (ndr_flags
& NDR_SCALARS
) {
6700 int level
= ndr_push_get_switch_value(ndr
, r
);
6701 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
6702 NDR_CHECK(ndr_push_union_align(ndr
, 4));
6705 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6709 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6712 if (ndr_flags
& NDR_BUFFERS
) {
6713 int level
= ndr_push_get_switch_value(ndr
, r
);
6719 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6722 return NDR_ERR_SUCCESS
;
6725 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServerResult(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsRemoveDSServerResult
*r
)
6729 level
= ndr_pull_get_switch_value(ndr
, r
);
6730 if (ndr_flags
& NDR_SCALARS
) {
6731 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
6732 if (_level
!= level
) {
6733 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6735 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
6738 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult1(ndr
, NDR_SCALARS
, &r
->res1
));
6742 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6745 if (ndr_flags
& NDR_BUFFERS
) {
6751 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6754 return NDR_ERR_SUCCESS
;
6757 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServerResult(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsRemoveDSServerResult
*r
)
6760 level
= ndr_print_get_switch_value(ndr
, r
);
6761 ndr_print_union(ndr
, name
, level
, "drsuapi_DsRemoveDSServerResult");
6764 ndr_print_drsuapi_DsRemoveDSServerResult1(ndr
, "res1", &r
->res1
);
6768 ndr_print_bad_level(ndr
, name
, level
);
6772 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6774 if (ndr_flags
& NDR_SCALARS
) {
6775 NDR_CHECK(ndr_push_align(ndr
, 5));
6776 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->domain_name
));
6777 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->level
));
6778 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6780 if (ndr_flags
& NDR_BUFFERS
) {
6781 if (r
->domain_name
) {
6782 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6784 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->domain_name
, CH_UTF16
)));
6785 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->domain_name
, ndr_charset_length(r
->domain_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6788 return NDR_ERR_SUCCESS
;
6791 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoRequest1
*r
)
6793 uint32_t _ptr_domain_name
;
6794 TALLOC_CTX
*_mem_save_domain_name_0
;
6795 if (ndr_flags
& NDR_SCALARS
) {
6796 NDR_CHECK(ndr_pull_align(ndr
, 5));
6797 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_domain_name
));
6798 if (_ptr_domain_name
) {
6799 NDR_PULL_ALLOC(ndr
, r
->domain_name
);
6801 r
->domain_name
= NULL
;
6803 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->level
));
6804 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
6806 if (ndr_flags
& NDR_BUFFERS
) {
6807 if (r
->domain_name
) {
6808 _mem_save_domain_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
6809 NDR_PULL_SET_MEM_CTX(ndr
, r
->domain_name
, 0);
6810 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->domain_name
));
6811 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->domain_name
));
6812 if (ndr_get_array_length(ndr
, &r
->domain_name
) > ndr_get_array_size(ndr
, &r
->domain_name
)) {
6813 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
));
6815 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t)));
6816 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->domain_name
, ndr_get_array_length(ndr
, &r
->domain_name
), sizeof(uint16_t), CH_UTF16
));
6817 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_domain_name_0
, 0);
6820 return NDR_ERR_SUCCESS
;
6823 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoRequest1
*r
)
6825 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoRequest1");
6827 ndr_print_ptr(ndr
, "domain_name", r
->domain_name
);
6829 if (r
->domain_name
) {
6830 ndr_print_string(ndr
, "domain_name", r
->domain_name
);
6833 ndr_print_int32(ndr
, "level", r
->level
);
6837 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoRequest
*r
)
6839 if (ndr_flags
& NDR_SCALARS
) {
6840 int level
= ndr_push_get_switch_value(ndr
, r
);
6841 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
6842 NDR_CHECK(ndr_push_union_align(ndr
, 5));
6845 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6849 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6852 if (ndr_flags
& NDR_BUFFERS
) {
6853 int level
= ndr_push_get_switch_value(ndr
, r
);
6856 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6860 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6863 return NDR_ERR_SUCCESS
;
6866 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoRequest
*r
)
6870 level
= ndr_pull_get_switch_value(ndr
, r
);
6871 if (ndr_flags
& NDR_SCALARS
) {
6872 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
6873 if (_level
!= level
) {
6874 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
6876 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
6879 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
6883 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6886 if (ndr_flags
& NDR_BUFFERS
) {
6889 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
6893 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
6896 return NDR_ERR_SUCCESS
;
6899 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoRequest
*r
)
6902 level
= ndr_print_get_switch_value(ndr
, r
);
6903 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoRequest");
6906 ndr_print_drsuapi_DsGetDCInfoRequest1(ndr
, "req1", &r
->req1
);
6910 ndr_print_bad_level(ndr
, name
, level
);
6914 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo1
*r
)
6916 if (ndr_flags
& NDR_SCALARS
) {
6917 NDR_CHECK(ndr_push_align(ndr
, 5));
6918 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
6919 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
6920 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
6921 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
6922 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
6923 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
6924 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
6925 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
6927 if (ndr_flags
& NDR_BUFFERS
) {
6928 if (r
->netbios_name
) {
6929 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6930 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6931 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
6932 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6935 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6936 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6937 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
6938 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6941 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6942 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6943 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
6944 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6946 if (r
->computer_dn
) {
6947 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6948 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6949 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
6950 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6953 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6954 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
6955 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
6956 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
6959 return NDR_ERR_SUCCESS
;
6962 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo1
*r
)
6964 uint32_t _ptr_netbios_name
;
6965 TALLOC_CTX
*_mem_save_netbios_name_0
;
6966 uint32_t _ptr_dns_name
;
6967 TALLOC_CTX
*_mem_save_dns_name_0
;
6968 uint32_t _ptr_site_name
;
6969 TALLOC_CTX
*_mem_save_site_name_0
;
6970 uint32_t _ptr_computer_dn
;
6971 TALLOC_CTX
*_mem_save_computer_dn_0
;
6972 uint32_t _ptr_server_dn
;
6973 TALLOC_CTX
*_mem_save_server_dn_0
;
6974 if (ndr_flags
& NDR_SCALARS
) {
6975 NDR_CHECK(ndr_pull_align(ndr
, 5));
6976 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
6977 if (_ptr_netbios_name
) {
6978 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
6980 r
->netbios_name
= NULL
;
6982 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
6983 if (_ptr_dns_name
) {
6984 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
6988 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
6989 if (_ptr_site_name
) {
6990 NDR_PULL_ALLOC(ndr
, r
->site_name
);
6992 r
->site_name
= NULL
;
6994 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
6995 if (_ptr_computer_dn
) {
6996 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
6998 r
->computer_dn
= NULL
;
7000 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7001 if (_ptr_server_dn
) {
7002 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7004 r
->server_dn
= NULL
;
7006 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7007 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7008 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7010 if (ndr_flags
& NDR_BUFFERS
) {
7011 if (r
->netbios_name
) {
7012 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7013 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7014 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7015 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7016 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7017 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
));
7019 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7020 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7021 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7024 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7025 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7026 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7027 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7028 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7029 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
));
7031 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7032 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7033 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7036 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7037 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7038 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7039 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7040 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7041 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
));
7043 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7044 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7045 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7047 if (r
->computer_dn
) {
7048 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7049 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7050 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7051 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7052 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7053 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
));
7055 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7056 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7057 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7060 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7061 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7062 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7063 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7064 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7065 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
));
7067 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7068 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7069 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7072 return NDR_ERR_SUCCESS
;
7075 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo1
*r
)
7077 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo1");
7079 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7081 if (r
->netbios_name
) {
7082 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7085 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7088 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7091 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7094 ndr_print_string(ndr
, "site_name", r
->site_name
);
7097 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7099 if (r
->computer_dn
) {
7100 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7103 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7106 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7109 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7110 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7114 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7116 uint32_t cntr_array_1
;
7117 if (ndr_flags
& NDR_SCALARS
) {
7118 NDR_CHECK(ndr_push_align(ndr
, 5));
7119 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7120 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7121 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7123 if (ndr_flags
& NDR_BUFFERS
) {
7125 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7126 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7127 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7129 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7130 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7134 return NDR_ERR_SUCCESS
;
7137 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr1
*r
)
7139 uint32_t _ptr_array
;
7140 uint32_t cntr_array_1
;
7141 TALLOC_CTX
*_mem_save_array_0
;
7142 TALLOC_CTX
*_mem_save_array_1
;
7143 if (ndr_flags
& NDR_SCALARS
) {
7144 NDR_CHECK(ndr_pull_align(ndr
, 5));
7145 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7146 if (r
->count
> 10000) {
7147 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7149 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7151 NDR_PULL_ALLOC(ndr
, r
->array
);
7155 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7157 if (ndr_flags
& NDR_BUFFERS
) {
7159 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7160 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7161 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7162 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7163 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7164 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7165 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7166 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7168 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7169 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo1(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7171 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7172 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7175 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7178 return NDR_ERR_SUCCESS
;
7181 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr1
*r
)
7183 uint32_t cntr_array_1
;
7184 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr1");
7186 ndr_print_uint32(ndr
, "count", r
->count
);
7187 ndr_print_ptr(ndr
, "array", r
->array
);
7190 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7192 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7194 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7195 ndr_print_drsuapi_DsGetDCInfo1(ndr
, "array", &r
->array
[cntr_array_1
]);
7205 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo2
*r
)
7207 if (ndr_flags
& NDR_SCALARS
) {
7208 NDR_CHECK(ndr_push_align(ndr
, 5));
7209 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7210 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7211 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7212 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7213 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7214 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7215 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7216 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7217 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7218 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7219 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7220 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7221 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7222 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7223 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7225 if (ndr_flags
& NDR_BUFFERS
) {
7226 if (r
->netbios_name
) {
7227 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7228 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7229 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7230 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7233 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7234 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7235 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7236 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7239 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7240 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7241 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7242 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7245 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7246 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7247 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7248 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7250 if (r
->computer_dn
) {
7251 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7252 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7253 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7254 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7257 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7258 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7259 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7260 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7263 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7264 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7265 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7266 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7269 return NDR_ERR_SUCCESS
;
7272 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo2
*r
)
7274 uint32_t _ptr_netbios_name
;
7275 TALLOC_CTX
*_mem_save_netbios_name_0
;
7276 uint32_t _ptr_dns_name
;
7277 TALLOC_CTX
*_mem_save_dns_name_0
;
7278 uint32_t _ptr_site_name
;
7279 TALLOC_CTX
*_mem_save_site_name_0
;
7280 uint32_t _ptr_site_dn
;
7281 TALLOC_CTX
*_mem_save_site_dn_0
;
7282 uint32_t _ptr_computer_dn
;
7283 TALLOC_CTX
*_mem_save_computer_dn_0
;
7284 uint32_t _ptr_server_dn
;
7285 TALLOC_CTX
*_mem_save_server_dn_0
;
7286 uint32_t _ptr_ntds_dn
;
7287 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7288 if (ndr_flags
& NDR_SCALARS
) {
7289 NDR_CHECK(ndr_pull_align(ndr
, 5));
7290 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7291 if (_ptr_netbios_name
) {
7292 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7294 r
->netbios_name
= NULL
;
7296 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7297 if (_ptr_dns_name
) {
7298 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7302 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7303 if (_ptr_site_name
) {
7304 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7306 r
->site_name
= NULL
;
7308 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7310 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7314 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7315 if (_ptr_computer_dn
) {
7316 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7318 r
->computer_dn
= NULL
;
7320 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7321 if (_ptr_server_dn
) {
7322 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7324 r
->server_dn
= NULL
;
7326 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7328 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7332 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7333 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7334 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7335 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7336 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7337 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7338 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7339 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7341 if (ndr_flags
& NDR_BUFFERS
) {
7342 if (r
->netbios_name
) {
7343 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7344 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7345 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7346 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7347 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7348 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
));
7350 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7351 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7352 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7355 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7356 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7357 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7358 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7359 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7360 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
));
7362 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7363 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7364 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7367 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7368 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7369 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7370 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7371 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7372 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
));
7374 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7375 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7376 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7379 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7380 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7381 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7382 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7383 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7384 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
));
7386 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7387 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7388 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7390 if (r
->computer_dn
) {
7391 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7392 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7393 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7394 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7395 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7396 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
));
7398 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7399 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7400 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7403 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7404 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7405 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7406 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7407 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7408 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
));
7410 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7411 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7412 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7415 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7416 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7417 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7418 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7419 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7420 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
));
7422 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7423 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7424 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7427 return NDR_ERR_SUCCESS
;
7430 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo2
*r
)
7432 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo2");
7434 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7436 if (r
->netbios_name
) {
7437 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7440 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7443 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7446 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7449 ndr_print_string(ndr
, "site_name", r
->site_name
);
7452 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7455 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7458 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7460 if (r
->computer_dn
) {
7461 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7464 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7467 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7470 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7473 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7476 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7477 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7478 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7479 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7480 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7481 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7482 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7486 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7488 uint32_t cntr_array_1
;
7489 if (ndr_flags
& NDR_SCALARS
) {
7490 NDR_CHECK(ndr_push_align(ndr
, 5));
7491 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7492 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7493 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7495 if (ndr_flags
& NDR_BUFFERS
) {
7497 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7498 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7499 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7501 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7502 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7506 return NDR_ERR_SUCCESS
;
7509 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr2
*r
)
7511 uint32_t _ptr_array
;
7512 uint32_t cntr_array_1
;
7513 TALLOC_CTX
*_mem_save_array_0
;
7514 TALLOC_CTX
*_mem_save_array_1
;
7515 if (ndr_flags
& NDR_SCALARS
) {
7516 NDR_CHECK(ndr_pull_align(ndr
, 5));
7517 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7518 if (r
->count
> 10000) {
7519 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7521 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7523 NDR_PULL_ALLOC(ndr
, r
->array
);
7527 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7529 if (ndr_flags
& NDR_BUFFERS
) {
7531 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7532 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7533 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7534 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7535 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7536 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7537 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7538 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7540 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7541 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7543 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7544 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7547 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7550 return NDR_ERR_SUCCESS
;
7553 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr2
*r
)
7555 uint32_t cntr_array_1
;
7556 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr2");
7558 ndr_print_uint32(ndr
, "count", r
->count
);
7559 ndr_print_ptr(ndr
, "array", r
->array
);
7562 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7564 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7566 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7567 ndr_print_drsuapi_DsGetDCInfo2(ndr
, "array", &r
->array
[cntr_array_1
]);
7577 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfo3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfo3
*r
)
7579 if (ndr_flags
& NDR_SCALARS
) {
7580 NDR_CHECK(ndr_push_align(ndr
, 5));
7581 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->netbios_name
));
7582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dns_name
));
7583 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_name
));
7584 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_dn
));
7585 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->computer_dn
));
7586 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->server_dn
));
7587 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->ntds_dn
));
7588 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_pdc
));
7589 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_enabled
));
7590 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_gc
));
7591 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->is_rodc
));
7592 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7593 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7594 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7595 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7596 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7598 if (ndr_flags
& NDR_BUFFERS
) {
7599 if (r
->netbios_name
) {
7600 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7601 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7602 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->netbios_name
, CH_UTF16
)));
7603 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->netbios_name
, ndr_charset_length(r
->netbios_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7606 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7607 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7608 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dns_name
, CH_UTF16
)));
7609 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->dns_name
, ndr_charset_length(r
->dns_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7612 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7613 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7614 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_name
, CH_UTF16
)));
7615 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_name
, ndr_charset_length(r
->site_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7618 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7619 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7620 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_dn
, CH_UTF16
)));
7621 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_dn
, ndr_charset_length(r
->site_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7623 if (r
->computer_dn
) {
7624 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7625 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7626 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->computer_dn
, CH_UTF16
)));
7627 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->computer_dn
, ndr_charset_length(r
->computer_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7630 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7631 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7632 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->server_dn
, CH_UTF16
)));
7633 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->server_dn
, ndr_charset_length(r
->server_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7636 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7637 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7638 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
)));
7639 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->ntds_dn
, ndr_charset_length(r
->ntds_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7642 return NDR_ERR_SUCCESS
;
7645 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfo3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfo3
*r
)
7647 uint32_t _ptr_netbios_name
;
7648 TALLOC_CTX
*_mem_save_netbios_name_0
;
7649 uint32_t _ptr_dns_name
;
7650 TALLOC_CTX
*_mem_save_dns_name_0
;
7651 uint32_t _ptr_site_name
;
7652 TALLOC_CTX
*_mem_save_site_name_0
;
7653 uint32_t _ptr_site_dn
;
7654 TALLOC_CTX
*_mem_save_site_dn_0
;
7655 uint32_t _ptr_computer_dn
;
7656 TALLOC_CTX
*_mem_save_computer_dn_0
;
7657 uint32_t _ptr_server_dn
;
7658 TALLOC_CTX
*_mem_save_server_dn_0
;
7659 uint32_t _ptr_ntds_dn
;
7660 TALLOC_CTX
*_mem_save_ntds_dn_0
;
7661 if (ndr_flags
& NDR_SCALARS
) {
7662 NDR_CHECK(ndr_pull_align(ndr
, 5));
7663 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_netbios_name
));
7664 if (_ptr_netbios_name
) {
7665 NDR_PULL_ALLOC(ndr
, r
->netbios_name
);
7667 r
->netbios_name
= NULL
;
7669 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dns_name
));
7670 if (_ptr_dns_name
) {
7671 NDR_PULL_ALLOC(ndr
, r
->dns_name
);
7675 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_name
));
7676 if (_ptr_site_name
) {
7677 NDR_PULL_ALLOC(ndr
, r
->site_name
);
7679 r
->site_name
= NULL
;
7681 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_dn
));
7683 NDR_PULL_ALLOC(ndr
, r
->site_dn
);
7687 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_computer_dn
));
7688 if (_ptr_computer_dn
) {
7689 NDR_PULL_ALLOC(ndr
, r
->computer_dn
);
7691 r
->computer_dn
= NULL
;
7693 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_server_dn
));
7694 if (_ptr_server_dn
) {
7695 NDR_PULL_ALLOC(ndr
, r
->server_dn
);
7697 r
->server_dn
= NULL
;
7699 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_ntds_dn
));
7701 NDR_PULL_ALLOC(ndr
, r
->ntds_dn
);
7705 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_pdc
));
7706 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_enabled
));
7707 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_gc
));
7708 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->is_rodc
));
7709 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->site_guid
));
7710 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->computer_guid
));
7711 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->server_guid
));
7712 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->ntds_guid
));
7713 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7715 if (ndr_flags
& NDR_BUFFERS
) {
7716 if (r
->netbios_name
) {
7717 _mem_save_netbios_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7718 NDR_PULL_SET_MEM_CTX(ndr
, r
->netbios_name
, 0);
7719 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->netbios_name
));
7720 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->netbios_name
));
7721 if (ndr_get_array_length(ndr
, &r
->netbios_name
) > ndr_get_array_size(ndr
, &r
->netbios_name
)) {
7722 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
));
7724 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t)));
7725 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->netbios_name
, ndr_get_array_length(ndr
, &r
->netbios_name
), sizeof(uint16_t), CH_UTF16
));
7726 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_netbios_name_0
, 0);
7729 _mem_save_dns_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7730 NDR_PULL_SET_MEM_CTX(ndr
, r
->dns_name
, 0);
7731 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dns_name
));
7732 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dns_name
));
7733 if (ndr_get_array_length(ndr
, &r
->dns_name
) > ndr_get_array_size(ndr
, &r
->dns_name
)) {
7734 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
));
7736 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t)));
7737 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->dns_name
, ndr_get_array_length(ndr
, &r
->dns_name
), sizeof(uint16_t), CH_UTF16
));
7738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dns_name_0
, 0);
7741 _mem_save_site_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7742 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_name
, 0);
7743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_name
));
7744 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_name
));
7745 if (ndr_get_array_length(ndr
, &r
->site_name
) > ndr_get_array_size(ndr
, &r
->site_name
)) {
7746 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
));
7748 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t)));
7749 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_name
, ndr_get_array_length(ndr
, &r
->site_name
), sizeof(uint16_t), CH_UTF16
));
7750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_name_0
, 0);
7753 _mem_save_site_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7754 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_dn
, 0);
7755 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_dn
));
7756 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_dn
));
7757 if (ndr_get_array_length(ndr
, &r
->site_dn
) > ndr_get_array_size(ndr
, &r
->site_dn
)) {
7758 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
));
7760 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t)));
7761 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_dn
, ndr_get_array_length(ndr
, &r
->site_dn
), sizeof(uint16_t), CH_UTF16
));
7762 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_dn_0
, 0);
7764 if (r
->computer_dn
) {
7765 _mem_save_computer_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7766 NDR_PULL_SET_MEM_CTX(ndr
, r
->computer_dn
, 0);
7767 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->computer_dn
));
7768 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->computer_dn
));
7769 if (ndr_get_array_length(ndr
, &r
->computer_dn
) > ndr_get_array_size(ndr
, &r
->computer_dn
)) {
7770 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
));
7772 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t)));
7773 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->computer_dn
, ndr_get_array_length(ndr
, &r
->computer_dn
), sizeof(uint16_t), CH_UTF16
));
7774 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_computer_dn_0
, 0);
7777 _mem_save_server_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7778 NDR_PULL_SET_MEM_CTX(ndr
, r
->server_dn
, 0);
7779 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->server_dn
));
7780 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->server_dn
));
7781 if (ndr_get_array_length(ndr
, &r
->server_dn
) > ndr_get_array_size(ndr
, &r
->server_dn
)) {
7782 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
));
7784 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t)));
7785 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->server_dn
, ndr_get_array_length(ndr
, &r
->server_dn
), sizeof(uint16_t), CH_UTF16
));
7786 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_server_dn_0
, 0);
7789 _mem_save_ntds_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7790 NDR_PULL_SET_MEM_CTX(ndr
, r
->ntds_dn
, 0);
7791 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->ntds_dn
));
7792 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->ntds_dn
));
7793 if (ndr_get_array_length(ndr
, &r
->ntds_dn
) > ndr_get_array_size(ndr
, &r
->ntds_dn
)) {
7794 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
));
7796 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t)));
7797 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->ntds_dn
, ndr_get_array_length(ndr
, &r
->ntds_dn
), sizeof(uint16_t), CH_UTF16
));
7798 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ntds_dn_0
, 0);
7801 return NDR_ERR_SUCCESS
;
7804 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfo3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfo3
*r
)
7806 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfo3");
7808 ndr_print_ptr(ndr
, "netbios_name", r
->netbios_name
);
7810 if (r
->netbios_name
) {
7811 ndr_print_string(ndr
, "netbios_name", r
->netbios_name
);
7814 ndr_print_ptr(ndr
, "dns_name", r
->dns_name
);
7817 ndr_print_string(ndr
, "dns_name", r
->dns_name
);
7820 ndr_print_ptr(ndr
, "site_name", r
->site_name
);
7823 ndr_print_string(ndr
, "site_name", r
->site_name
);
7826 ndr_print_ptr(ndr
, "site_dn", r
->site_dn
);
7829 ndr_print_string(ndr
, "site_dn", r
->site_dn
);
7832 ndr_print_ptr(ndr
, "computer_dn", r
->computer_dn
);
7834 if (r
->computer_dn
) {
7835 ndr_print_string(ndr
, "computer_dn", r
->computer_dn
);
7838 ndr_print_ptr(ndr
, "server_dn", r
->server_dn
);
7841 ndr_print_string(ndr
, "server_dn", r
->server_dn
);
7844 ndr_print_ptr(ndr
, "ntds_dn", r
->ntds_dn
);
7847 ndr_print_string(ndr
, "ntds_dn", r
->ntds_dn
);
7850 ndr_print_uint32(ndr
, "is_pdc", r
->is_pdc
);
7851 ndr_print_uint32(ndr
, "is_enabled", r
->is_enabled
);
7852 ndr_print_uint32(ndr
, "is_gc", r
->is_gc
);
7853 ndr_print_uint32(ndr
, "is_rodc", r
->is_rodc
);
7854 ndr_print_GUID(ndr
, "site_guid", &r
->site_guid
);
7855 ndr_print_GUID(ndr
, "computer_guid", &r
->computer_guid
);
7856 ndr_print_GUID(ndr
, "server_guid", &r
->server_guid
);
7857 ndr_print_GUID(ndr
, "ntds_guid", &r
->ntds_guid
);
7861 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7863 uint32_t cntr_array_1
;
7864 if (ndr_flags
& NDR_SCALARS
) {
7865 NDR_CHECK(ndr_push_align(ndr
, 5));
7866 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
7867 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
7868 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7870 if (ndr_flags
& NDR_BUFFERS
) {
7872 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
7873 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7874 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7876 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7877 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7881 return NDR_ERR_SUCCESS
;
7884 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCInfoCtr3
*r
)
7886 uint32_t _ptr_array
;
7887 uint32_t cntr_array_1
;
7888 TALLOC_CTX
*_mem_save_array_0
;
7889 TALLOC_CTX
*_mem_save_array_1
;
7890 if (ndr_flags
& NDR_SCALARS
) {
7891 NDR_CHECK(ndr_pull_align(ndr
, 5));
7892 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
7893 if (r
->count
> 10000) {
7894 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
7896 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
7898 NDR_PULL_ALLOC(ndr
, r
->array
);
7902 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
7904 if (ndr_flags
& NDR_BUFFERS
) {
7906 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
7907 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7908 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
7909 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
7910 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
7911 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
7912 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7913 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
7915 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
7916 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfo3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
7918 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
7919 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
7922 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
7925 return NDR_ERR_SUCCESS
;
7928 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCInfoCtr3
*r
)
7930 uint32_t cntr_array_1
;
7931 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCInfoCtr3");
7933 ndr_print_uint32(ndr
, "count", r
->count
);
7934 ndr_print_ptr(ndr
, "array", r
->array
);
7937 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
7939 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
7941 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
7942 ndr_print_drsuapi_DsGetDCInfo3(ndr
, "array", &r
->array
[cntr_array_1
]);
7952 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnection01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnection01
*r
)
7954 if (ndr_flags
& NDR_SCALARS
) {
7955 NDR_CHECK(ndr_push_align(ndr
, 5));
7957 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7958 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7959 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
7960 ndr
->flags
= _flags_save_ipv4address
;
7962 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
7963 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->connection_time
));
7964 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown4
));
7965 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown5
));
7966 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown6
));
7967 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->client_account
));
7968 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
7970 if (ndr_flags
& NDR_BUFFERS
) {
7971 if (r
->client_account
) {
7972 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7973 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
7974 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->client_account
, CH_UTF16
)));
7975 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->client_account
, ndr_charset_length(r
->client_account
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
7978 return NDR_ERR_SUCCESS
;
7981 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnection01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnection01
*r
)
7983 uint32_t _ptr_client_account
;
7984 TALLOC_CTX
*_mem_save_client_account_0
;
7985 if (ndr_flags
& NDR_SCALARS
) {
7986 NDR_CHECK(ndr_pull_align(ndr
, 5));
7988 uint32_t _flags_save_ipv4address
= ndr
->flags
;
7989 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
7990 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
7991 ndr
->flags
= _flags_save_ipv4address
;
7993 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
7994 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->connection_time
));
7995 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown4
));
7996 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown5
));
7997 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown6
));
7998 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_client_account
));
7999 if (_ptr_client_account
) {
8000 NDR_PULL_ALLOC(ndr
, r
->client_account
);
8002 r
->client_account
= NULL
;
8004 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8006 if (ndr_flags
& NDR_BUFFERS
) {
8007 if (r
->client_account
) {
8008 _mem_save_client_account_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8009 NDR_PULL_SET_MEM_CTX(ndr
, r
->client_account
, 0);
8010 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->client_account
));
8011 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->client_account
));
8012 if (ndr_get_array_length(ndr
, &r
->client_account
) > ndr_get_array_size(ndr
, &r
->client_account
)) {
8013 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
));
8015 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t)));
8016 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->client_account
, ndr_get_array_length(ndr
, &r
->client_account
), sizeof(uint16_t), CH_UTF16
));
8017 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_client_account_0
, 0);
8020 return NDR_ERR_SUCCESS
;
8023 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnection01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnection01
*r
)
8025 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnection01");
8027 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
8028 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8029 ndr_print_uint32(ndr
, "connection_time", r
->connection_time
);
8030 ndr_print_uint32(ndr
, "unknown4", r
->unknown4
);
8031 ndr_print_uint32(ndr
, "unknown5", r
->unknown5
);
8032 ndr_print_uint32(ndr
, "unknown6", r
->unknown6
);
8033 ndr_print_ptr(ndr
, "client_account", r
->client_account
);
8035 if (r
->client_account
) {
8036 ndr_print_string(ndr
, "client_account", r
->client_account
);
8042 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCConnectionCtr01(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8044 uint32_t cntr_array_1
;
8045 if (ndr_flags
& NDR_SCALARS
) {
8046 NDR_CHECK(ndr_push_align(ndr
, 5));
8047 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
8048 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->array
));
8049 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8051 if (ndr_flags
& NDR_BUFFERS
) {
8053 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
8054 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8055 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8057 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8058 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8062 return NDR_ERR_SUCCESS
;
8065 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCConnectionCtr01(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetDCConnectionCtr01
*r
)
8067 uint32_t _ptr_array
;
8068 uint32_t cntr_array_1
;
8069 TALLOC_CTX
*_mem_save_array_0
;
8070 TALLOC_CTX
*_mem_save_array_1
;
8071 if (ndr_flags
& NDR_SCALARS
) {
8072 NDR_CHECK(ndr_pull_align(ndr
, 5));
8073 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
8074 if (r
->count
> 10000) {
8075 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8077 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_array
));
8079 NDR_PULL_ALLOC(ndr
, r
->array
);
8083 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8085 if (ndr_flags
& NDR_BUFFERS
) {
8087 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8088 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8089 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
8090 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
8091 _mem_save_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
8092 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
8093 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8094 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_1
]));
8096 for (cntr_array_1
= 0; cntr_array_1
< r
->count
; cntr_array_1
++) {
8097 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnection01(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_1
]));
8099 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_1
, 0);
8100 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
8103 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
8106 return NDR_ERR_SUCCESS
;
8109 _PUBLIC_
void ndr_print_drsuapi_DsGetDCConnectionCtr01(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetDCConnectionCtr01
*r
)
8111 uint32_t cntr_array_1
;
8112 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDCConnectionCtr01");
8114 ndr_print_uint32(ndr
, "count", r
->count
);
8115 ndr_print_ptr(ndr
, "array", r
->array
);
8118 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
8120 for (cntr_array_1
=0;cntr_array_1
<r
->count
;cntr_array_1
++) {
8122 if (asprintf(&idx_1
, "[%d]", cntr_array_1
) != -1) {
8123 ndr_print_drsuapi_DsGetDCConnection01(ndr
, "array", &r
->array
[cntr_array_1
]);
8133 static enum ndr_err_code
ndr_push_drsuapi_DsGetDCInfoCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetDCInfoCtr
*r
)
8135 if (ndr_flags
& NDR_SCALARS
) {
8136 int level
= ndr_push_get_switch_value(ndr
, r
);
8137 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8138 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8140 case DRSUAPI_DC_INFO_CTR_1
: {
8141 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8144 case DRSUAPI_DC_INFO_CTR_2
: {
8145 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8148 case DRSUAPI_DC_INFO_CTR_3
: {
8149 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8152 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8153 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8157 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8160 if (ndr_flags
& NDR_BUFFERS
) {
8161 int level
= ndr_push_get_switch_value(ndr
, r
);
8163 case DRSUAPI_DC_INFO_CTR_1
:
8164 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8167 case DRSUAPI_DC_INFO_CTR_2
:
8168 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8171 case DRSUAPI_DC_INFO_CTR_3
:
8172 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8175 case DRSUAPI_DC_CONNECTION_CTR_01
:
8176 NDR_CHECK(ndr_push_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8180 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8183 return NDR_ERR_SUCCESS
;
8186 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDCInfoCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetDCInfoCtr
*r
)
8190 level
= ndr_pull_get_switch_value(ndr
, r
);
8191 if (ndr_flags
& NDR_SCALARS
) {
8192 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8193 if (_level
!= level
) {
8194 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8196 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8198 case DRSUAPI_DC_INFO_CTR_1
: {
8199 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
8202 case DRSUAPI_DC_INFO_CTR_2
: {
8203 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
8206 case DRSUAPI_DC_INFO_CTR_3
: {
8207 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
8210 case DRSUAPI_DC_CONNECTION_CTR_01
: {
8211 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_SCALARS
, &r
->ctr01
));
8215 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8218 if (ndr_flags
& NDR_BUFFERS
) {
8220 case DRSUAPI_DC_INFO_CTR_1
:
8221 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
8224 case DRSUAPI_DC_INFO_CTR_2
:
8225 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
8228 case DRSUAPI_DC_INFO_CTR_3
:
8229 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
8232 case DRSUAPI_DC_CONNECTION_CTR_01
:
8233 NDR_CHECK(ndr_pull_drsuapi_DsGetDCConnectionCtr01(ndr
, NDR_BUFFERS
, &r
->ctr01
));
8237 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8240 return NDR_ERR_SUCCESS
;
8243 _PUBLIC_
void ndr_print_drsuapi_DsGetDCInfoCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetDCInfoCtr
*r
)
8246 level
= ndr_print_get_switch_value(ndr
, r
);
8247 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetDCInfoCtr");
8249 case DRSUAPI_DC_INFO_CTR_1
:
8250 ndr_print_drsuapi_DsGetDCInfoCtr1(ndr
, "ctr1", &r
->ctr1
);
8253 case DRSUAPI_DC_INFO_CTR_2
:
8254 ndr_print_drsuapi_DsGetDCInfoCtr2(ndr
, "ctr2", &r
->ctr2
);
8257 case DRSUAPI_DC_INFO_CTR_3
:
8258 ndr_print_drsuapi_DsGetDCInfoCtr3(ndr
, "ctr3", &r
->ctr3
);
8261 case DRSUAPI_DC_CONNECTION_CTR_01
:
8262 ndr_print_drsuapi_DsGetDCConnectionCtr01(ndr
, "ctr01", &r
->ctr01
);
8266 ndr_print_bad_level(ndr
, name
, level
);
8270 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectListItem(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectListItem
*r
)
8272 if (ndr_flags
& NDR_SCALARS
) {
8273 NDR_CHECK(ndr_push_align(ndr
, 5));
8274 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next_object
));
8275 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8276 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8278 if (ndr_flags
& NDR_BUFFERS
) {
8279 if (r
->next_object
) {
8280 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8282 NDR_CHECK(ndr_push_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8284 return NDR_ERR_SUCCESS
;
8287 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectListItem(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectListItem
*r
)
8289 uint32_t _ptr_next_object
;
8290 TALLOC_CTX
*_mem_save_next_object_0
;
8291 if (ndr_flags
& NDR_SCALARS
) {
8292 NDR_CHECK(ndr_pull_align(ndr
, 5));
8293 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next_object
));
8294 if (_ptr_next_object
) {
8295 NDR_PULL_ALLOC(ndr
, r
->next_object
);
8297 r
->next_object
= NULL
;
8299 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_SCALARS
, &r
->object
));
8300 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8302 if (ndr_flags
& NDR_BUFFERS
) {
8303 if (r
->next_object
) {
8304 _mem_save_next_object_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8305 NDR_PULL_SET_MEM_CTX(ndr
, r
->next_object
, 0);
8306 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next_object
));
8307 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_object_0
, 0);
8309 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObject(ndr
, NDR_BUFFERS
, &r
->object
));
8311 return NDR_ERR_SUCCESS
;
8314 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryRequest2
*r
)
8316 if (ndr_flags
& NDR_SCALARS
) {
8317 NDR_CHECK(ndr_push_align(ndr
, 5));
8318 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8319 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8321 if (ndr_flags
& NDR_BUFFERS
) {
8322 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8324 return NDR_ERR_SUCCESS
;
8327 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryRequest2
*r
)
8329 if (ndr_flags
& NDR_SCALARS
) {
8330 NDR_CHECK(ndr_pull_align(ndr
, 5));
8331 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_SCALARS
, &r
->first_object
));
8332 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8334 if (ndr_flags
& NDR_BUFFERS
) {
8335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectListItem(ndr
, NDR_BUFFERS
, &r
->first_object
));
8337 return NDR_ERR_SUCCESS
;
8340 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryRequest2
*r
)
8342 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryRequest2");
8344 ndr_print_drsuapi_DsReplicaObjectListItem(ndr
, "first_object", &r
->first_object
);
8348 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryRequest
*r
)
8350 if (ndr_flags
& NDR_SCALARS
) {
8351 int level
= ndr_push_get_switch_value(ndr
, r
);
8352 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
8353 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8356 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8360 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8363 if (ndr_flags
& NDR_BUFFERS
) {
8364 int level
= ndr_push_get_switch_value(ndr
, r
);
8367 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8371 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8374 return NDR_ERR_SUCCESS
;
8377 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryRequest
*r
)
8381 level
= ndr_pull_get_switch_value(ndr
, r
);
8382 if (ndr_flags
& NDR_SCALARS
) {
8383 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
8384 if (_level
!= level
) {
8385 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8387 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8390 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
8394 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8397 if (ndr_flags
& NDR_BUFFERS
) {
8400 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
8404 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8407 return NDR_ERR_SUCCESS
;
8410 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryRequest
*r
)
8413 level
= ndr_print_get_switch_value(ndr
, r
);
8414 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryRequest");
8417 ndr_print_drsuapi_DsAddEntryRequest2(ndr
, "req2", &r
->req2
);
8421 ndr_print_bad_level(ndr
, name
, level
);
8425 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfoX(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8427 if (ndr_flags
& NDR_SCALARS
) {
8428 NDR_CHECK(ndr_push_align(ndr
, 4));
8429 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
8430 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8431 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8432 NDR_CHECK(ndr_push_uint16(ndr
, NDR_SCALARS
, r
->unknown3
));
8433 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8435 if (ndr_flags
& NDR_BUFFERS
) {
8437 return NDR_ERR_SUCCESS
;
8440 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfoX(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfoX
*r
)
8442 if (ndr_flags
& NDR_SCALARS
) {
8443 NDR_CHECK(ndr_pull_align(ndr
, 4));
8444 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
8445 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8446 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8447 NDR_CHECK(ndr_pull_uint16(ndr
, NDR_SCALARS
, &r
->unknown3
));
8448 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
8450 if (ndr_flags
& NDR_BUFFERS
) {
8452 return NDR_ERR_SUCCESS
;
8455 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfoX(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfoX
*r
)
8457 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfoX");
8459 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
8460 ndr_print_WERROR(ndr
, "status", r
->status
);
8461 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8462 ndr_print_uint16(ndr
, "unknown3", r
->unknown3
);
8466 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8468 if (ndr_flags
& NDR_SCALARS
) {
8469 NDR_CHECK(ndr_push_align(ndr
, 5));
8470 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->size
));
8471 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->data
));
8472 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8474 if (ndr_flags
& NDR_BUFFERS
) {
8476 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->size
));
8477 NDR_CHECK(ndr_push_array_uint8(ndr
, NDR_SCALARS
, r
->data
, r
->size
));
8480 return NDR_ERR_SUCCESS
;
8483 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8486 TALLOC_CTX
*_mem_save_data_0
;
8487 if (ndr_flags
& NDR_SCALARS
) {
8488 NDR_CHECK(ndr_pull_align(ndr
, 5));
8489 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->size
));
8490 if (r
->size
> 10485760) {
8491 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
8493 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_data
));
8495 NDR_PULL_ALLOC(ndr
, r
->data
);
8499 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8501 if (ndr_flags
& NDR_BUFFERS
) {
8503 _mem_save_data_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8504 NDR_PULL_SET_MEM_CTX(ndr
, r
->data
, 0);
8505 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->data
));
8506 NDR_PULL_ALLOC_N(ndr
, r
->data
, ndr_get_array_size(ndr
, &r
->data
));
8507 NDR_CHECK(ndr_pull_array_uint8(ndr
, NDR_SCALARS
, r
->data
, ndr_get_array_size(ndr
, &r
->data
)));
8508 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_data_0
, 0);
8511 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->data
, r
->size
));
8514 return NDR_ERR_SUCCESS
;
8517 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraErrorBuffer
*r
)
8519 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraErrorBuffer");
8521 ndr_print_uint32(ndr
, "size", r
->size
);
8522 ndr_print_ptr(ndr
, "data", r
->data
);
8525 ndr_print_array_uint8(ndr
, "data", r
->data
, r
->size
);
8531 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryExtraError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8533 if (ndr_flags
& NDR_SCALARS
) {
8534 NDR_CHECK(ndr_push_align(ndr
, 5));
8535 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8536 NDR_CHECK(ndr_push_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, r
->attid
));
8537 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown2
));
8538 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8539 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8541 if (ndr_flags
& NDR_BUFFERS
) {
8542 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8544 return NDR_ERR_SUCCESS
;
8547 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryExtraError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryExtraError1
*r
)
8549 if (ndr_flags
& NDR_SCALARS
) {
8550 NDR_CHECK(ndr_pull_align(ndr
, 5));
8551 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
8552 NDR_CHECK(ndr_pull_drsuapi_DsAttributeId(ndr
, NDR_SCALARS
, &r
->attid
));
8553 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown2
));
8554 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_SCALARS
, &r
->buffer
));
8555 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8557 if (ndr_flags
& NDR_BUFFERS
) {
8558 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, NDR_BUFFERS
, &r
->buffer
));
8560 return NDR_ERR_SUCCESS
;
8563 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryExtraError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryExtraError1
*r
)
8565 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryExtraError1");
8567 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
8568 ndr_print_drsuapi_DsAttributeId(ndr
, "attid", r
->attid
);
8569 ndr_print_uint32(ndr
, "unknown2", r
->unknown2
);
8570 ndr_print_drsuapi_DsAddEntryExtraErrorBuffer(ndr
, "buffer", &r
->buffer
);
8574 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorListItem1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8576 if (ndr_flags
& NDR_SCALARS
) {
8577 NDR_CHECK(ndr_push_align(ndr
, 5));
8578 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->next
));
8579 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8580 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8582 if (ndr_flags
& NDR_BUFFERS
) {
8584 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8586 NDR_CHECK(ndr_push_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8588 return NDR_ERR_SUCCESS
;
8591 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorListItem1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorListItem1
*r
)
8594 TALLOC_CTX
*_mem_save_next_0
;
8595 if (ndr_flags
& NDR_SCALARS
) {
8596 NDR_CHECK(ndr_pull_align(ndr
, 5));
8597 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_next
));
8599 NDR_PULL_ALLOC(ndr
, r
->next
);
8603 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_SCALARS
, &r
->error
));
8604 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8606 if (ndr_flags
& NDR_BUFFERS
) {
8608 _mem_save_next_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8609 NDR_PULL_SET_MEM_CTX(ndr
, r
->next
, 0);
8610 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->next
));
8611 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_next_0
, 0);
8613 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryExtraError1(ndr
, NDR_BUFFERS
, &r
->error
));
8615 return NDR_ERR_SUCCESS
;
8618 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorListItem1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorListItem1
*r
)
8620 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorListItem1");
8622 ndr_print_ptr(ndr
, "next", r
->next
);
8625 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "next", r
->next
);
8628 ndr_print_drsuapi_DsAddEntryExtraError1(ndr
, "error", &r
->error
);
8632 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8634 if (ndr_flags
& NDR_SCALARS
) {
8635 NDR_CHECK(ndr_push_align(ndr
, 5));
8636 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
8637 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8638 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8639 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8641 if (ndr_flags
& NDR_BUFFERS
) {
8643 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8645 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8647 return NDR_ERR_SUCCESS
;
8650 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryErrorInfo1
*r
)
8653 TALLOC_CTX
*_mem_save_id_0
;
8654 if (ndr_flags
& NDR_SCALARS
) {
8655 NDR_CHECK(ndr_pull_align(ndr
, 5));
8656 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
8658 NDR_PULL_ALLOC(ndr
, r
->id
);
8662 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8663 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_SCALARS
, &r
->first
));
8664 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8666 if (ndr_flags
& NDR_BUFFERS
) {
8668 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8669 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
8670 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
8671 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
8673 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorListItem1(ndr
, NDR_BUFFERS
, &r
->first
));
8675 return NDR_ERR_SUCCESS
;
8678 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryErrorInfo1
*r
)
8680 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryErrorInfo1");
8682 ndr_print_ptr(ndr
, "id", r
->id
);
8685 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
8688 ndr_print_WERROR(ndr
, "status", r
->status
);
8689 ndr_print_drsuapi_DsAddEntryErrorListItem1(ndr
, "first", &r
->first
);
8693 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryErrorInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8695 if (ndr_flags
& NDR_SCALARS
) {
8696 int level
= ndr_push_get_switch_value(ndr
, r
);
8697 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8698 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8701 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8705 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8709 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8713 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8717 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8721 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8724 if (ndr_flags
& NDR_BUFFERS
) {
8725 int level
= ndr_push_get_switch_value(ndr
, r
);
8728 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8744 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8747 return NDR_ERR_SUCCESS
;
8750 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryErrorInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryErrorInfo
*r
)
8754 level
= ndr_pull_get_switch_value(ndr
, r
);
8755 if (ndr_flags
& NDR_SCALARS
) {
8756 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8757 if (_level
!= level
) {
8758 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8760 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8763 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_SCALARS
, &r
->error1
));
8767 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8771 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8775 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8779 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->errorX
));
8783 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8786 if (ndr_flags
& NDR_BUFFERS
) {
8789 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo1(ndr
, NDR_BUFFERS
, &r
->error1
));
8805 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8808 return NDR_ERR_SUCCESS
;
8811 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryErrorInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryErrorInfo
*r
)
8814 level
= ndr_print_get_switch_value(ndr
, r
);
8815 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryErrorInfo");
8818 ndr_print_drsuapi_DsAddEntryErrorInfo1(ndr
, "error1", &r
->error1
);
8822 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8826 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8830 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8834 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "errorX", &r
->errorX
);
8838 ndr_print_bad_level(ndr
, name
, level
);
8842 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryError1
*r
)
8844 if (ndr_flags
& NDR_SCALARS
) {
8845 NDR_CHECK(ndr_push_align(ndr
, 5));
8846 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->status
));
8847 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
8848 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
8849 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
8851 if (ndr_flags
& NDR_BUFFERS
) {
8853 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->info
, r
->level
));
8854 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8857 return NDR_ERR_SUCCESS
;
8860 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryError1
*r
)
8863 TALLOC_CTX
*_mem_save_info_0
;
8864 if (ndr_flags
& NDR_SCALARS
) {
8865 NDR_CHECK(ndr_pull_align(ndr
, 5));
8866 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->status
));
8867 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
8868 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
8870 NDR_PULL_ALLOC(ndr
, r
->info
);
8874 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
8876 if (ndr_flags
& NDR_BUFFERS
) {
8878 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
8879 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
8880 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->info
, r
->level
));
8881 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->info
));
8882 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
8885 return NDR_ERR_SUCCESS
;
8888 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryError1
*r
)
8890 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryError1");
8892 ndr_print_WERROR(ndr
, "status", r
->status
);
8893 ndr_print_uint32(ndr
, "level", r
->level
);
8894 ndr_print_ptr(ndr
, "info", r
->info
);
8897 ndr_print_set_switch_value(ndr
, r
->info
, r
->level
);
8898 ndr_print_drsuapi_DsAddEntryErrorInfo(ndr
, "info", r
->info
);
8904 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryError(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryError
*r
)
8906 if (ndr_flags
& NDR_SCALARS
) {
8907 int level
= ndr_push_get_switch_value(ndr
, r
);
8908 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
8909 NDR_CHECK(ndr_push_union_align(ndr
, 5));
8912 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8916 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8919 if (ndr_flags
& NDR_BUFFERS
) {
8920 int level
= ndr_push_get_switch_value(ndr
, r
);
8923 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8927 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8930 return NDR_ERR_SUCCESS
;
8933 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryError(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryError
*r
)
8937 level
= ndr_pull_get_switch_value(ndr
, r
);
8938 if (ndr_flags
& NDR_SCALARS
) {
8939 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
8940 if (_level
!= level
) {
8941 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
8943 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
8946 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_SCALARS
, &r
->info1
));
8950 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8953 if (ndr_flags
& NDR_BUFFERS
) {
8956 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError1(ndr
, NDR_BUFFERS
, &r
->info1
));
8960 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
8963 return NDR_ERR_SUCCESS
;
8966 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryError(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryError
*r
)
8969 level
= ndr_print_get_switch_value(ndr
, r
);
8970 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryError");
8973 ndr_print_drsuapi_DsAddEntryError1(ndr
, "info1", &r
->info1
);
8977 ndr_print_bad_level(ndr
, name
, level
);
8981 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjectIdentifier2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
8983 if (ndr_flags
& NDR_SCALARS
) {
8984 NDR_CHECK(ndr_push_align(ndr
, 4));
8985 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
8986 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
8987 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
8989 if (ndr_flags
& NDR_BUFFERS
) {
8990 NDR_CHECK(ndr_push_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
8992 return NDR_ERR_SUCCESS
;
8995 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjectIdentifier2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjectIdentifier2
*r
)
8997 if (ndr_flags
& NDR_SCALARS
) {
8998 NDR_CHECK(ndr_pull_align(ndr
, 4));
8999 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->guid
));
9000 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_SCALARS
, &r
->sid
));
9001 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9003 if (ndr_flags
& NDR_BUFFERS
) {
9004 NDR_CHECK(ndr_pull_dom_sid28(ndr
, NDR_BUFFERS
, &r
->sid
));
9006 return NDR_ERR_SUCCESS
;
9009 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjectIdentifier2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjectIdentifier2
*r
)
9011 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjectIdentifier2");
9013 ndr_print_GUID(ndr
, "guid", &r
->guid
);
9014 ndr_print_dom_sid28(ndr
, "sid", &r
->sid
);
9018 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr2
*r
)
9020 uint32_t cntr_objects_1
;
9021 if (ndr_flags
& NDR_SCALARS
) {
9022 NDR_CHECK(ndr_push_align(ndr
, 5));
9023 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9024 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->unknown1
));
9025 NDR_CHECK(ndr_push_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9026 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9027 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9028 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9030 if (ndr_flags
& NDR_BUFFERS
) {
9032 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9035 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9036 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9037 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9039 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9040 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9044 return NDR_ERR_SUCCESS
;
9047 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr2
*r
)
9050 TALLOC_CTX
*_mem_save_id_0
;
9051 uint32_t _ptr_objects
;
9052 uint32_t cntr_objects_1
;
9053 TALLOC_CTX
*_mem_save_objects_0
;
9054 TALLOC_CTX
*_mem_save_objects_1
;
9055 if (ndr_flags
& NDR_SCALARS
) {
9056 NDR_CHECK(ndr_pull_align(ndr
, 5));
9057 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9059 NDR_PULL_ALLOC(ndr
, r
->id
);
9063 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->unknown1
));
9064 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryErrorInfoX(ndr
, NDR_SCALARS
, &r
->error
));
9065 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9066 if (r
->count
> 10000) {
9067 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9069 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9071 NDR_PULL_ALLOC(ndr
, r
->objects
);
9075 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9077 if (ndr_flags
& NDR_BUFFERS
) {
9079 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9080 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9081 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9082 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9085 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9086 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9087 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9088 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9089 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9090 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9091 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9092 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9094 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9095 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9097 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9098 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9101 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9104 return NDR_ERR_SUCCESS
;
9107 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr2
*r
)
9109 uint32_t cntr_objects_1
;
9110 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr2");
9112 ndr_print_ptr(ndr
, "id", r
->id
);
9115 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9118 ndr_print_uint32(ndr
, "unknown1", r
->unknown1
);
9119 ndr_print_drsuapi_DsAddEntryErrorInfoX(ndr
, "error", &r
->error
);
9120 ndr_print_uint32(ndr
, "count", r
->count
);
9121 ndr_print_ptr(ndr
, "objects", r
->objects
);
9124 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9126 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9128 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9129 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9139 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsAddEntryCtr3
*r
)
9141 uint32_t cntr_objects_1
;
9142 if (ndr_flags
& NDR_SCALARS
) {
9143 NDR_CHECK(ndr_push_align(ndr
, 5));
9144 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->id
));
9145 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->level
));
9146 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->error
));
9147 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
9148 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objects
));
9149 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9151 if (ndr_flags
& NDR_BUFFERS
) {
9153 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9156 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->error
, r
->level
));
9157 NDR_CHECK(ndr_push_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9160 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
9161 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9162 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9164 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9165 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9169 return NDR_ERR_SUCCESS
;
9172 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsAddEntryCtr3
*r
)
9175 TALLOC_CTX
*_mem_save_id_0
;
9176 uint32_t _ptr_error
;
9177 TALLOC_CTX
*_mem_save_error_0
;
9178 uint32_t _ptr_objects
;
9179 uint32_t cntr_objects_1
;
9180 TALLOC_CTX
*_mem_save_objects_0
;
9181 TALLOC_CTX
*_mem_save_objects_1
;
9182 if (ndr_flags
& NDR_SCALARS
) {
9183 NDR_CHECK(ndr_pull_align(ndr
, 5));
9184 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_id
));
9186 NDR_PULL_ALLOC(ndr
, r
->id
);
9190 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->level
));
9191 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_error
));
9193 NDR_PULL_ALLOC(ndr
, r
->error
);
9197 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
9198 if (r
->count
> 10000) {
9199 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
9201 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objects
));
9203 NDR_PULL_ALLOC(ndr
, r
->objects
);
9207 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9209 if (ndr_flags
& NDR_BUFFERS
) {
9211 _mem_save_id_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9212 NDR_PULL_SET_MEM_CTX(ndr
, r
->id
, 0);
9213 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->id
));
9214 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_id_0
, 0);
9217 _mem_save_error_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9218 NDR_PULL_SET_MEM_CTX(ndr
, r
->error
, 0);
9219 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->error
, r
->level
));
9220 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryError(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->error
));
9221 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_error_0
, 0);
9224 _mem_save_objects_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9225 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9226 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->objects
));
9227 NDR_PULL_ALLOC_N(ndr
, r
->objects
, ndr_get_array_size(ndr
, &r
->objects
));
9228 _mem_save_objects_1
= NDR_PULL_GET_MEM_CTX(ndr
);
9229 NDR_PULL_SET_MEM_CTX(ndr
, r
->objects
, 0);
9230 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9231 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_SCALARS
, &r
->objects
[cntr_objects_1
]));
9233 for (cntr_objects_1
= 0; cntr_objects_1
< r
->count
; cntr_objects_1
++) {
9234 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier2(ndr
, NDR_BUFFERS
, &r
->objects
[cntr_objects_1
]));
9236 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_1
, 0);
9237 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objects_0
, 0);
9240 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->objects
, r
->count
));
9243 return NDR_ERR_SUCCESS
;
9246 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsAddEntryCtr3
*r
)
9248 uint32_t cntr_objects_1
;
9249 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntryCtr3");
9251 ndr_print_ptr(ndr
, "id", r
->id
);
9254 ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr
, "id", r
->id
);
9257 ndr_print_uint32(ndr
, "level", r
->level
);
9258 ndr_print_ptr(ndr
, "error", r
->error
);
9261 ndr_print_set_switch_value(ndr
, r
->error
, r
->level
);
9262 ndr_print_drsuapi_DsAddEntryError(ndr
, "error", r
->error
);
9265 ndr_print_uint32(ndr
, "count", r
->count
);
9266 ndr_print_ptr(ndr
, "objects", r
->objects
);
9269 ndr
->print(ndr
, "%s: ARRAY(%d)", "objects", (int)r
->count
);
9271 for (cntr_objects_1
=0;cntr_objects_1
<r
->count
;cntr_objects_1
++) {
9273 if (asprintf(&idx_1
, "[%d]", cntr_objects_1
) != -1) {
9274 ndr_print_drsuapi_DsReplicaObjectIdentifier2(ndr
, "objects", &r
->objects
[cntr_objects_1
]);
9284 static enum ndr_err_code
ndr_push_drsuapi_DsAddEntryCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsAddEntryCtr
*r
)
9286 if (ndr_flags
& NDR_SCALARS
) {
9287 int level
= ndr_push_get_switch_value(ndr
, r
);
9288 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, level
));
9289 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9292 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9296 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9300 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9303 if (ndr_flags
& NDR_BUFFERS
) {
9304 int level
= ndr_push_get_switch_value(ndr
, r
);
9307 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9311 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9315 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9318 return NDR_ERR_SUCCESS
;
9321 static enum ndr_err_code
ndr_pull_drsuapi_DsAddEntryCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsAddEntryCtr
*r
)
9325 level
= ndr_pull_get_switch_value(ndr
, r
);
9326 if (ndr_flags
& NDR_SCALARS
) {
9327 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &_level
));
9328 if (_level
!= level
) {
9329 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9331 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9334 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_SCALARS
, &r
->ctr2
));
9338 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_SCALARS
, &r
->ctr3
));
9342 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9345 if (ndr_flags
& NDR_BUFFERS
) {
9348 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr2(ndr
, NDR_BUFFERS
, &r
->ctr2
));
9352 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr3(ndr
, NDR_BUFFERS
, &r
->ctr3
));
9356 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9359 return NDR_ERR_SUCCESS
;
9362 _PUBLIC_
void ndr_print_drsuapi_DsAddEntryCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsAddEntryCtr
*r
)
9365 level
= ndr_print_get_switch_value(ndr
, r
);
9366 ndr_print_union(ndr
, name
, level
, "drsuapi_DsAddEntryCtr");
9369 ndr_print_drsuapi_DsAddEntryCtr2(ndr
, "ctr2", &r
->ctr2
);
9373 ndr_print_drsuapi_DsAddEntryCtr3(ndr
, "ctr3", &r
->ctr3
);
9377 ndr_print_bad_level(ndr
, name
, level
);
9381 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCFlags(struct ndr_push
*ndr
, int ndr_flags
, uint32_t r
)
9383 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
));
9384 return NDR_ERR_SUCCESS
;
9387 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCFlags(struct ndr_pull
*ndr
, int ndr_flags
, uint32_t *r
)
9390 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &v
));
9392 return NDR_ERR_SUCCESS
;
9395 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCFlags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
9397 ndr_print_uint32(ndr
, name
, r
);
9399 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION
, r
);
9400 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "DRSUAPI_DS_EXECUTE_KCC_DAMPED", DRSUAPI_DS_EXECUTE_KCC_DAMPED
, r
);
9404 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsExecuteKCC1
*r
)
9406 if (ndr_flags
& NDR_SCALARS
) {
9407 NDR_CHECK(ndr_push_align(ndr
, 4));
9408 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->taskID
));
9409 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, r
->flags
));
9410 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
9412 if (ndr_flags
& NDR_BUFFERS
) {
9414 return NDR_ERR_SUCCESS
;
9417 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsExecuteKCC1
*r
)
9419 if (ndr_flags
& NDR_SCALARS
) {
9420 NDR_CHECK(ndr_pull_align(ndr
, 4));
9421 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->taskID
));
9422 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCFlags(ndr
, NDR_SCALARS
, &r
->flags
));
9423 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
9425 if (ndr_flags
& NDR_BUFFERS
) {
9427 return NDR_ERR_SUCCESS
;
9430 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsExecuteKCC1
*r
)
9432 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC1");
9434 ndr_print_uint32(ndr
, "taskID", r
->taskID
);
9435 ndr_print_drsuapi_DsExecuteKCCFlags(ndr
, "flags", r
->flags
);
9439 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCCRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsExecuteKCCRequest
*r
)
9441 if (ndr_flags
& NDR_SCALARS
) {
9442 int level
= ndr_push_get_switch_value(ndr
, r
);
9443 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
9444 NDR_CHECK(ndr_push_union_align(ndr
, 4));
9447 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9451 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9454 if (ndr_flags
& NDR_BUFFERS
) {
9455 int level
= ndr_push_get_switch_value(ndr
, r
);
9461 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9464 return NDR_ERR_SUCCESS
;
9467 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCCRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsExecuteKCCRequest
*r
)
9471 level
= ndr_pull_get_switch_value(ndr
, r
);
9472 if (ndr_flags
& NDR_SCALARS
) {
9473 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9474 if (_level
!= level
) {
9475 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9477 NDR_CHECK(ndr_pull_union_align(ndr
, 4));
9480 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCC1(ndr
, NDR_SCALARS
, &r
->ctr1
));
9484 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9487 if (ndr_flags
& NDR_BUFFERS
) {
9493 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9496 return NDR_ERR_SUCCESS
;
9499 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCCRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsExecuteKCCRequest
*r
)
9502 level
= ndr_print_get_switch_value(ndr
, r
);
9503 ndr_print_union(ndr
, name
, level
, "drsuapi_DsExecuteKCCRequest");
9506 ndr_print_drsuapi_DsExecuteKCC1(ndr
, "ctr1", &r
->ctr1
);
9510 ndr_print_bad_level(ndr
, name
, level
);
9514 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoLevel(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel r
)
9516 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9517 return NDR_ERR_SUCCESS
;
9520 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoLevel(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaGetInfoLevel
*r
)
9523 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9525 return NDR_ERR_SUCCESS
;
9528 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoLevel(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaGetInfoLevel r
)
9530 const char *val
= NULL
;
9533 case DRSUAPI_DS_REPLICA_GET_INFO
: val
= "DRSUAPI_DS_REPLICA_GET_INFO"; break;
9534 case DRSUAPI_DS_REPLICA_GET_INFO2
: val
= "DRSUAPI_DS_REPLICA_GET_INFO2"; break;
9536 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9539 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfoType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType r
)
9541 NDR_CHECK(ndr_push_enum_uint32(ndr
, NDR_SCALARS
, r
));
9542 return NDR_ERR_SUCCESS
;
9545 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfoType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaInfoType
*r
)
9548 NDR_CHECK(ndr_pull_enum_uint32(ndr
, NDR_SCALARS
, &v
));
9550 return NDR_ERR_SUCCESS
;
9553 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfoType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaInfoType r
)
9555 const char *val
= NULL
;
9558 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: val
= "DRSUAPI_DS_REPLICA_INFO_NEIGHBORS"; break;
9559 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS"; break;
9560 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA"; break;
9561 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES"; break;
9562 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: val
= "DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES"; break;
9563 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: val
= "DRSUAPI_DS_REPLICA_INFO_PENDING_OPS"; break;
9564 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA"; break;
9565 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS2"; break;
9566 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: val
= "DRSUAPI_DS_REPLICA_INFO_CURSORS3"; break;
9567 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2"; break;
9568 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: val
= "DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2"; break;
9569 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: val
= "DRSUAPI_DS_REPLICA_INFO_REPSTO"; break;
9570 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: val
= "DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS"; break;
9571 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: val
= "DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1"; break;
9572 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: val
= "DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS"; break;
9574 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
9577 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9579 if (ndr_flags
& NDR_SCALARS
) {
9580 NDR_CHECK(ndr_push_align(ndr
, 5));
9581 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9582 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9583 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9584 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9586 if (ndr_flags
& NDR_BUFFERS
) {
9588 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9589 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9590 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9591 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9594 return NDR_ERR_SUCCESS
;
9597 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9599 uint32_t _ptr_object_dn
;
9600 TALLOC_CTX
*_mem_save_object_dn_0
;
9601 if (ndr_flags
& NDR_SCALARS
) {
9602 NDR_CHECK(ndr_pull_align(ndr
, 5));
9603 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9604 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9605 if (_ptr_object_dn
) {
9606 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9608 r
->object_dn
= NULL
;
9610 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9611 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9613 if (ndr_flags
& NDR_BUFFERS
) {
9615 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9616 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9617 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9618 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9619 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9620 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
));
9622 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9623 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9624 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9627 return NDR_ERR_SUCCESS
;
9630 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest1
*r
)
9632 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest1");
9634 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9635 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9638 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9641 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
9645 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9647 if (ndr_flags
& NDR_SCALARS
) {
9648 NDR_CHECK(ndr_push_align(ndr
, 5));
9649 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->info_type
));
9650 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
9651 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9652 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
9653 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
9654 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->value_dn_str
));
9655 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
9656 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
9658 if (ndr_flags
& NDR_BUFFERS
) {
9660 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9661 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9662 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
9663 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9665 if (r
->attribute_name
) {
9666 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9667 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9668 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
9669 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
9671 if (r
->value_dn_str
) {
9672 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
9673 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9674 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->value_dn_str
, CH_UTF16
)));
9675 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
));
9678 return NDR_ERR_SUCCESS
;
9681 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9683 uint32_t _ptr_object_dn
;
9684 TALLOC_CTX
*_mem_save_object_dn_0
;
9685 uint32_t _ptr_attribute_name
;
9686 TALLOC_CTX
*_mem_save_attribute_name_0
;
9687 uint32_t _ptr_value_dn_str
;
9688 TALLOC_CTX
*_mem_save_value_dn_str_0
;
9689 if (ndr_flags
& NDR_SCALARS
) {
9690 NDR_CHECK(ndr_pull_align(ndr
, 5));
9691 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, &r
->info_type
));
9692 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
9693 if (_ptr_object_dn
) {
9694 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
9696 r
->object_dn
= NULL
;
9698 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_guid
));
9699 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
9700 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
9701 if (_ptr_attribute_name
) {
9702 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
9704 r
->attribute_name
= NULL
;
9706 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_value_dn_str
));
9707 if (_ptr_value_dn_str
) {
9708 NDR_PULL_ALLOC(ndr
, r
->value_dn_str
);
9710 r
->value_dn_str
= NULL
;
9712 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
9713 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
9715 if (ndr_flags
& NDR_BUFFERS
) {
9717 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9718 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
9719 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
9720 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
9721 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
9722 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
));
9724 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
9725 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
9726 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
9728 if (r
->attribute_name
) {
9729 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9730 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
9731 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
9732 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
9733 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
9734 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
));
9736 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
9737 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
9738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
9740 if (r
->value_dn_str
) {
9741 _mem_save_value_dn_str_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9742 NDR_PULL_SET_MEM_CTX(ndr
, r
->value_dn_str
, 0);
9743 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->value_dn_str
));
9744 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->value_dn_str
));
9745 if (ndr_get_array_length(ndr
, &r
->value_dn_str
) > ndr_get_array_size(ndr
, &r
->value_dn_str
)) {
9746 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
));
9748 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->value_dn_str
), sizeof(uint16_t)));
9749 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
));
9750 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_value_dn_str_0
, 0);
9753 return NDR_ERR_SUCCESS
;
9756 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaGetInfoRequest2
*r
)
9758 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfoRequest2");
9760 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", r
->info_type
);
9761 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
9764 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
9767 ndr_print_GUID(ndr
, "source_dsa_guid", &r
->source_dsa_guid
);
9768 ndr_print_uint32(ndr
, "flags", r
->flags
);
9769 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
9771 if (r
->attribute_name
) {
9772 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
9775 ndr_print_ptr(ndr
, "value_dn_str", r
->value_dn_str
);
9777 if (r
->value_dn_str
) {
9778 ndr_print_string(ndr
, "value_dn_str", r
->value_dn_str
);
9781 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
9785 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfoRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9787 if (ndr_flags
& NDR_SCALARS
) {
9788 int level
= ndr_push_get_switch_value(ndr
, r
);
9789 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, level
));
9790 NDR_CHECK(ndr_push_union_align(ndr
, 5));
9792 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9793 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9796 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9797 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9801 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9804 if (ndr_flags
& NDR_BUFFERS
) {
9805 int level
= ndr_push_get_switch_value(ndr
, r
);
9807 case DRSUAPI_DS_REPLICA_GET_INFO
:
9808 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9811 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9812 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9816 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9819 return NDR_ERR_SUCCESS
;
9822 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfoRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaGetInfoRequest
*r
)
9826 level
= ndr_pull_get_switch_value(ndr
, r
);
9827 if (ndr_flags
& NDR_SCALARS
) {
9828 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
9829 if (_level
!= level
) {
9830 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
9832 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
9834 case DRSUAPI_DS_REPLICA_GET_INFO
: {
9835 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
9838 case DRSUAPI_DS_REPLICA_GET_INFO2
: {
9839 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_SCALARS
, &r
->req2
));
9843 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9846 if (ndr_flags
& NDR_BUFFERS
) {
9848 case DRSUAPI_DS_REPLICA_GET_INFO
:
9849 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
9852 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9853 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest2(ndr
, NDR_BUFFERS
, &r
->req2
));
9857 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
9860 return NDR_ERR_SUCCESS
;
9863 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfoRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaGetInfoRequest
*r
)
9866 level
= ndr_print_get_switch_value(ndr
, r
);
9867 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaGetInfoRequest");
9869 case DRSUAPI_DS_REPLICA_GET_INFO
:
9870 ndr_print_drsuapi_DsReplicaGetInfoRequest1(ndr
, "req1", &r
->req1
);
9873 case DRSUAPI_DS_REPLICA_GET_INFO2
:
9874 ndr_print_drsuapi_DsReplicaGetInfoRequest2(ndr
, "req2", &r
->req2
);
9878 ndr_print_bad_level(ndr
, name
, level
);
9882 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbour(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbour
*r
)
9884 if (ndr_flags
& NDR_SCALARS
) {
9885 NDR_CHECK(ndr_push_align(ndr
, 8));
9886 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->naming_context_dn
));
9887 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
9888 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_address
));
9889 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->transport_obj_dn
));
9890 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->replica_flags
));
9891 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
9892 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9893 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9894 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9895 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9896 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->tmp_highest_usn
));
9897 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
9898 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_success
));
9899 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_attempt
));
9900 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->result_last_attempt
));
9901 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->consecutive_sync_failures
));
9902 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
9904 if (ndr_flags
& NDR_BUFFERS
) {
9905 if (r
->naming_context_dn
) {
9906 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9907 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9908 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->naming_context_dn
, CH_UTF16
)));
9909 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
));
9911 if (r
->source_dsa_obj_dn
) {
9912 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9913 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9914 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
9915 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
));
9917 if (r
->source_dsa_address
) {
9918 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9919 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9920 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_address
, CH_UTF16
)));
9921 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
));
9923 if (r
->transport_obj_dn
) {
9924 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9925 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
9926 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->transport_obj_dn
, CH_UTF16
)));
9927 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
));
9930 return NDR_ERR_SUCCESS
;
9933 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbour(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbour
*r
)
9935 uint32_t _ptr_naming_context_dn
;
9936 TALLOC_CTX
*_mem_save_naming_context_dn_0
;
9937 uint32_t _ptr_source_dsa_obj_dn
;
9938 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
9939 uint32_t _ptr_source_dsa_address
;
9940 TALLOC_CTX
*_mem_save_source_dsa_address_0
;
9941 uint32_t _ptr_transport_obj_dn
;
9942 TALLOC_CTX
*_mem_save_transport_obj_dn_0
;
9943 if (ndr_flags
& NDR_SCALARS
) {
9944 NDR_CHECK(ndr_pull_align(ndr
, 8));
9945 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_naming_context_dn
));
9946 if (_ptr_naming_context_dn
) {
9947 NDR_PULL_ALLOC(ndr
, r
->naming_context_dn
);
9949 r
->naming_context_dn
= NULL
;
9951 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
9952 if (_ptr_source_dsa_obj_dn
) {
9953 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
9955 r
->source_dsa_obj_dn
= NULL
;
9957 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_address
));
9958 if (_ptr_source_dsa_address
) {
9959 NDR_PULL_ALLOC(ndr
, r
->source_dsa_address
);
9961 r
->source_dsa_address
= NULL
;
9963 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_transport_obj_dn
));
9964 if (_ptr_transport_obj_dn
) {
9965 NDR_PULL_ALLOC(ndr
, r
->transport_obj_dn
);
9967 r
->transport_obj_dn
= NULL
;
9969 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->replica_flags
));
9970 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
9971 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->naming_context_obj_guid
));
9972 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_obj_guid
));
9973 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
9974 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->transport_obj_guid
));
9975 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->tmp_highest_usn
));
9976 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
9977 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_success
));
9978 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_attempt
));
9979 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->result_last_attempt
));
9980 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->consecutive_sync_failures
));
9981 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
9983 if (ndr_flags
& NDR_BUFFERS
) {
9984 if (r
->naming_context_dn
) {
9985 _mem_save_naming_context_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9986 NDR_PULL_SET_MEM_CTX(ndr
, r
->naming_context_dn
, 0);
9987 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->naming_context_dn
));
9988 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->naming_context_dn
));
9989 if (ndr_get_array_length(ndr
, &r
->naming_context_dn
) > ndr_get_array_size(ndr
, &r
->naming_context_dn
)) {
9990 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
));
9992 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->naming_context_dn
), sizeof(uint16_t)));
9993 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
));
9994 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_naming_context_dn_0
, 0);
9996 if (r
->source_dsa_obj_dn
) {
9997 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
9998 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
9999 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
10000 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
10001 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
10002 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
));
10004 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
10005 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
));
10006 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
10008 if (r
->source_dsa_address
) {
10009 _mem_save_source_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10010 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_address
, 0);
10011 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_address
));
10012 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_address
));
10013 if (ndr_get_array_length(ndr
, &r
->source_dsa_address
) > ndr_get_array_size(ndr
, &r
->source_dsa_address
)) {
10014 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
));
10016 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_address
), sizeof(uint16_t)));
10017 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
));
10018 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_address_0
, 0);
10020 if (r
->transport_obj_dn
) {
10021 _mem_save_transport_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10022 NDR_PULL_SET_MEM_CTX(ndr
, r
->transport_obj_dn
, 0);
10023 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->transport_obj_dn
));
10024 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->transport_obj_dn
));
10025 if (ndr_get_array_length(ndr
, &r
->transport_obj_dn
) > ndr_get_array_size(ndr
, &r
->transport_obj_dn
)) {
10026 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
));
10028 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->transport_obj_dn
), sizeof(uint16_t)));
10029 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
));
10030 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_transport_obj_dn_0
, 0);
10033 return NDR_ERR_SUCCESS
;
10036 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbour(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbour
*r
)
10038 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbour");
10040 ndr_print_ptr(ndr
, "naming_context_dn", r
->naming_context_dn
);
10042 if (r
->naming_context_dn
) {
10043 ndr_print_string(ndr
, "naming_context_dn", r
->naming_context_dn
);
10046 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10048 if (r
->source_dsa_obj_dn
) {
10049 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
10052 ndr_print_ptr(ndr
, "source_dsa_address", r
->source_dsa_address
);
10054 if (r
->source_dsa_address
) {
10055 ndr_print_string(ndr
, "source_dsa_address", r
->source_dsa_address
);
10058 ndr_print_ptr(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10060 if (r
->transport_obj_dn
) {
10061 ndr_print_string(ndr
, "transport_obj_dn", r
->transport_obj_dn
);
10064 ndr_print_drsuapi_DrsOptions(ndr
, "replica_flags", r
->replica_flags
);
10065 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10066 ndr_print_GUID(ndr
, "naming_context_obj_guid", &r
->naming_context_obj_guid
);
10067 ndr_print_GUID(ndr
, "source_dsa_obj_guid", &r
->source_dsa_obj_guid
);
10068 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
10069 ndr_print_GUID(ndr
, "transport_obj_guid", &r
->transport_obj_guid
);
10070 ndr_print_hyper(ndr
, "tmp_highest_usn", r
->tmp_highest_usn
);
10071 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
10072 ndr_print_NTTIME(ndr
, "last_success", r
->last_success
);
10073 ndr_print_NTTIME(ndr
, "last_attempt", r
->last_attempt
);
10074 ndr_print_WERROR(ndr
, "result_last_attempt", r
->result_last_attempt
);
10075 ndr_print_uint32(ndr
, "consecutive_sync_failures", r
->consecutive_sync_failures
);
10079 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaNeighbourCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10081 uint32_t cntr_array_0
;
10082 if (ndr_flags
& NDR_SCALARS
) {
10083 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10084 NDR_CHECK(ndr_push_align(ndr
, 8));
10085 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10086 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10087 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10088 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10090 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10092 if (ndr_flags
& NDR_BUFFERS
) {
10093 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10094 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10097 return NDR_ERR_SUCCESS
;
10100 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaNeighbourCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaNeighbourCtr
*r
)
10102 uint32_t cntr_array_0
;
10103 TALLOC_CTX
*_mem_save_array_0
;
10104 if (ndr_flags
& NDR_SCALARS
) {
10105 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10106 NDR_CHECK(ndr_pull_align(ndr
, 8));
10107 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10108 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10109 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10110 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10111 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10112 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10113 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10117 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10119 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10121 if (ndr_flags
& NDR_BUFFERS
) {
10122 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10123 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10124 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10125 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbour(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10127 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10129 return NDR_ERR_SUCCESS
;
10132 _PUBLIC_
void ndr_print_drsuapi_DsReplicaNeighbourCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaNeighbourCtr
*r
)
10134 uint32_t cntr_array_0
;
10135 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaNeighbourCtr");
10137 ndr_print_uint32(ndr
, "count", r
->count
);
10138 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10139 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10141 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10143 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10144 ndr_print_drsuapi_DsReplicaNeighbour(ndr
, "array", &r
->array
[cntr_array_0
]);
10152 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursorCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10154 uint32_t cntr_array_0
;
10155 if (ndr_flags
& NDR_SCALARS
) {
10156 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10157 NDR_CHECK(ndr_push_align(ndr
, 8));
10158 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10159 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10160 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10161 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10163 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10165 if (ndr_flags
& NDR_BUFFERS
) {
10167 return NDR_ERR_SUCCESS
;
10170 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursorCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursorCtr
*r
)
10172 uint32_t cntr_array_0
;
10173 TALLOC_CTX
*_mem_save_array_0
;
10174 if (ndr_flags
& NDR_SCALARS
) {
10175 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10176 NDR_CHECK(ndr_pull_align(ndr
, 8));
10177 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10178 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10179 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10180 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10181 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10182 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10183 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10185 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10187 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10189 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10191 if (ndr_flags
& NDR_BUFFERS
) {
10193 return NDR_ERR_SUCCESS
;
10196 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursorCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursorCtr
*r
)
10198 uint32_t cntr_array_0
;
10199 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursorCtr");
10201 ndr_print_uint32(ndr
, "count", r
->count
);
10202 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10203 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10205 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10207 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10208 ndr_print_drsuapi_DsReplicaCursor(ndr
, "array", &r
->array
[cntr_array_0
]);
10216 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10218 if (ndr_flags
& NDR_SCALARS
) {
10219 NDR_CHECK(ndr_push_align(ndr
, 8));
10220 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10221 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10222 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10223 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10224 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10225 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10226 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10228 if (ndr_flags
& NDR_BUFFERS
) {
10229 if (r
->attribute_name
) {
10230 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10231 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10232 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10233 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10236 return NDR_ERR_SUCCESS
;
10239 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData
*r
)
10241 uint32_t _ptr_attribute_name
;
10242 TALLOC_CTX
*_mem_save_attribute_name_0
;
10243 if (ndr_flags
& NDR_SCALARS
) {
10244 NDR_CHECK(ndr_pull_align(ndr
, 8));
10245 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10246 if (_ptr_attribute_name
) {
10247 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10249 r
->attribute_name
= NULL
;
10251 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10252 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10253 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10254 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10255 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10256 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10258 if (ndr_flags
& NDR_BUFFERS
) {
10259 if (r
->attribute_name
) {
10260 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10261 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10262 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10263 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10264 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10265 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
));
10267 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10268 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10269 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10272 return NDR_ERR_SUCCESS
;
10275 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData
*r
)
10277 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData");
10279 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10281 if (r
->attribute_name
) {
10282 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10285 ndr_print_uint32(ndr
, "version", r
->version
);
10286 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10287 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10288 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10289 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10293 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10295 uint32_t cntr_array_0
;
10296 if (ndr_flags
& NDR_SCALARS
) {
10297 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10298 NDR_CHECK(ndr_push_align(ndr
, 8));
10299 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10300 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10301 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10302 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10304 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10306 if (ndr_flags
& NDR_BUFFERS
) {
10307 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10308 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10311 return NDR_ERR_SUCCESS
;
10314 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10316 uint32_t cntr_array_0
;
10317 TALLOC_CTX
*_mem_save_array_0
;
10318 if (ndr_flags
& NDR_SCALARS
) {
10319 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10320 NDR_CHECK(ndr_pull_align(ndr
, 8));
10321 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10322 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10323 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10324 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10325 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10326 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10327 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10329 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10331 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10333 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10335 if (ndr_flags
& NDR_BUFFERS
) {
10336 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10337 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10338 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10339 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10341 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10343 return NDR_ERR_SUCCESS
;
10346 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaDataCtr
*r
)
10348 uint32_t cntr_array_0
;
10349 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaDataCtr");
10351 ndr_print_uint32(ndr
, "count", r
->count
);
10352 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10353 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10355 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10357 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10358 ndr_print_drsuapi_DsReplicaObjMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10366 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailure(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10368 if (ndr_flags
& NDR_SCALARS
) {
10369 NDR_CHECK(ndr_push_align(ndr
, 5));
10370 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->dsa_obj_dn
));
10371 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10372 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->first_failure
));
10373 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_failures
));
10374 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->last_result
));
10375 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10377 if (ndr_flags
& NDR_BUFFERS
) {
10378 if (r
->dsa_obj_dn
) {
10379 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10380 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10381 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->dsa_obj_dn
, CH_UTF16
)));
10382 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
));
10385 return NDR_ERR_SUCCESS
;
10388 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailure(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailure
*r
)
10390 uint32_t _ptr_dsa_obj_dn
;
10391 TALLOC_CTX
*_mem_save_dsa_obj_dn_0
;
10392 if (ndr_flags
& NDR_SCALARS
) {
10393 NDR_CHECK(ndr_pull_align(ndr
, 5));
10394 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_dsa_obj_dn
));
10395 if (_ptr_dsa_obj_dn
) {
10396 NDR_PULL_ALLOC(ndr
, r
->dsa_obj_dn
);
10398 r
->dsa_obj_dn
= NULL
;
10400 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->dsa_obj_guid
));
10401 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->first_failure
));
10402 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_failures
));
10403 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->last_result
));
10404 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10406 if (ndr_flags
& NDR_BUFFERS
) {
10407 if (r
->dsa_obj_dn
) {
10408 _mem_save_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10409 NDR_PULL_SET_MEM_CTX(ndr
, r
->dsa_obj_dn
, 0);
10410 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->dsa_obj_dn
));
10411 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->dsa_obj_dn
));
10412 if (ndr_get_array_length(ndr
, &r
->dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->dsa_obj_dn
)) {
10413 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
));
10415 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->dsa_obj_dn
), sizeof(uint16_t)));
10416 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
));
10417 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_dsa_obj_dn_0
, 0);
10420 return NDR_ERR_SUCCESS
;
10423 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailure(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailure
*r
)
10425 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailure");
10427 ndr_print_ptr(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10429 if (r
->dsa_obj_dn
) {
10430 ndr_print_string(ndr
, "dsa_obj_dn", r
->dsa_obj_dn
);
10433 ndr_print_GUID(ndr
, "dsa_obj_guid", &r
->dsa_obj_guid
);
10434 ndr_print_NTTIME(ndr
, "first_failure", r
->first_failure
);
10435 ndr_print_uint32(ndr
, "num_failures", r
->num_failures
);
10436 ndr_print_WERROR(ndr
, "last_result", r
->last_result
);
10440 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10442 uint32_t cntr_array_0
;
10443 if (ndr_flags
& NDR_SCALARS
) {
10444 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10445 NDR_CHECK(ndr_push_align(ndr
, 5));
10446 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10447 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
10448 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10449 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10451 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10453 if (ndr_flags
& NDR_BUFFERS
) {
10454 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10455 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10458 return NDR_ERR_SUCCESS
;
10461 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10463 uint32_t cntr_array_0
;
10464 TALLOC_CTX
*_mem_save_array_0
;
10465 if (ndr_flags
& NDR_SCALARS
) {
10466 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10467 NDR_CHECK(ndr_pull_align(ndr
, 5));
10468 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10469 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
10470 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10471 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10472 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10473 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10474 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10476 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10478 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10480 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10482 if (ndr_flags
& NDR_BUFFERS
) {
10483 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10484 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10485 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10486 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailure(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10488 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10490 return NDR_ERR_SUCCESS
;
10493 _PUBLIC_
void ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaKccDsaFailuresCtr
*r
)
10495 uint32_t cntr_array_0
;
10496 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaKccDsaFailuresCtr");
10498 ndr_print_uint32(ndr
, "count", r
->count
);
10499 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
10500 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10502 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10504 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10505 ndr_print_drsuapi_DsReplicaKccDsaFailure(ndr
, "array", &r
->array
[cntr_array_0
]);
10513 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpType(struct ndr_push
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType r
)
10515 NDR_CHECK(ndr_push_enum_uint1632(ndr
, NDR_SCALARS
, r
));
10516 return NDR_ERR_SUCCESS
;
10519 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpType(struct ndr_pull
*ndr
, int ndr_flags
, enum drsuapi_DsReplicaOpType
*r
)
10522 NDR_CHECK(ndr_pull_enum_uint1632(ndr
, NDR_SCALARS
, &v
));
10524 return NDR_ERR_SUCCESS
;
10527 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print
*ndr
, const char *name
, enum drsuapi_DsReplicaOpType r
)
10529 const char *val
= NULL
;
10532 case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_SYNC"; break;
10533 case DRSUAPI_DS_REPLICA_OP_TYPE_ADD
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_ADD"; break;
10534 case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_DELETE"; break;
10535 case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY"; break;
10536 case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
: val
= "DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS"; break;
10538 ndr_print_enum(ndr
, name
, "ENUM", val
, r
);
10541 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOp(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOp
*r
)
10543 if (ndr_flags
& NDR_SCALARS
) {
10544 NDR_CHECK(ndr_push_align(ndr
, 5));
10545 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->operation_start
));
10546 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->serial_num
));
10547 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->priority
));
10548 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, r
->operation_type
));
10549 NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, r
->options
));
10550 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->nc_dn
));
10551 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_obj_dn
));
10552 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->remote_dsa_address
));
10553 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10554 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10555 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10557 if (ndr_flags
& NDR_BUFFERS
) {
10559 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10560 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10561 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->nc_dn
, CH_UTF16
)));
10562 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->nc_dn
, ndr_charset_length(r
->nc_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10564 if (r
->remote_dsa_obj_dn
) {
10565 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10566 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10567 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_obj_dn
, CH_UTF16
)));
10568 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
));
10570 if (r
->remote_dsa_address
) {
10571 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10572 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10573 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->remote_dsa_address
, CH_UTF16
)));
10574 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
));
10577 return NDR_ERR_SUCCESS
;
10580 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOp(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOp
*r
)
10582 uint32_t _ptr_nc_dn
;
10583 TALLOC_CTX
*_mem_save_nc_dn_0
;
10584 uint32_t _ptr_remote_dsa_obj_dn
;
10585 TALLOC_CTX
*_mem_save_remote_dsa_obj_dn_0
;
10586 uint32_t _ptr_remote_dsa_address
;
10587 TALLOC_CTX
*_mem_save_remote_dsa_address_0
;
10588 if (ndr_flags
& NDR_SCALARS
) {
10589 NDR_CHECK(ndr_pull_align(ndr
, 5));
10590 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->operation_start
));
10591 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->serial_num
));
10592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->priority
));
10593 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpType(ndr
, NDR_SCALARS
, &r
->operation_type
));
10594 NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr
, NDR_SCALARS
, &r
->options
));
10595 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_nc_dn
));
10597 NDR_PULL_ALLOC(ndr
, r
->nc_dn
);
10601 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_obj_dn
));
10602 if (_ptr_remote_dsa_obj_dn
) {
10603 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_obj_dn
);
10605 r
->remote_dsa_obj_dn
= NULL
;
10607 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_remote_dsa_address
));
10608 if (_ptr_remote_dsa_address
) {
10609 NDR_PULL_ALLOC(ndr
, r
->remote_dsa_address
);
10611 r
->remote_dsa_address
= NULL
;
10613 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->nc_obj_guid
));
10614 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->remote_dsa_obj_guid
));
10615 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10617 if (ndr_flags
& NDR_BUFFERS
) {
10619 _mem_save_nc_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10620 NDR_PULL_SET_MEM_CTX(ndr
, r
->nc_dn
, 0);
10621 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->nc_dn
));
10622 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->nc_dn
));
10623 if (ndr_get_array_length(ndr
, &r
->nc_dn
) > ndr_get_array_size(ndr
, &r
->nc_dn
)) {
10624 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
));
10626 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t)));
10627 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->nc_dn
, ndr_get_array_length(ndr
, &r
->nc_dn
), sizeof(uint16_t), CH_UTF16
));
10628 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_nc_dn_0
, 0);
10630 if (r
->remote_dsa_obj_dn
) {
10631 _mem_save_remote_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10632 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_obj_dn
, 0);
10633 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_obj_dn
));
10634 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_obj_dn
));
10635 if (ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->remote_dsa_obj_dn
)) {
10636 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
));
10638 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_obj_dn
), sizeof(uint16_t)));
10639 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
));
10640 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_obj_dn_0
, 0);
10642 if (r
->remote_dsa_address
) {
10643 _mem_save_remote_dsa_address_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10644 NDR_PULL_SET_MEM_CTX(ndr
, r
->remote_dsa_address
, 0);
10645 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->remote_dsa_address
));
10646 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->remote_dsa_address
));
10647 if (ndr_get_array_length(ndr
, &r
->remote_dsa_address
) > ndr_get_array_size(ndr
, &r
->remote_dsa_address
)) {
10648 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
));
10650 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->remote_dsa_address
), sizeof(uint16_t)));
10651 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
));
10652 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_remote_dsa_address_0
, 0);
10655 return NDR_ERR_SUCCESS
;
10658 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOp(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOp
*r
)
10660 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOp");
10662 ndr_print_NTTIME(ndr
, "operation_start", r
->operation_start
);
10663 ndr_print_uint32(ndr
, "serial_num", r
->serial_num
);
10664 ndr_print_uint32(ndr
, "priority", r
->priority
);
10665 ndr_print_drsuapi_DsReplicaOpType(ndr
, "operation_type", r
->operation_type
);
10666 ndr_print_drsuapi_DrsOptions(ndr
, "options", r
->options
);
10667 ndr_print_ptr(ndr
, "nc_dn", r
->nc_dn
);
10670 ndr_print_string(ndr
, "nc_dn", r
->nc_dn
);
10673 ndr_print_ptr(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10675 if (r
->remote_dsa_obj_dn
) {
10676 ndr_print_string(ndr
, "remote_dsa_obj_dn", r
->remote_dsa_obj_dn
);
10679 ndr_print_ptr(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10681 if (r
->remote_dsa_address
) {
10682 ndr_print_string(ndr
, "remote_dsa_address", r
->remote_dsa_address
);
10685 ndr_print_GUID(ndr
, "nc_obj_guid", &r
->nc_obj_guid
);
10686 ndr_print_GUID(ndr
, "remote_dsa_obj_guid", &r
->remote_dsa_obj_guid
);
10690 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaOpCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaOpCtr
*r
)
10692 uint32_t cntr_array_0
;
10693 if (ndr_flags
& NDR_SCALARS
) {
10694 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10695 NDR_CHECK(ndr_push_align(ndr
, 5));
10696 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->time
));
10697 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10698 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10699 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10701 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
10703 if (ndr_flags
& NDR_BUFFERS
) {
10704 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10705 NDR_CHECK(ndr_push_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10708 return NDR_ERR_SUCCESS
;
10711 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaOpCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaOpCtr
*r
)
10713 uint32_t cntr_array_0
;
10714 TALLOC_CTX
*_mem_save_array_0
;
10715 if (ndr_flags
& NDR_SCALARS
) {
10716 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10717 NDR_CHECK(ndr_pull_align(ndr
, 5));
10718 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->time
));
10719 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10720 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10721 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10722 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10723 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10724 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10726 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10728 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10730 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
10732 if (ndr_flags
& NDR_BUFFERS
) {
10733 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10734 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10735 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10736 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOp(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10738 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10740 return NDR_ERR_SUCCESS
;
10743 _PUBLIC_
void ndr_print_drsuapi_DsReplicaOpCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaOpCtr
*r
)
10745 uint32_t cntr_array_0
;
10746 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaOpCtr");
10748 ndr_print_NTTIME(ndr
, "time", r
->time
);
10749 ndr_print_uint32(ndr
, "count", r
->count
);
10750 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10752 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10754 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10755 ndr_print_drsuapi_DsReplicaOp(ndr
, "array", &r
->array
[cntr_array_0
]);
10763 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10765 if (ndr_flags
& NDR_SCALARS
) {
10766 NDR_CHECK(ndr_push_align(ndr
, 8));
10767 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
10768 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
10769 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
10770 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
10771 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
10772 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
10773 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
10774 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
10775 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10776 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
10777 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
10778 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10780 if (ndr_flags
& NDR_BUFFERS
) {
10781 if (r
->attribute_name
) {
10782 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10783 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10784 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
10785 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10787 if (r
->object_dn
) {
10788 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10789 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
10790 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
10791 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
10794 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
10797 return NDR_ERR_SUCCESS
;
10800 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData
*r
)
10802 uint32_t _ptr_attribute_name
;
10803 TALLOC_CTX
*_mem_save_attribute_name_0
;
10804 uint32_t _ptr_object_dn
;
10805 TALLOC_CTX
*_mem_save_object_dn_0
;
10806 uint32_t _ptr_binary
;
10807 TALLOC_CTX
*_mem_save_binary_0
;
10808 if (ndr_flags
& NDR_SCALARS
) {
10809 NDR_CHECK(ndr_pull_align(ndr
, 8));
10810 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
10811 if (_ptr_attribute_name
) {
10812 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
10814 r
->attribute_name
= NULL
;
10816 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
10817 if (_ptr_object_dn
) {
10818 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
10820 r
->object_dn
= NULL
;
10822 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
10823 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
10825 NDR_PULL_ALLOC(ndr
, r
->binary
);
10829 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
10830 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
10831 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
10832 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
10833 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
10834 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
10835 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
10836 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10838 if (ndr_flags
& NDR_BUFFERS
) {
10839 if (r
->attribute_name
) {
10840 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10841 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
10842 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
10843 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
10844 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
10845 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
));
10847 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
10848 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
10849 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
10851 if (r
->object_dn
) {
10852 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10853 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
10854 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
10855 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
10856 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
10857 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
));
10859 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
10860 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
10861 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
10864 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10865 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
10866 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
10867 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
10870 return NDR_ERR_SUCCESS
;
10873 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData
*r
)
10875 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData");
10877 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
10879 if (r
->attribute_name
) {
10880 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
10883 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
10885 if (r
->object_dn
) {
10886 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
10889 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
);
10890 ndr_print_ptr(ndr
, "binary", r
->binary
);
10893 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
10896 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
10897 ndr_print_NTTIME(ndr
, "created", r
->created
);
10898 ndr_print_uint32(ndr
, "version", r
->version
);
10899 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
10900 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
10901 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
10902 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
10906 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10908 uint32_t cntr_array_0
;
10909 if (ndr_flags
& NDR_SCALARS
) {
10910 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10911 NDR_CHECK(ndr_push_align(ndr
, 8));
10912 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10913 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10914 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10915 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10917 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10919 if (ndr_flags
& NDR_BUFFERS
) {
10920 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10921 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10924 return NDR_ERR_SUCCESS
;
10927 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10929 uint32_t cntr_array_0
;
10930 TALLOC_CTX
*_mem_save_array_0
;
10931 if (ndr_flags
& NDR_SCALARS
) {
10932 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
10933 NDR_CHECK(ndr_pull_align(ndr
, 8));
10934 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
10935 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
10936 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
10937 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10938 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10939 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10940 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10942 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10944 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
10946 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
10948 if (ndr_flags
& NDR_BUFFERS
) {
10949 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
10950 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
10951 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10952 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
10954 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
10956 return NDR_ERR_SUCCESS
;
10959 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaDataCtr
*r
)
10961 uint32_t cntr_array_0
;
10962 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaDataCtr");
10964 ndr_print_uint32(ndr
, "count", r
->count
);
10965 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
10966 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
10968 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
10970 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
10971 ndr_print_drsuapi_DsReplicaAttrValMetaData(ndr
, "array", &r
->array
[cntr_array_0
]);
10979 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
10981 uint32_t cntr_array_0
;
10982 if (ndr_flags
& NDR_SCALARS
) {
10983 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
10984 NDR_CHECK(ndr_push_align(ndr
, 8));
10985 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
10986 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
10987 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
10988 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
10990 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
10992 if (ndr_flags
& NDR_BUFFERS
) {
10994 return NDR_ERR_SUCCESS
;
10997 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor2Ctr
*r
)
10999 uint32_t cntr_array_0
;
11000 TALLOC_CTX
*_mem_save_array_0
;
11001 if (ndr_flags
& NDR_SCALARS
) {
11002 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11003 NDR_CHECK(ndr_pull_align(ndr
, 8));
11004 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11005 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11006 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11007 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11008 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11009 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11010 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11012 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11014 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11016 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11018 if (ndr_flags
& NDR_BUFFERS
) {
11020 return NDR_ERR_SUCCESS
;
11023 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor2Ctr
*r
)
11025 uint32_t cntr_array_0
;
11026 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor2Ctr");
11028 ndr_print_uint32(ndr
, "count", r
->count
);
11029 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11030 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11032 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11034 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11035 ndr_print_drsuapi_DsReplicaCursor2(ndr
, "array", &r
->array
[cntr_array_0
]);
11043 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3
*r
)
11045 if (ndr_flags
& NDR_SCALARS
) {
11046 NDR_CHECK(ndr_push_align(ndr
, 8));
11047 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11048 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->highest_usn
));
11049 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->last_sync_success
));
11050 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->source_dsa_obj_dn
));
11051 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11053 if (ndr_flags
& NDR_BUFFERS
) {
11054 if (r
->source_dsa_obj_dn
) {
11055 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11056 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11057 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->source_dsa_obj_dn
, CH_UTF16
)));
11058 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
));
11061 return NDR_ERR_SUCCESS
;
11064 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3
*r
)
11066 uint32_t _ptr_source_dsa_obj_dn
;
11067 TALLOC_CTX
*_mem_save_source_dsa_obj_dn_0
;
11068 if (ndr_flags
& NDR_SCALARS
) {
11069 NDR_CHECK(ndr_pull_align(ndr
, 8));
11070 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->source_dsa_invocation_id
));
11071 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->highest_usn
));
11072 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->last_sync_success
));
11073 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_source_dsa_obj_dn
));
11074 if (_ptr_source_dsa_obj_dn
) {
11075 NDR_PULL_ALLOC(ndr
, r
->source_dsa_obj_dn
);
11077 r
->source_dsa_obj_dn
= NULL
;
11079 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11081 if (ndr_flags
& NDR_BUFFERS
) {
11082 if (r
->source_dsa_obj_dn
) {
11083 _mem_save_source_dsa_obj_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11084 NDR_PULL_SET_MEM_CTX(ndr
, r
->source_dsa_obj_dn
, 0);
11085 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->source_dsa_obj_dn
));
11086 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->source_dsa_obj_dn
));
11087 if (ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
) > ndr_get_array_size(ndr
, &r
->source_dsa_obj_dn
)) {
11088 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
));
11090 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->source_dsa_obj_dn
), sizeof(uint16_t)));
11091 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
));
11092 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_source_dsa_obj_dn_0
, 0);
11095 return NDR_ERR_SUCCESS
;
11098 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3
*r
)
11100 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3");
11102 ndr_print_GUID(ndr
, "source_dsa_invocation_id", &r
->source_dsa_invocation_id
);
11103 ndr_print_hyper(ndr
, "highest_usn", r
->highest_usn
);
11104 ndr_print_NTTIME(ndr
, "last_sync_success", r
->last_sync_success
);
11105 ndr_print_ptr(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11107 if (r
->source_dsa_obj_dn
) {
11108 ndr_print_string(ndr
, "source_dsa_obj_dn", r
->source_dsa_obj_dn
);
11114 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaCursor3Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11116 uint32_t cntr_array_0
;
11117 if (ndr_flags
& NDR_SCALARS
) {
11118 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11119 NDR_CHECK(ndr_push_align(ndr
, 8));
11120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11121 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11122 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11123 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11125 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11127 if (ndr_flags
& NDR_BUFFERS
) {
11128 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11129 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11132 return NDR_ERR_SUCCESS
;
11135 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaCursor3Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaCursor3Ctr
*r
)
11137 uint32_t cntr_array_0
;
11138 TALLOC_CTX
*_mem_save_array_0
;
11139 if (ndr_flags
& NDR_SCALARS
) {
11140 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11141 NDR_CHECK(ndr_pull_align(ndr
, 8));
11142 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11143 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11144 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11145 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11146 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11147 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11148 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11150 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11152 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11154 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11156 if (ndr_flags
& NDR_BUFFERS
) {
11157 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11158 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11159 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11160 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11162 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11164 return NDR_ERR_SUCCESS
;
11167 _PUBLIC_
void ndr_print_drsuapi_DsReplicaCursor3Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaCursor3Ctr
*r
)
11169 uint32_t cntr_array_0
;
11170 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaCursor3Ctr");
11172 ndr_print_uint32(ndr
, "count", r
->count
);
11173 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11174 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11176 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11178 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11179 ndr_print_drsuapi_DsReplicaCursor3(ndr
, "array", &r
->array
[cntr_array_0
]);
11187 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11189 if (ndr_flags
& NDR_SCALARS
) {
11190 NDR_CHECK(ndr_push_align(ndr
, 8));
11191 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11192 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11193 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11194 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11195 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11196 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11197 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11198 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11200 if (ndr_flags
& NDR_BUFFERS
) {
11201 if (r
->attribute_name
) {
11202 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11203 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11204 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11205 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11207 if (r
->originating_dsa_dn
) {
11208 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11209 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11210 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11211 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
));
11214 return NDR_ERR_SUCCESS
;
11217 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2
*r
)
11219 uint32_t _ptr_attribute_name
;
11220 TALLOC_CTX
*_mem_save_attribute_name_0
;
11221 uint32_t _ptr_originating_dsa_dn
;
11222 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11223 if (ndr_flags
& NDR_SCALARS
) {
11224 NDR_CHECK(ndr_pull_align(ndr
, 8));
11225 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11226 if (_ptr_attribute_name
) {
11227 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11229 r
->attribute_name
= NULL
;
11231 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11232 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11233 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11234 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11235 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11236 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11237 if (_ptr_originating_dsa_dn
) {
11238 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11240 r
->originating_dsa_dn
= NULL
;
11242 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11244 if (ndr_flags
& NDR_BUFFERS
) {
11245 if (r
->attribute_name
) {
11246 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11247 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11248 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11249 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11250 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11251 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
));
11253 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11254 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11255 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11257 if (r
->originating_dsa_dn
) {
11258 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11259 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11260 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11261 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11262 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11263 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
));
11265 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11266 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
));
11267 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11270 return NDR_ERR_SUCCESS
;
11273 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2
*r
)
11275 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2");
11277 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11279 if (r
->attribute_name
) {
11280 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11283 ndr_print_uint32(ndr
, "version", r
->version
);
11284 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11285 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11286 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11287 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11288 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11290 if (r
->originating_dsa_dn
) {
11291 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11297 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11299 uint32_t cntr_array_0
;
11300 if (ndr_flags
& NDR_SCALARS
) {
11301 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11302 NDR_CHECK(ndr_push_align(ndr
, 8));
11303 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11304 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11305 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11306 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11308 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11310 if (ndr_flags
& NDR_BUFFERS
) {
11311 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11312 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11315 return NDR_ERR_SUCCESS
;
11318 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11320 uint32_t cntr_array_0
;
11321 TALLOC_CTX
*_mem_save_array_0
;
11322 if (ndr_flags
& NDR_SCALARS
) {
11323 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11324 NDR_CHECK(ndr_pull_align(ndr
, 8));
11325 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11326 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11327 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11328 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11329 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11330 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11331 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11333 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11335 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11337 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11339 if (ndr_flags
& NDR_BUFFERS
) {
11340 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11341 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11342 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11343 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11345 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11347 return NDR_ERR_SUCCESS
;
11350 _PUBLIC_
void ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaObjMetaData2Ctr
*r
)
11352 uint32_t cntr_array_0
;
11353 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaObjMetaData2Ctr");
11355 ndr_print_uint32(ndr
, "count", r
->count
);
11356 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11357 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11359 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11361 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11362 ndr_print_drsuapi_DsReplicaObjMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11370 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11372 if (ndr_flags
& NDR_SCALARS
) {
11373 NDR_CHECK(ndr_push_align(ndr
, 8));
11374 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attribute_name
));
11375 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->object_dn
));
11376 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, ndr_size_DATA_BLOB(0, r
->binary
, 0)));
11377 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->binary
));
11378 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->deleted
));
11379 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->created
));
11380 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->version
));
11381 NDR_CHECK(ndr_push_NTTIME(ndr
, NDR_SCALARS
, r
->originating_change_time
));
11382 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11383 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->originating_usn
));
11384 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->local_usn
));
11385 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->originating_dsa_dn
));
11386 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11388 if (ndr_flags
& NDR_BUFFERS
) {
11389 if (r
->attribute_name
) {
11390 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11391 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11392 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->attribute_name
, CH_UTF16
)));
11393 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->attribute_name
, ndr_charset_length(r
->attribute_name
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11395 if (r
->object_dn
) {
11396 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11397 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11398 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->object_dn
, CH_UTF16
)));
11399 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->object_dn
, ndr_charset_length(r
->object_dn
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11402 NDR_CHECK(ndr_push_DATA_BLOB(ndr
, NDR_SCALARS
, *r
->binary
));
11404 if (r
->originating_dsa_dn
) {
11405 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11406 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11407 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->originating_dsa_dn
, CH_UTF16
)));
11408 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
));
11411 return NDR_ERR_SUCCESS
;
11414 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11416 uint32_t _ptr_attribute_name
;
11417 TALLOC_CTX
*_mem_save_attribute_name_0
;
11418 uint32_t _ptr_object_dn
;
11419 TALLOC_CTX
*_mem_save_object_dn_0
;
11420 uint32_t _ptr_binary
;
11421 TALLOC_CTX
*_mem_save_binary_0
;
11422 uint32_t _ptr_originating_dsa_dn
;
11423 TALLOC_CTX
*_mem_save_originating_dsa_dn_0
;
11424 if (ndr_flags
& NDR_SCALARS
) {
11425 NDR_CHECK(ndr_pull_align(ndr
, 8));
11426 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attribute_name
));
11427 if (_ptr_attribute_name
) {
11428 NDR_PULL_ALLOC(ndr
, r
->attribute_name
);
11430 r
->attribute_name
= NULL
;
11432 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_object_dn
));
11433 if (_ptr_object_dn
) {
11434 NDR_PULL_ALLOC(ndr
, r
->object_dn
);
11436 r
->object_dn
= NULL
;
11438 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->__ndr_size_binary
));
11439 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_binary
));
11441 NDR_PULL_ALLOC(ndr
, r
->binary
);
11445 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->deleted
));
11446 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->created
));
11447 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->version
));
11448 NDR_CHECK(ndr_pull_NTTIME(ndr
, NDR_SCALARS
, &r
->originating_change_time
));
11449 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->originating_invocation_id
));
11450 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->originating_usn
));
11451 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->local_usn
));
11452 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_originating_dsa_dn
));
11453 if (_ptr_originating_dsa_dn
) {
11454 NDR_PULL_ALLOC(ndr
, r
->originating_dsa_dn
);
11456 r
->originating_dsa_dn
= NULL
;
11458 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11460 if (ndr_flags
& NDR_BUFFERS
) {
11461 if (r
->attribute_name
) {
11462 _mem_save_attribute_name_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11463 NDR_PULL_SET_MEM_CTX(ndr
, r
->attribute_name
, 0);
11464 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->attribute_name
));
11465 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->attribute_name
));
11466 if (ndr_get_array_length(ndr
, &r
->attribute_name
) > ndr_get_array_size(ndr
, &r
->attribute_name
)) {
11467 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
));
11469 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t)));
11470 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->attribute_name
, ndr_get_array_length(ndr
, &r
->attribute_name
), sizeof(uint16_t), CH_UTF16
));
11471 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attribute_name_0
, 0);
11473 if (r
->object_dn
) {
11474 _mem_save_object_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11475 NDR_PULL_SET_MEM_CTX(ndr
, r
->object_dn
, 0);
11476 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->object_dn
));
11477 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->object_dn
));
11478 if (ndr_get_array_length(ndr
, &r
->object_dn
) > ndr_get_array_size(ndr
, &r
->object_dn
)) {
11479 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
));
11481 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t)));
11482 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->object_dn
, ndr_get_array_length(ndr
, &r
->object_dn
), sizeof(uint16_t), CH_UTF16
));
11483 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_object_dn_0
, 0);
11486 _mem_save_binary_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11487 NDR_PULL_SET_MEM_CTX(ndr
, r
->binary
, 0);
11488 NDR_CHECK(ndr_pull_DATA_BLOB(ndr
, NDR_SCALARS
, r
->binary
));
11489 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_binary_0
, 0);
11491 if (r
->originating_dsa_dn
) {
11492 _mem_save_originating_dsa_dn_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11493 NDR_PULL_SET_MEM_CTX(ndr
, r
->originating_dsa_dn
, 0);
11494 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->originating_dsa_dn
));
11495 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->originating_dsa_dn
));
11496 if (ndr_get_array_length(ndr
, &r
->originating_dsa_dn
) > ndr_get_array_size(ndr
, &r
->originating_dsa_dn
)) {
11497 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
));
11499 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->originating_dsa_dn
), sizeof(uint16_t)));
11500 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
));
11501 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_originating_dsa_dn_0
, 0);
11504 return NDR_ERR_SUCCESS
;
11507 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2
*r
)
11509 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2");
11511 ndr_print_ptr(ndr
, "attribute_name", r
->attribute_name
);
11513 if (r
->attribute_name
) {
11514 ndr_print_string(ndr
, "attribute_name", r
->attribute_name
);
11517 ndr_print_ptr(ndr
, "object_dn", r
->object_dn
);
11519 if (r
->object_dn
) {
11520 ndr_print_string(ndr
, "object_dn", r
->object_dn
);
11523 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
);
11524 ndr_print_ptr(ndr
, "binary", r
->binary
);
11527 ndr_print_DATA_BLOB(ndr
, "binary", *r
->binary
);
11530 ndr_print_NTTIME(ndr
, "deleted", r
->deleted
);
11531 ndr_print_NTTIME(ndr
, "created", r
->created
);
11532 ndr_print_uint32(ndr
, "version", r
->version
);
11533 ndr_print_NTTIME(ndr
, "originating_change_time", r
->originating_change_time
);
11534 ndr_print_GUID(ndr
, "originating_invocation_id", &r
->originating_invocation_id
);
11535 ndr_print_hyper(ndr
, "originating_usn", r
->originating_usn
);
11536 ndr_print_hyper(ndr
, "local_usn", r
->local_usn
);
11537 ndr_print_ptr(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11539 if (r
->originating_dsa_dn
) {
11540 ndr_print_string(ndr
, "originating_dsa_dn", r
->originating_dsa_dn
);
11546 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11548 uint32_t cntr_array_0
;
11549 if (ndr_flags
& NDR_SCALARS
) {
11550 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11551 NDR_CHECK(ndr_push_align(ndr
, 8));
11552 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11553 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->enumeration_context
));
11554 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11555 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11557 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11559 if (ndr_flags
& NDR_BUFFERS
) {
11560 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11561 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11564 return NDR_ERR_SUCCESS
;
11567 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11569 uint32_t cntr_array_0
;
11570 TALLOC_CTX
*_mem_save_array_0
;
11571 if (ndr_flags
& NDR_SCALARS
) {
11572 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11573 NDR_CHECK(ndr_pull_align(ndr
, 8));
11574 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11575 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->enumeration_context
));
11576 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11577 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11578 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11579 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11580 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11582 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11584 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11586 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11588 if (ndr_flags
& NDR_BUFFERS
) {
11589 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11590 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11591 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11592 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11594 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11596 return NDR_ERR_SUCCESS
;
11599 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaAttrValMetaData2Ctr
*r
)
11601 uint32_t cntr_array_0
;
11602 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAttrValMetaData2Ctr");
11604 ndr_print_uint32(ndr
, "count", r
->count
);
11605 ndr_print_uint32(ndr
, "enumeration_context", r
->enumeration_context
);
11606 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11608 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11610 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11611 ndr_print_drsuapi_DsReplicaAttrValMetaData2(ndr
, "array", &r
->array
[cntr_array_0
]);
11619 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04
*r
)
11621 if (ndr_flags
& NDR_SCALARS
) {
11622 NDR_CHECK(ndr_push_align(ndr
, 8));
11623 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u1
));
11624 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11625 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11626 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11627 NDR_CHECK(ndr_push_NTTIME_1sec(ndr
, NDR_SCALARS
, r
->bind_time
));
11629 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11630 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11631 NDR_CHECK(ndr_push_ipv4address(ndr
, NDR_SCALARS
, r
->client_ip_address
));
11632 ndr
->flags
= _flags_save_ipv4address
;
11634 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11635 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11637 if (ndr_flags
& NDR_BUFFERS
) {
11639 return NDR_ERR_SUCCESS
;
11642 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04
*r
)
11644 if (ndr_flags
& NDR_SCALARS
) {
11645 NDR_CHECK(ndr_pull_align(ndr
, 8));
11646 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u1
));
11647 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11648 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11649 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, &r
->bind_guid
));
11650 NDR_CHECK(ndr_pull_NTTIME_1sec(ndr
, NDR_SCALARS
, &r
->bind_time
));
11652 uint32_t _flags_save_ipv4address
= ndr
->flags
;
11653 ndr_set_flags(&ndr
->flags
, LIBNDR_FLAG_BIGENDIAN
);
11654 NDR_CHECK(ndr_pull_ipv4address(ndr
, NDR_SCALARS
, &r
->client_ip_address
));
11655 ndr
->flags
= _flags_save_ipv4address
;
11657 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11658 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11660 if (ndr_flags
& NDR_BUFFERS
) {
11662 return NDR_ERR_SUCCESS
;
11665 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04
*r
)
11667 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04");
11669 ndr_print_hyper(ndr
, "u1", r
->u1
);
11670 ndr_print_uint32(ndr
, "u2", r
->u2
);
11671 ndr_print_uint32(ndr
, "u3", r
->u3
);
11672 ndr_print_GUID(ndr
, "bind_guid", &r
->bind_guid
);
11673 ndr_print_NTTIME_1sec(ndr
, "bind_time", r
->bind_time
);
11674 ndr_print_ipv4address(ndr
, "client_ip_address", r
->client_ip_address
);
11675 ndr_print_uint32(ndr
, "u5", r
->u5
);
11679 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaConnection04Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11681 uint32_t cntr_array_0
;
11682 if (ndr_flags
& NDR_SCALARS
) {
11683 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11684 NDR_CHECK(ndr_push_align(ndr
, 8));
11685 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11686 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11687 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11688 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11690 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11692 if (ndr_flags
& NDR_BUFFERS
) {
11694 return NDR_ERR_SUCCESS
;
11697 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaConnection04Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplicaConnection04Ctr
*r
)
11699 uint32_t cntr_array_0
;
11700 TALLOC_CTX
*_mem_save_array_0
;
11701 if (ndr_flags
& NDR_SCALARS
) {
11702 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11703 NDR_CHECK(ndr_pull_align(ndr
, 8));
11704 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11705 if (r
->count
> 10000) {
11706 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11708 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11709 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11710 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11711 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11712 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11713 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11715 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11717 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11719 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11721 if (ndr_flags
& NDR_BUFFERS
) {
11723 return NDR_ERR_SUCCESS
;
11726 _PUBLIC_
void ndr_print_drsuapi_DsReplicaConnection04Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplicaConnection04Ctr
*r
)
11728 uint32_t cntr_array_0
;
11729 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaConnection04Ctr");
11731 ndr_print_uint32(ndr
, "count", r
->count
);
11732 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11733 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11735 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11737 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11738 ndr_print_drsuapi_DsReplicaConnection04(ndr
, "array", &r
->array
[cntr_array_0
]);
11746 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06
*r
)
11748 if (ndr_flags
& NDR_SCALARS
) {
11749 NDR_CHECK(ndr_push_align(ndr
, 8));
11750 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->str1
));
11751 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u1
));
11752 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u2
));
11753 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u3
));
11754 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u4
));
11755 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u5
));
11756 NDR_CHECK(ndr_push_hyper(ndr
, NDR_SCALARS
, r
->u6
));
11757 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->u7
));
11758 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11760 if (ndr_flags
& NDR_BUFFERS
) {
11762 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11763 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
11764 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->str1
, CH_UTF16
)));
11765 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->str1
, ndr_charset_length(r
->str1
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
11768 return NDR_ERR_SUCCESS
;
11771 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06
*r
)
11773 uint32_t _ptr_str1
;
11774 TALLOC_CTX
*_mem_save_str1_0
;
11775 if (ndr_flags
& NDR_SCALARS
) {
11776 NDR_CHECK(ndr_pull_align(ndr
, 8));
11777 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_str1
));
11779 NDR_PULL_ALLOC(ndr
, r
->str1
);
11783 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u1
));
11784 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u2
));
11785 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u3
));
11786 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u4
));
11787 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u5
));
11788 NDR_CHECK(ndr_pull_hyper(ndr
, NDR_SCALARS
, &r
->u6
));
11789 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->u7
));
11790 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11792 if (ndr_flags
& NDR_BUFFERS
) {
11794 _mem_save_str1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11795 NDR_PULL_SET_MEM_CTX(ndr
, r
->str1
, 0);
11796 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->str1
));
11797 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->str1
));
11798 if (ndr_get_array_length(ndr
, &r
->str1
) > ndr_get_array_size(ndr
, &r
->str1
)) {
11799 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
));
11801 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t)));
11802 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->str1
, ndr_get_array_length(ndr
, &r
->str1
), sizeof(uint16_t), CH_UTF16
));
11803 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_str1_0
, 0);
11806 return NDR_ERR_SUCCESS
;
11809 _PUBLIC_
void ndr_print_drsuapi_DsReplica06(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06
*r
)
11811 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06");
11813 ndr_print_ptr(ndr
, "str1", r
->str1
);
11816 ndr_print_string(ndr
, "str1", r
->str1
);
11819 ndr_print_uint32(ndr
, "u1", r
->u1
);
11820 ndr_print_uint32(ndr
, "u2", r
->u2
);
11821 ndr_print_uint32(ndr
, "u3", r
->u3
);
11822 ndr_print_uint32(ndr
, "u4", r
->u4
);
11823 ndr_print_uint32(ndr
, "u5", r
->u5
);
11824 ndr_print_hyper(ndr
, "u6", r
->u6
);
11825 ndr_print_uint32(ndr
, "u7", r
->u7
);
11829 static enum ndr_err_code
ndr_push_drsuapi_DsReplica06Ctr(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsReplica06Ctr
*r
)
11831 uint32_t cntr_array_0
;
11832 if (ndr_flags
& NDR_SCALARS
) {
11833 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->count
));
11834 NDR_CHECK(ndr_push_align(ndr
, 8));
11835 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->count
));
11836 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->reserved
));
11837 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11838 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11840 NDR_CHECK(ndr_push_trailer_align(ndr
, 8));
11842 if (ndr_flags
& NDR_BUFFERS
) {
11843 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11844 NDR_CHECK(ndr_push_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11847 return NDR_ERR_SUCCESS
;
11850 static enum ndr_err_code
ndr_pull_drsuapi_DsReplica06Ctr(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsReplica06Ctr
*r
)
11852 uint32_t cntr_array_0
;
11853 TALLOC_CTX
*_mem_save_array_0
;
11854 if (ndr_flags
& NDR_SCALARS
) {
11855 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->array
));
11856 NDR_CHECK(ndr_pull_align(ndr
, 8));
11857 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->count
));
11858 if (r
->count
> 256) {
11859 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
11861 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->reserved
));
11862 NDR_PULL_ALLOC_N(ndr
, r
->array
, ndr_get_array_size(ndr
, &r
->array
));
11863 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11864 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11865 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11866 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_SCALARS
, &r
->array
[cntr_array_0
]));
11868 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11870 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->array
, r
->count
));
11872 NDR_CHECK(ndr_pull_trailer_align(ndr
, 8));
11874 if (ndr_flags
& NDR_BUFFERS
) {
11875 _mem_save_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
11876 NDR_PULL_SET_MEM_CTX(ndr
, r
->array
, 0);
11877 for (cntr_array_0
= 0; cntr_array_0
< r
->count
; cntr_array_0
++) {
11878 NDR_CHECK(ndr_pull_drsuapi_DsReplica06(ndr
, NDR_BUFFERS
, &r
->array
[cntr_array_0
]));
11880 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_array_0
, 0);
11882 return NDR_ERR_SUCCESS
;
11885 _PUBLIC_
void ndr_print_drsuapi_DsReplica06Ctr(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsReplica06Ctr
*r
)
11887 uint32_t cntr_array_0
;
11888 ndr_print_struct(ndr
, name
, "drsuapi_DsReplica06Ctr");
11890 ndr_print_uint32(ndr
, "count", r
->count
);
11891 ndr_print_uint32(ndr
, "reserved", r
->reserved
);
11892 ndr
->print(ndr
, "%s: ARRAY(%d)", "array", (int)r
->count
);
11894 for (cntr_array_0
=0;cntr_array_0
<r
->count
;cntr_array_0
++) {
11896 if (asprintf(&idx_0
, "[%d]", cntr_array_0
) != -1) {
11897 ndr_print_drsuapi_DsReplica06(ndr
, "array", &r
->array
[cntr_array_0
]);
11905 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaInfo(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsReplicaInfo
*r
)
11907 if (ndr_flags
& NDR_SCALARS
) {
11908 int level
= ndr_push_get_switch_value(ndr
, r
);
11909 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, level
));
11910 NDR_CHECK(ndr_push_union_align(ndr
, 5));
11912 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
11913 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->neighbours
));
11916 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
11917 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors
));
11920 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
11921 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata
));
11924 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
11925 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->connectfailures
));
11928 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
11929 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->linkfailures
));
11932 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
11933 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->pendingops
));
11936 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
11937 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata
));
11940 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
11941 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors2
));
11944 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
11945 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->cursors3
));
11948 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
11949 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->objmetadata2
));
11952 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
11953 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->attrvalmetadata2
));
11956 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
11957 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->repsto
));
11960 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
11961 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->clientctx
));
11964 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
11965 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->udv1
));
11968 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
11969 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->srvoutgoingcalls
));
11973 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
11976 if (ndr_flags
& NDR_BUFFERS
) {
11977 int level
= ndr_push_get_switch_value(ndr
, r
);
11979 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
11980 if (r
->neighbours
) {
11981 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
11985 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
11987 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
11991 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
11992 if (r
->objmetadata
) {
11993 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
11997 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
11998 if (r
->connectfailures
) {
11999 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12003 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12004 if (r
->linkfailures
) {
12005 NDR_CHECK(ndr_push_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12009 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12010 if (r
->pendingops
) {
12011 NDR_CHECK(ndr_push_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12015 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12016 if (r
->attrvalmetadata
) {
12017 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12021 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12023 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12027 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12029 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12033 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12034 if (r
->objmetadata2
) {
12035 NDR_CHECK(ndr_push_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12039 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12040 if (r
->attrvalmetadata2
) {
12041 NDR_CHECK(ndr_push_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12045 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12047 NDR_CHECK(ndr_push_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
12051 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12052 if (r
->clientctx
) {
12053 NDR_CHECK(ndr_push_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
12057 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12059 NDR_CHECK(ndr_push_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
12063 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12064 if (r
->srvoutgoingcalls
) {
12065 NDR_CHECK(ndr_push_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
12070 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12073 return NDR_ERR_SUCCESS
;
12076 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaInfo(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsReplicaInfo
*r
)
12080 TALLOC_CTX
*_mem_save_neighbours_0
;
12081 TALLOC_CTX
*_mem_save_cursors_0
;
12082 TALLOC_CTX
*_mem_save_objmetadata_0
;
12083 TALLOC_CTX
*_mem_save_connectfailures_0
;
12084 TALLOC_CTX
*_mem_save_linkfailures_0
;
12085 TALLOC_CTX
*_mem_save_pendingops_0
;
12086 TALLOC_CTX
*_mem_save_attrvalmetadata_0
;
12087 TALLOC_CTX
*_mem_save_cursors2_0
;
12088 TALLOC_CTX
*_mem_save_cursors3_0
;
12089 TALLOC_CTX
*_mem_save_objmetadata2_0
;
12090 TALLOC_CTX
*_mem_save_attrvalmetadata2_0
;
12091 TALLOC_CTX
*_mem_save_repsto_0
;
12092 TALLOC_CTX
*_mem_save_clientctx_0
;
12093 TALLOC_CTX
*_mem_save_udv1_0
;
12094 TALLOC_CTX
*_mem_save_srvoutgoingcalls_0
;
12095 level
= ndr_pull_get_switch_value(ndr
, r
);
12096 if (ndr_flags
& NDR_SCALARS
) {
12097 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12098 if (_level
!= level
) {
12099 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12101 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12103 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
: {
12104 uint32_t _ptr_neighbours
;
12105 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_neighbours
));
12106 if (_ptr_neighbours
) {
12107 NDR_PULL_ALLOC(ndr
, r
->neighbours
);
12109 r
->neighbours
= NULL
;
12113 case DRSUAPI_DS_REPLICA_INFO_CURSORS
: {
12114 uint32_t _ptr_cursors
;
12115 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors
));
12116 if (_ptr_cursors
) {
12117 NDR_PULL_ALLOC(ndr
, r
->cursors
);
12123 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
: {
12124 uint32_t _ptr_objmetadata
;
12125 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata
));
12126 if (_ptr_objmetadata
) {
12127 NDR_PULL_ALLOC(ndr
, r
->objmetadata
);
12129 r
->objmetadata
= NULL
;
12133 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
: {
12134 uint32_t _ptr_connectfailures
;
12135 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_connectfailures
));
12136 if (_ptr_connectfailures
) {
12137 NDR_PULL_ALLOC(ndr
, r
->connectfailures
);
12139 r
->connectfailures
= NULL
;
12143 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
: {
12144 uint32_t _ptr_linkfailures
;
12145 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_linkfailures
));
12146 if (_ptr_linkfailures
) {
12147 NDR_PULL_ALLOC(ndr
, r
->linkfailures
);
12149 r
->linkfailures
= NULL
;
12153 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
: {
12154 uint32_t _ptr_pendingops
;
12155 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_pendingops
));
12156 if (_ptr_pendingops
) {
12157 NDR_PULL_ALLOC(ndr
, r
->pendingops
);
12159 r
->pendingops
= NULL
;
12163 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
: {
12164 uint32_t _ptr_attrvalmetadata
;
12165 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata
));
12166 if (_ptr_attrvalmetadata
) {
12167 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata
);
12169 r
->attrvalmetadata
= NULL
;
12173 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
: {
12174 uint32_t _ptr_cursors2
;
12175 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors2
));
12176 if (_ptr_cursors2
) {
12177 NDR_PULL_ALLOC(ndr
, r
->cursors2
);
12179 r
->cursors2
= NULL
;
12183 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
: {
12184 uint32_t _ptr_cursors3
;
12185 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_cursors3
));
12186 if (_ptr_cursors3
) {
12187 NDR_PULL_ALLOC(ndr
, r
->cursors3
);
12189 r
->cursors3
= NULL
;
12193 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
: {
12194 uint32_t _ptr_objmetadata2
;
12195 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_objmetadata2
));
12196 if (_ptr_objmetadata2
) {
12197 NDR_PULL_ALLOC(ndr
, r
->objmetadata2
);
12199 r
->objmetadata2
= NULL
;
12203 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
: {
12204 uint32_t _ptr_attrvalmetadata2
;
12205 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_attrvalmetadata2
));
12206 if (_ptr_attrvalmetadata2
) {
12207 NDR_PULL_ALLOC(ndr
, r
->attrvalmetadata2
);
12209 r
->attrvalmetadata2
= NULL
;
12213 case DRSUAPI_DS_REPLICA_INFO_REPSTO
: {
12214 uint32_t _ptr_repsto
;
12215 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_repsto
));
12217 NDR_PULL_ALLOC(ndr
, r
->repsto
);
12223 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
: {
12224 uint32_t _ptr_clientctx
;
12225 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_clientctx
));
12226 if (_ptr_clientctx
) {
12227 NDR_PULL_ALLOC(ndr
, r
->clientctx
);
12229 r
->clientctx
= NULL
;
12233 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
: {
12234 uint32_t _ptr_udv1
;
12235 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_udv1
));
12237 NDR_PULL_ALLOC(ndr
, r
->udv1
);
12243 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
: {
12244 uint32_t _ptr_srvoutgoingcalls
;
12245 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_srvoutgoingcalls
));
12246 if (_ptr_srvoutgoingcalls
) {
12247 NDR_PULL_ALLOC(ndr
, r
->srvoutgoingcalls
);
12249 r
->srvoutgoingcalls
= NULL
;
12254 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12257 if (ndr_flags
& NDR_BUFFERS
) {
12259 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12260 if (r
->neighbours
) {
12261 _mem_save_neighbours_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12262 NDR_PULL_SET_MEM_CTX(ndr
, r
->neighbours
, 0);
12263 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->neighbours
));
12264 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_neighbours_0
, 0);
12268 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12270 _mem_save_cursors_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12271 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors
, 0);
12272 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtr(ndr
, NDR_SCALARS
, r
->cursors
));
12273 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors_0
, 0);
12277 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12278 if (r
->objmetadata
) {
12279 _mem_save_objmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12280 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata
, 0);
12281 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata
));
12282 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata_0
, 0);
12286 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12287 if (r
->connectfailures
) {
12288 _mem_save_connectfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12289 NDR_PULL_SET_MEM_CTX(ndr
, r
->connectfailures
, 0);
12290 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->connectfailures
));
12291 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_connectfailures_0
, 0);
12295 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12296 if (r
->linkfailures
) {
12297 _mem_save_linkfailures_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12298 NDR_PULL_SET_MEM_CTX(ndr
, r
->linkfailures
, 0);
12299 NDR_CHECK(ndr_pull_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->linkfailures
));
12300 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_linkfailures_0
, 0);
12304 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12305 if (r
->pendingops
) {
12306 _mem_save_pendingops_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12307 NDR_PULL_SET_MEM_CTX(ndr
, r
->pendingops
, 0);
12308 NDR_CHECK(ndr_pull_drsuapi_DsReplicaOpCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->pendingops
));
12309 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_pendingops_0
, 0);
12313 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12314 if (r
->attrvalmetadata
) {
12315 _mem_save_attrvalmetadata_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12316 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata
, 0);
12317 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata
));
12318 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata_0
, 0);
12322 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12324 _mem_save_cursors2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12325 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors2
, 0);
12326 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor2Ctr(ndr
, NDR_SCALARS
, r
->cursors2
));
12327 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors2_0
, 0);
12331 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12333 _mem_save_cursors3_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12334 NDR_PULL_SET_MEM_CTX(ndr
, r
->cursors3
, 0);
12335 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursor3Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->cursors3
));
12336 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_cursors3_0
, 0);
12340 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12341 if (r
->objmetadata2
) {
12342 _mem_save_objmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12343 NDR_PULL_SET_MEM_CTX(ndr
, r
->objmetadata2
, 0);
12344 NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->objmetadata2
));
12345 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_objmetadata2_0
, 0);
12349 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12350 if (r
->attrvalmetadata2
) {
12351 _mem_save_attrvalmetadata2_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12352 NDR_PULL_SET_MEM_CTX(ndr
, r
->attrvalmetadata2
, 0);
12353 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->attrvalmetadata2
));
12354 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_attrvalmetadata2_0
, 0);
12358 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12360 _mem_save_repsto_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12361 NDR_PULL_SET_MEM_CTX(ndr
, r
->repsto
, 0);
12362 NDR_CHECK(ndr_pull_drsuapi_DsReplicaNeighbourCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->repsto
));
12363 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_repsto_0
, 0);
12367 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12368 if (r
->clientctx
) {
12369 _mem_save_clientctx_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12370 NDR_PULL_SET_MEM_CTX(ndr
, r
->clientctx
, 0);
12371 NDR_CHECK(ndr_pull_drsuapi_DsReplicaConnection04Ctr(ndr
, NDR_SCALARS
, r
->clientctx
));
12372 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_clientctx_0
, 0);
12376 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12378 _mem_save_udv1_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12379 NDR_PULL_SET_MEM_CTX(ndr
, r
->udv1
, 0);
12380 NDR_CHECK(ndr_pull_drsuapi_DsReplicaCursorCtrEx(ndr
, NDR_SCALARS
, r
->udv1
));
12381 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_udv1_0
, 0);
12385 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12386 if (r
->srvoutgoingcalls
) {
12387 _mem_save_srvoutgoingcalls_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12388 NDR_PULL_SET_MEM_CTX(ndr
, r
->srvoutgoingcalls
, 0);
12389 NDR_CHECK(ndr_pull_drsuapi_DsReplica06Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->srvoutgoingcalls
));
12390 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_srvoutgoingcalls_0
, 0);
12395 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12398 return NDR_ERR_SUCCESS
;
12401 _PUBLIC_
void ndr_print_drsuapi_DsReplicaInfo(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsReplicaInfo
*r
)
12404 level
= ndr_print_get_switch_value(ndr
, r
);
12405 ndr_print_union(ndr
, name
, level
, "drsuapi_DsReplicaInfo");
12407 case DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
:
12408 ndr_print_ptr(ndr
, "neighbours", r
->neighbours
);
12410 if (r
->neighbours
) {
12411 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "neighbours", r
->neighbours
);
12416 case DRSUAPI_DS_REPLICA_INFO_CURSORS
:
12417 ndr_print_ptr(ndr
, "cursors", r
->cursors
);
12420 ndr_print_drsuapi_DsReplicaCursorCtr(ndr
, "cursors", r
->cursors
);
12425 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
:
12426 ndr_print_ptr(ndr
, "objmetadata", r
->objmetadata
);
12428 if (r
->objmetadata
) {
12429 ndr_print_drsuapi_DsReplicaObjMetaDataCtr(ndr
, "objmetadata", r
->objmetadata
);
12434 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
:
12435 ndr_print_ptr(ndr
, "connectfailures", r
->connectfailures
);
12437 if (r
->connectfailures
) {
12438 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "connectfailures", r
->connectfailures
);
12443 case DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
:
12444 ndr_print_ptr(ndr
, "linkfailures", r
->linkfailures
);
12446 if (r
->linkfailures
) {
12447 ndr_print_drsuapi_DsReplicaKccDsaFailuresCtr(ndr
, "linkfailures", r
->linkfailures
);
12452 case DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
:
12453 ndr_print_ptr(ndr
, "pendingops", r
->pendingops
);
12455 if (r
->pendingops
) {
12456 ndr_print_drsuapi_DsReplicaOpCtr(ndr
, "pendingops", r
->pendingops
);
12461 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
:
12462 ndr_print_ptr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12464 if (r
->attrvalmetadata
) {
12465 ndr_print_drsuapi_DsReplicaAttrValMetaDataCtr(ndr
, "attrvalmetadata", r
->attrvalmetadata
);
12470 case DRSUAPI_DS_REPLICA_INFO_CURSORS2
:
12471 ndr_print_ptr(ndr
, "cursors2", r
->cursors2
);
12474 ndr_print_drsuapi_DsReplicaCursor2Ctr(ndr
, "cursors2", r
->cursors2
);
12479 case DRSUAPI_DS_REPLICA_INFO_CURSORS3
:
12480 ndr_print_ptr(ndr
, "cursors3", r
->cursors3
);
12483 ndr_print_drsuapi_DsReplicaCursor3Ctr(ndr
, "cursors3", r
->cursors3
);
12488 case DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
:
12489 ndr_print_ptr(ndr
, "objmetadata2", r
->objmetadata2
);
12491 if (r
->objmetadata2
) {
12492 ndr_print_drsuapi_DsReplicaObjMetaData2Ctr(ndr
, "objmetadata2", r
->objmetadata2
);
12497 case DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
:
12498 ndr_print_ptr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12500 if (r
->attrvalmetadata2
) {
12501 ndr_print_drsuapi_DsReplicaAttrValMetaData2Ctr(ndr
, "attrvalmetadata2", r
->attrvalmetadata2
);
12506 case DRSUAPI_DS_REPLICA_INFO_REPSTO
:
12507 ndr_print_ptr(ndr
, "repsto", r
->repsto
);
12510 ndr_print_drsuapi_DsReplicaNeighbourCtr(ndr
, "repsto", r
->repsto
);
12515 case DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS
:
12516 ndr_print_ptr(ndr
, "clientctx", r
->clientctx
);
12518 if (r
->clientctx
) {
12519 ndr_print_drsuapi_DsReplicaConnection04Ctr(ndr
, "clientctx", r
->clientctx
);
12524 case DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1
:
12525 ndr_print_ptr(ndr
, "udv1", r
->udv1
);
12528 ndr_print_drsuapi_DsReplicaCursorCtrEx(ndr
, "udv1", r
->udv1
);
12533 case DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS
:
12534 ndr_print_ptr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
12536 if (r
->srvoutgoingcalls
) {
12537 ndr_print_drsuapi_DsReplica06Ctr(ndr
, "srvoutgoingcalls", r
->srvoutgoingcalls
);
12543 ndr_print_bad_level(ndr
, name
, level
);
12547 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Ctr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12549 if (ndr_flags
& NDR_SCALARS
) {
12550 int level
= ndr_push_get_switch_value(ndr
, r
);
12551 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
12552 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12555 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12559 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12562 if (ndr_flags
& NDR_BUFFERS
) {
12563 int level
= ndr_push_get_switch_value(ndr
, r
);
12566 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12570 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12573 return NDR_ERR_SUCCESS
;
12576 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Ctr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Ctr
*r
)
12580 level
= ndr_pull_get_switch_value(ndr
, r
);
12581 if (ndr_flags
& NDR_SCALARS
) {
12582 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12583 if (_level
!= level
) {
12584 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12586 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12589 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12593 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12596 if (ndr_flags
& NDR_BUFFERS
) {
12599 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12603 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12606 return NDR_ERR_SUCCESS
;
12609 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Ctr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Ctr
*r
)
12612 level
= ndr_print_get_switch_value(ndr
, r
);
12613 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Ctr");
12616 ndr_print_drsuapi_DsGetMembershipsCtr1(ndr
, "ctr1", &r
->ctr1
);
12620 ndr_print_bad_level(ndr
, name
, level
);
12624 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12626 uint32_t cntr_req_array_1
;
12627 if (ndr_flags
& NDR_SCALARS
) {
12628 NDR_CHECK(ndr_push_align(ndr
, 5));
12629 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
12630 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
));
12631 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12633 if (ndr_flags
& NDR_BUFFERS
) {
12634 if (r
->req_array
) {
12635 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
12636 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12637 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->req_array
[cntr_req_array_1
]));
12639 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12640 if (r
->req_array
[cntr_req_array_1
]) {
12641 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12646 return NDR_ERR_SUCCESS
;
12649 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsGetMemberships2Request1
*r
)
12651 uint32_t _ptr_req_array
;
12652 uint32_t cntr_req_array_1
;
12653 TALLOC_CTX
*_mem_save_req_array_0
;
12654 TALLOC_CTX
*_mem_save_req_array_1
;
12655 TALLOC_CTX
*_mem_save_req_array_2
;
12656 if (ndr_flags
& NDR_SCALARS
) {
12657 NDR_CHECK(ndr_pull_align(ndr
, 5));
12658 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
12659 if (r
->num_req
< 1 || r
->num_req
> 10000) {
12660 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12662 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12663 if (_ptr_req_array
) {
12664 NDR_PULL_ALLOC(ndr
, r
->req_array
);
12666 r
->req_array
= NULL
;
12668 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12670 if (ndr_flags
& NDR_BUFFERS
) {
12671 if (r
->req_array
) {
12672 _mem_save_req_array_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12673 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12674 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->req_array
));
12675 NDR_PULL_ALLOC_N(ndr
, r
->req_array
, ndr_get_array_size(ndr
, &r
->req_array
));
12676 _mem_save_req_array_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12677 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
, 0);
12678 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12679 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_req_array
));
12680 if (_ptr_req_array
) {
12681 NDR_PULL_ALLOC(ndr
, r
->req_array
[cntr_req_array_1
]);
12683 r
->req_array
[cntr_req_array_1
] = NULL
;
12686 for (cntr_req_array_1
= 0; cntr_req_array_1
< r
->num_req
; cntr_req_array_1
++) {
12687 if (r
->req_array
[cntr_req_array_1
]) {
12688 _mem_save_req_array_2
= NDR_PULL_GET_MEM_CTX(ndr
);
12689 NDR_PULL_SET_MEM_CTX(ndr
, r
->req_array
[cntr_req_array_1
], 0);
12690 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest1(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->req_array
[cntr_req_array_1
]));
12691 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_2
, 0);
12694 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_1
, 0);
12695 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_array_0
, 0);
12697 if (r
->req_array
) {
12698 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->req_array
, r
->num_req
));
12701 return NDR_ERR_SUCCESS
;
12704 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsGetMemberships2Request1
*r
)
12706 uint32_t cntr_req_array_1
;
12707 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2Request1");
12709 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
12710 ndr_print_ptr(ndr
, "req_array", r
->req_array
);
12712 if (r
->req_array
) {
12713 ndr
->print(ndr
, "%s: ARRAY(%d)", "req_array", (int)r
->num_req
);
12715 for (cntr_req_array_1
=0;cntr_req_array_1
<r
->num_req
;cntr_req_array_1
++) {
12717 if (asprintf(&idx_1
, "[%d]", cntr_req_array_1
) != -1) {
12718 ndr_print_ptr(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12720 if (r
->req_array
[cntr_req_array_1
]) {
12721 ndr_print_drsuapi_DsGetMembershipsRequest1(ndr
, "req_array", r
->req_array
[cntr_req_array_1
]);
12733 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2Request(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_DsGetMemberships2Request
*r
)
12735 if (ndr_flags
& NDR_SCALARS
) {
12736 int level
= ndr_push_get_switch_value(ndr
, r
);
12737 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
12738 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12741 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12745 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12748 if (ndr_flags
& NDR_BUFFERS
) {
12749 int level
= ndr_push_get_switch_value(ndr
, r
);
12752 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12756 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12759 return NDR_ERR_SUCCESS
;
12762 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2Request(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_DsGetMemberships2Request
*r
)
12766 level
= ndr_pull_get_switch_value(ndr
, r
);
12767 if (ndr_flags
& NDR_SCALARS
) {
12768 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12769 if (_level
!= level
) {
12770 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12772 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12775 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_SCALARS
, &r
->req1
));
12779 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12782 if (ndr_flags
& NDR_BUFFERS
) {
12785 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request1(ndr
, NDR_BUFFERS
, &r
->req1
));
12789 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12792 return NDR_ERR_SUCCESS
;
12795 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2Request(struct ndr_print
*ndr
, const char *name
, const union drsuapi_DsGetMemberships2Request
*r
)
12798 level
= ndr_print_get_switch_value(ndr
, r
);
12799 ndr_print_union(ndr
, name
, level
, "drsuapi_DsGetMemberships2Request");
12802 ndr_print_drsuapi_DsGetMemberships2Request1(ndr
, "req1", &r
->req1
);
12806 ndr_print_bad_level(ndr
, name
, level
);
12810 static enum ndr_err_code
ndr_push_drsuapi_DsSiteCostInfo(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_DsSiteCostInfo
*r
)
12812 if (ndr_flags
& NDR_SCALARS
) {
12813 NDR_CHECK(ndr_push_align(ndr
, 4));
12814 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->error_code
));
12815 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->site_cost
));
12816 NDR_CHECK(ndr_push_trailer_align(ndr
, 4));
12818 if (ndr_flags
& NDR_BUFFERS
) {
12820 return NDR_ERR_SUCCESS
;
12823 static enum ndr_err_code
ndr_pull_drsuapi_DsSiteCostInfo(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_DsSiteCostInfo
*r
)
12825 if (ndr_flags
& NDR_SCALARS
) {
12826 NDR_CHECK(ndr_pull_align(ndr
, 4));
12827 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->error_code
));
12828 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->site_cost
));
12829 NDR_CHECK(ndr_pull_trailer_align(ndr
, 4));
12831 if (ndr_flags
& NDR_BUFFERS
) {
12833 return NDR_ERR_SUCCESS
;
12836 _PUBLIC_
void ndr_print_drsuapi_DsSiteCostInfo(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_DsSiteCostInfo
*r
)
12838 ndr_print_struct(ndr
, name
, "drsuapi_DsSiteCostInfo");
12840 ndr_print_WERROR(ndr
, "error_code", r
->error_code
);
12841 ndr_print_uint32(ndr
, "site_cost", r
->site_cost
);
12845 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12847 uint32_t cntr_info_1
;
12848 if (ndr_flags
& NDR_SCALARS
) {
12849 NDR_CHECK(ndr_push_align(ndr
, 5));
12850 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_info
));
12851 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->info
));
12852 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, 0));
12853 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
12855 if (ndr_flags
& NDR_BUFFERS
) {
12857 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_info
));
12858 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12859 NDR_CHECK(ndr_push_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12863 return NDR_ERR_SUCCESS
;
12866 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostCtr1
*r
)
12868 uint32_t _ptr_info
;
12869 uint32_t cntr_info_1
;
12870 TALLOC_CTX
*_mem_save_info_0
;
12871 TALLOC_CTX
*_mem_save_info_1
;
12872 if (ndr_flags
& NDR_SCALARS
) {
12873 NDR_CHECK(ndr_pull_align(ndr
, 5));
12874 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_info
));
12875 if (r
->num_info
> 10000) {
12876 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
12878 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_info
));
12880 NDR_PULL_ALLOC(ndr
, r
->info
);
12884 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags_reserved
));
12885 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
12887 if (ndr_flags
& NDR_BUFFERS
) {
12889 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
12890 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12891 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->info
));
12892 NDR_PULL_ALLOC_N(ndr
, r
->info
, ndr_get_array_size(ndr
, &r
->info
));
12893 _mem_save_info_1
= NDR_PULL_GET_MEM_CTX(ndr
);
12894 NDR_PULL_SET_MEM_CTX(ndr
, r
->info
, 0);
12895 for (cntr_info_1
= 0; cntr_info_1
< r
->num_info
; cntr_info_1
++) {
12896 NDR_CHECK(ndr_pull_drsuapi_DsSiteCostInfo(ndr
, NDR_SCALARS
, &r
->info
[cntr_info_1
]));
12898 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_1
, 0);
12899 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, 0);
12902 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->info
, r
->num_info
));
12905 return NDR_ERR_SUCCESS
;
12908 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostCtr1
*r
)
12910 uint32_t cntr_info_1
;
12911 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostCtr1");
12913 ndr_print_uint32(ndr
, "num_info", r
->num_info
);
12914 ndr_print_ptr(ndr
, "info", r
->info
);
12917 ndr
->print(ndr
, "%s: ARRAY(%d)", "info", (int)r
->num_info
);
12919 for (cntr_info_1
=0;cntr_info_1
<r
->num_info
;cntr_info_1
++) {
12921 if (asprintf(&idx_1
, "[%d]", cntr_info_1
) != -1) {
12922 ndr_print_drsuapi_DsSiteCostInfo(ndr
, "info", &r
->info
[cntr_info_1
]);
12929 ndr_print_uint32(ndr
, "flags_reserved", (ndr
->flags
& LIBNDR_PRINT_SET_VALUES
)?0:r
->flags_reserved
);
12933 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostCtr(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostCtr
*r
)
12935 if (ndr_flags
& NDR_SCALARS
) {
12936 int level
= ndr_push_get_switch_value(ndr
, r
);
12937 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
12938 NDR_CHECK(ndr_push_union_align(ndr
, 5));
12941 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12945 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12948 if (ndr_flags
& NDR_BUFFERS
) {
12949 int level
= ndr_push_get_switch_value(ndr
, r
);
12952 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12956 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12959 return NDR_ERR_SUCCESS
;
12962 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostCtr(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostCtr
*r
)
12966 level
= ndr_pull_get_switch_value(ndr
, r
);
12967 if (ndr_flags
& NDR_SCALARS
) {
12968 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
12969 if (_level
!= level
) {
12970 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
12972 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
12975 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_SCALARS
, &r
->ctr1
));
12979 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12982 if (ndr_flags
& NDR_BUFFERS
) {
12985 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr1(ndr
, NDR_BUFFERS
, &r
->ctr1
));
12989 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
12992 return NDR_ERR_SUCCESS
;
12995 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostCtr(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostCtr
*r
)
12998 level
= ndr_print_get_switch_value(ndr
, r
);
12999 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostCtr");
13002 ndr_print_drsuapi_QuerySitesByCostCtr1(ndr
, "ctr1", &r
->ctr1
);
13006 ndr_print_bad_level(ndr
, name
, level
);
13010 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest1(struct ndr_push
*ndr
, int ndr_flags
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13012 uint32_t cntr_site_to_1
;
13013 if (ndr_flags
& NDR_SCALARS
) {
13014 NDR_CHECK(ndr_push_align(ndr
, 5));
13015 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_from
));
13016 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->num_req
));
13017 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
));
13018 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->flags
));
13019 NDR_CHECK(ndr_push_trailer_align(ndr
, 5));
13021 if (ndr_flags
& NDR_BUFFERS
) {
13022 if (r
->site_from
) {
13023 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13024 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13025 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_from
, CH_UTF16
)));
13026 NDR_CHECK(ndr_push_charset(ndr
, NDR_SCALARS
, r
->site_from
, ndr_charset_length(r
->site_from
, CH_UTF16
), sizeof(uint16_t), CH_UTF16
));
13029 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, r
->num_req
));
13030 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13031 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->site_to
[cntr_site_to_1
]));
13033 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13034 if (r
->site_to
[cntr_site_to_1
]) {
13035 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13036 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, 0));
13037 NDR_CHECK(ndr_push_uint3264(ndr
, NDR_SCALARS
, ndr_charset_length(r
->site_to
[cntr_site_to_1
], CH_UTF16
)));
13038 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
));
13043 return NDR_ERR_SUCCESS
;
13046 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest1(struct ndr_pull
*ndr
, int ndr_flags
, struct drsuapi_QuerySitesByCostRequest1
*r
)
13048 uint32_t _ptr_site_from
;
13049 TALLOC_CTX
*_mem_save_site_from_0
;
13050 uint32_t _ptr_site_to
;
13051 uint32_t cntr_site_to_1
;
13052 TALLOC_CTX
*_mem_save_site_to_0
;
13053 TALLOC_CTX
*_mem_save_site_to_1
;
13054 TALLOC_CTX
*_mem_save_site_to_2
;
13055 if (ndr_flags
& NDR_SCALARS
) {
13056 NDR_CHECK(ndr_pull_align(ndr
, 5));
13057 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_from
));
13058 if (_ptr_site_from
) {
13059 NDR_PULL_ALLOC(ndr
, r
->site_from
);
13061 r
->site_from
= NULL
;
13063 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->num_req
));
13064 if (r
->num_req
< 1 || r
->num_req
> 10000) {
13065 return ndr_pull_error(ndr
, NDR_ERR_RANGE
, "value out of range");
13067 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13068 if (_ptr_site_to
) {
13069 NDR_PULL_ALLOC(ndr
, r
->site_to
);
13073 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->flags
));
13074 NDR_CHECK(ndr_pull_trailer_align(ndr
, 5));
13076 if (ndr_flags
& NDR_BUFFERS
) {
13077 if (r
->site_from
) {
13078 _mem_save_site_from_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13079 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_from
, 0);
13080 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_from
));
13081 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_from
));
13082 if (ndr_get_array_length(ndr
, &r
->site_from
) > ndr_get_array_size(ndr
, &r
->site_from
)) {
13083 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
));
13085 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t)));
13086 NDR_CHECK(ndr_pull_charset(ndr
, NDR_SCALARS
, &r
->site_from
, ndr_get_array_length(ndr
, &r
->site_from
), sizeof(uint16_t), CH_UTF16
));
13087 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_from_0
, 0);
13090 _mem_save_site_to_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13091 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13092 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
));
13093 NDR_PULL_ALLOC_N(ndr
, r
->site_to
, ndr_get_array_size(ndr
, &r
->site_to
));
13094 _mem_save_site_to_1
= NDR_PULL_GET_MEM_CTX(ndr
);
13095 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
, 0);
13096 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13097 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_site_to
));
13098 if (_ptr_site_to
) {
13099 NDR_PULL_ALLOC(ndr
, r
->site_to
[cntr_site_to_1
]);
13101 r
->site_to
[cntr_site_to_1
] = NULL
;
13104 for (cntr_site_to_1
= 0; cntr_site_to_1
< r
->num_req
; cntr_site_to_1
++) {
13105 if (r
->site_to
[cntr_site_to_1
]) {
13106 _mem_save_site_to_2
= NDR_PULL_GET_MEM_CTX(ndr
);
13107 NDR_PULL_SET_MEM_CTX(ndr
, r
->site_to
[cntr_site_to_1
], 0);
13108 NDR_CHECK(ndr_pull_array_size(ndr
, &r
->site_to
[cntr_site_to_1
]));
13109 NDR_CHECK(ndr_pull_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]));
13110 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
])) {
13111 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
]));
13113 NDR_CHECK(ndr_check_string_terminator(ndr
, ndr_get_array_length(ndr
, &r
->site_to
[cntr_site_to_1
]), sizeof(uint16_t)));
13114 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
));
13115 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_2
, 0);
13118 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_1
, 0);
13119 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_site_to_0
, 0);
13122 NDR_CHECK(ndr_check_array_size(ndr
, (void*)&r
->site_to
, r
->num_req
));
13125 return NDR_ERR_SUCCESS
;
13128 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest1(struct ndr_print
*ndr
, const char *name
, const struct drsuapi_QuerySitesByCostRequest1
*r
)
13130 uint32_t cntr_site_to_1
;
13131 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCostRequest1");
13133 ndr_print_ptr(ndr
, "site_from", r
->site_from
);
13135 if (r
->site_from
) {
13136 ndr_print_string(ndr
, "site_from", r
->site_from
);
13139 ndr_print_uint32(ndr
, "num_req", r
->num_req
);
13140 ndr_print_ptr(ndr
, "site_to", r
->site_to
);
13143 ndr
->print(ndr
, "%s: ARRAY(%d)", "site_to", (int)r
->num_req
);
13145 for (cntr_site_to_1
=0;cntr_site_to_1
<r
->num_req
;cntr_site_to_1
++) {
13147 if (asprintf(&idx_1
, "[%d]", cntr_site_to_1
) != -1) {
13148 ndr_print_ptr(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13150 if (r
->site_to
[cntr_site_to_1
]) {
13151 ndr_print_string(ndr
, "site_to", r
->site_to
[cntr_site_to_1
]);
13160 ndr_print_uint32(ndr
, "flags", r
->flags
);
13164 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCostRequest(struct ndr_push
*ndr
, int ndr_flags
, const union drsuapi_QuerySitesByCostRequest
*r
)
13166 if (ndr_flags
& NDR_SCALARS
) {
13167 int level
= ndr_push_get_switch_value(ndr
, r
);
13168 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, level
));
13169 NDR_CHECK(ndr_push_union_align(ndr
, 5));
13172 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13176 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13179 if (ndr_flags
& NDR_BUFFERS
) {
13180 int level
= ndr_push_get_switch_value(ndr
, r
);
13183 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13187 return ndr_push_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13190 return NDR_ERR_SUCCESS
;
13193 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCostRequest(struct ndr_pull
*ndr
, int ndr_flags
, union drsuapi_QuerySitesByCostRequest
*r
)
13197 level
= ndr_pull_get_switch_value(ndr
, r
);
13198 if (ndr_flags
& NDR_SCALARS
) {
13199 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &_level
));
13200 if (_level
!= level
) {
13201 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u for r at %s", _level
, __location__
);
13203 NDR_CHECK(ndr_pull_union_align(ndr
, 5));
13206 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_SCALARS
, &r
->req1
));
13210 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13213 if (ndr_flags
& NDR_BUFFERS
) {
13216 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest1(ndr
, NDR_BUFFERS
, &r
->req1
));
13220 return ndr_pull_error(ndr
, NDR_ERR_BAD_SWITCH
, "Bad switch value %u at %s", level
, __location__
);
13223 return NDR_ERR_SUCCESS
;
13226 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCostRequest(struct ndr_print
*ndr
, const char *name
, const union drsuapi_QuerySitesByCostRequest
*r
)
13229 level
= ndr_print_get_switch_value(ndr
, r
);
13230 ndr_print_union(ndr
, name
, level
, "drsuapi_QuerySitesByCostRequest");
13233 ndr_print_drsuapi_QuerySitesByCostRequest1(ndr
, "req1", &r
->req1
);
13237 ndr_print_bad_level(ndr
, name
, level
);
13241 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsBind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsBind
*r
)
13243 if (flags
& NDR_IN
) {
13244 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_guid
));
13245 if (r
->in
.bind_guid
) {
13246 NDR_CHECK(ndr_push_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13248 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->in
.bind_info
));
13249 if (r
->in
.bind_info
) {
13250 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13253 if (flags
& NDR_OUT
) {
13254 NDR_CHECK(ndr_push_unique_ptr(ndr
, r
->out
.bind_info
));
13255 if (r
->out
.bind_info
) {
13256 NDR_CHECK(ndr_push_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13258 if (r
->out
.bind_handle
== NULL
) {
13259 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13261 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13262 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13264 return NDR_ERR_SUCCESS
;
13267 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsBind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsBind
*r
)
13269 uint32_t _ptr_bind_guid
;
13270 uint32_t _ptr_bind_info
;
13271 TALLOC_CTX
*_mem_save_bind_guid_0
;
13272 TALLOC_CTX
*_mem_save_bind_info_0
;
13273 TALLOC_CTX
*_mem_save_bind_handle_0
;
13274 if (flags
& NDR_IN
) {
13275 ZERO_STRUCT(r
->out
);
13277 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_guid
));
13278 if (_ptr_bind_guid
) {
13279 NDR_PULL_ALLOC(ndr
, r
->in
.bind_guid
);
13281 r
->in
.bind_guid
= NULL
;
13283 if (r
->in
.bind_guid
) {
13284 _mem_save_bind_guid_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13285 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_guid
, 0);
13286 NDR_CHECK(ndr_pull_GUID(ndr
, NDR_SCALARS
, r
->in
.bind_guid
));
13287 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_guid_0
, 0);
13289 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13290 if (_ptr_bind_info
) {
13291 NDR_PULL_ALLOC(ndr
, r
->in
.bind_info
);
13293 r
->in
.bind_info
= NULL
;
13295 if (r
->in
.bind_info
) {
13296 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13297 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_info
, 0);
13298 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->in
.bind_info
));
13299 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13301 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13302 ZERO_STRUCTP(r
->out
.bind_handle
);
13304 if (flags
& NDR_OUT
) {
13305 NDR_CHECK(ndr_pull_generic_ptr(ndr
, &_ptr_bind_info
));
13306 if (_ptr_bind_info
) {
13307 NDR_PULL_ALLOC(ndr
, r
->out
.bind_info
);
13309 r
->out
.bind_info
= NULL
;
13311 if (r
->out
.bind_info
) {
13312 _mem_save_bind_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13313 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_info
, 0);
13314 NDR_CHECK(ndr_pull_drsuapi_DsBindInfoCtr(ndr
, NDR_SCALARS
, r
->out
.bind_info
));
13315 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_info_0
, 0);
13317 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13318 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13320 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13321 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13322 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13323 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13324 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13326 return NDR_ERR_SUCCESS
;
13329 _PUBLIC_
void ndr_print_drsuapi_DsBind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsBind
*r
)
13331 ndr_print_struct(ndr
, name
, "drsuapi_DsBind");
13333 if (flags
& NDR_SET_VALUES
) {
13334 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13336 if (flags
& NDR_IN
) {
13337 ndr_print_struct(ndr
, "in", "drsuapi_DsBind");
13339 ndr_print_ptr(ndr
, "bind_guid", r
->in
.bind_guid
);
13341 if (r
->in
.bind_guid
) {
13342 ndr_print_GUID(ndr
, "bind_guid", r
->in
.bind_guid
);
13345 ndr_print_ptr(ndr
, "bind_info", r
->in
.bind_info
);
13347 if (r
->in
.bind_info
) {
13348 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->in
.bind_info
);
13353 if (flags
& NDR_OUT
) {
13354 ndr_print_struct(ndr
, "out", "drsuapi_DsBind");
13356 ndr_print_ptr(ndr
, "bind_info", r
->out
.bind_info
);
13358 if (r
->out
.bind_info
) {
13359 ndr_print_drsuapi_DsBindInfoCtr(ndr
, "bind_info", r
->out
.bind_info
);
13362 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13364 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13366 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13372 static enum ndr_err_code
ndr_push_drsuapi_DsUnbind(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsUnbind
*r
)
13374 if (flags
& NDR_IN
) {
13375 if (r
->in
.bind_handle
== NULL
) {
13376 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13378 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13380 if (flags
& NDR_OUT
) {
13381 if (r
->out
.bind_handle
== NULL
) {
13382 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13384 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13385 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13387 return NDR_ERR_SUCCESS
;
13390 static enum ndr_err_code
ndr_pull_drsuapi_DsUnbind(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsUnbind
*r
)
13392 TALLOC_CTX
*_mem_save_bind_handle_0
;
13393 if (flags
& NDR_IN
) {
13394 ZERO_STRUCT(r
->out
);
13396 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13397 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13399 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13400 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13401 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13402 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13403 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13404 *r
->out
.bind_handle
= *r
->in
.bind_handle
;
13406 if (flags
& NDR_OUT
) {
13407 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13408 NDR_PULL_ALLOC(ndr
, r
->out
.bind_handle
);
13410 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13411 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13412 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->out
.bind_handle
));
13413 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13414 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13416 return NDR_ERR_SUCCESS
;
13419 _PUBLIC_
void ndr_print_drsuapi_DsUnbind(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsUnbind
*r
)
13421 ndr_print_struct(ndr
, name
, "drsuapi_DsUnbind");
13423 if (flags
& NDR_SET_VALUES
) {
13424 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13426 if (flags
& NDR_IN
) {
13427 ndr_print_struct(ndr
, "in", "drsuapi_DsUnbind");
13429 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13431 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13435 if (flags
& NDR_OUT
) {
13436 ndr_print_struct(ndr
, "out", "drsuapi_DsUnbind");
13438 ndr_print_ptr(ndr
, "bind_handle", r
->out
.bind_handle
);
13440 ndr_print_policy_handle(ndr
, "bind_handle", r
->out
.bind_handle
);
13442 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13448 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaSync(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13450 if (flags
& NDR_IN
) {
13451 if (r
->in
.bind_handle
== NULL
) {
13452 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13454 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13455 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13456 if (r
->in
.req
== NULL
) {
13457 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13459 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13460 NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13462 if (flags
& NDR_OUT
) {
13463 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13465 return NDR_ERR_SUCCESS
;
13468 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaSync
*r
)
13470 TALLOC_CTX
*_mem_save_bind_handle_0
;
13471 TALLOC_CTX
*_mem_save_req_0
;
13472 if (flags
& NDR_IN
) {
13473 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13474 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13476 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13477 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13478 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13479 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13480 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13481 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13482 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13484 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13485 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13486 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13487 NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13488 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13490 if (flags
& NDR_OUT
) {
13491 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13493 return NDR_ERR_SUCCESS
;
13496 _PUBLIC_
void ndr_print_drsuapi_DsReplicaSync(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaSync
*r
)
13498 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaSync");
13500 if (flags
& NDR_SET_VALUES
) {
13501 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13503 if (flags
& NDR_IN
) {
13504 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaSync");
13506 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13508 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13510 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13511 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13513 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13514 ndr_print_drsuapi_DsReplicaSyncRequest(ndr
, "req", r
->in
.req
);
13518 if (flags
& NDR_OUT
) {
13519 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaSync");
13521 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13527 static enum ndr_err_code
ndr_push_drsuapi_DsGetNCChanges(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13529 if (flags
& NDR_IN
) {
13530 if (r
->in
.bind_handle
== NULL
) {
13531 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13533 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13534 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13535 if (r
->in
.req
== NULL
) {
13536 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13538 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13539 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13541 if (flags
& NDR_OUT
) {
13542 if (r
->out
.level_out
== NULL
) {
13543 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13545 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13546 if (r
->out
.ctr
== NULL
) {
13547 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13549 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13550 NDR_CHECK(ndr_push_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13551 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13553 return NDR_ERR_SUCCESS
;
13556 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNCChanges(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNCChanges
*r
)
13558 TALLOC_CTX
*_mem_save_bind_handle_0
;
13559 TALLOC_CTX
*_mem_save_req_0
;
13560 TALLOC_CTX
*_mem_save_level_out_0
;
13561 TALLOC_CTX
*_mem_save_ctr_0
;
13562 if (flags
& NDR_IN
) {
13563 ZERO_STRUCT(r
->out
);
13565 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13566 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13568 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13569 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13570 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13571 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13572 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13573 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13574 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
13576 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13577 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
13578 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13579 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13580 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
13581 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13582 ZERO_STRUCTP(r
->out
.level_out
);
13583 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13584 ZERO_STRUCTP(r
->out
.ctr
);
13586 if (flags
& NDR_OUT
) {
13587 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13588 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
13590 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13591 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
13592 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
13593 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
13594 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13595 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
13597 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13598 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
13599 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13600 NDR_CHECK(ndr_pull_drsuapi_DsGetNCChangesCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13601 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
13602 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13604 return NDR_ERR_SUCCESS
;
13607 _PUBLIC_
void ndr_print_drsuapi_DsGetNCChanges(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNCChanges
*r
)
13609 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNCChanges");
13611 if (flags
& NDR_SET_VALUES
) {
13612 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13614 if (flags
& NDR_IN
) {
13615 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNCChanges");
13617 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13619 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13621 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13622 ndr_print_ptr(ndr
, "req", r
->in
.req
);
13624 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
13625 ndr_print_drsuapi_DsGetNCChangesRequest(ndr
, "req", r
->in
.req
);
13629 if (flags
& NDR_OUT
) {
13630 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNCChanges");
13632 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
13634 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
13636 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
13638 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
13639 ndr_print_drsuapi_DsGetNCChangesCtr(ndr
, "ctr", r
->out
.ctr
);
13641 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13647 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaUpdateRefs(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13649 if (flags
& NDR_IN
) {
13650 if (r
->in
.bind_handle
== NULL
) {
13651 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13653 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13654 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13655 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13656 NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13658 if (flags
& NDR_OUT
) {
13659 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13661 return NDR_ERR_SUCCESS
;
13664 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaUpdateRefs(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaUpdateRefs
*r
)
13666 TALLOC_CTX
*_mem_save_bind_handle_0
;
13667 if (flags
& NDR_IN
) {
13668 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13669 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13671 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13672 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13673 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13674 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13675 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13676 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13677 NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13679 if (flags
& NDR_OUT
) {
13680 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13682 return NDR_ERR_SUCCESS
;
13685 _PUBLIC_
void ndr_print_drsuapi_DsReplicaUpdateRefs(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaUpdateRefs
*r
)
13687 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaUpdateRefs");
13689 if (flags
& NDR_SET_VALUES
) {
13690 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13692 if (flags
& NDR_IN
) {
13693 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaUpdateRefs");
13695 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13697 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13699 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13700 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13701 ndr_print_drsuapi_DsReplicaUpdateRefsRequest(ndr
, "req", &r
->in
.req
);
13704 if (flags
& NDR_OUT
) {
13705 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaUpdateRefs");
13707 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13713 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaAdd(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13715 if (flags
& NDR_IN
) {
13716 if (r
->in
.bind_handle
== NULL
) {
13717 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13719 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13720 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13721 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13722 NDR_CHECK(ndr_push_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13724 if (flags
& NDR_OUT
) {
13725 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13727 return NDR_ERR_SUCCESS
;
13730 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaAdd(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaAdd
*r
)
13732 TALLOC_CTX
*_mem_save_bind_handle_0
;
13733 if (flags
& NDR_IN
) {
13734 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13735 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13737 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13738 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13739 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13740 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13741 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13742 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13743 NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13745 if (flags
& NDR_OUT
) {
13746 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13748 return NDR_ERR_SUCCESS
;
13751 _PUBLIC_
void ndr_print_drsuapi_DsReplicaAdd(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaAdd
*r
)
13753 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaAdd");
13755 if (flags
& NDR_SET_VALUES
) {
13756 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13758 if (flags
& NDR_IN
) {
13759 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaAdd");
13761 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13763 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13765 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13766 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13767 ndr_print_drsuapi_DsReplicaAddRequest(ndr
, "req", &r
->in
.req
);
13770 if (flags
& NDR_OUT
) {
13771 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaAdd");
13773 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13779 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaDel(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13781 if (flags
& NDR_IN
) {
13782 if (r
->in
.bind_handle
== NULL
) {
13783 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13785 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13786 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13787 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13788 NDR_CHECK(ndr_push_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13790 if (flags
& NDR_OUT
) {
13791 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13793 return NDR_ERR_SUCCESS
;
13796 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaDel(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaDel
*r
)
13798 TALLOC_CTX
*_mem_save_bind_handle_0
;
13799 if (flags
& NDR_IN
) {
13800 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13801 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13803 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13804 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13805 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13806 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13807 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13808 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13809 NDR_CHECK(ndr_pull_drsuapi_DsReplicaDelRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13811 if (flags
& NDR_OUT
) {
13812 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13814 return NDR_ERR_SUCCESS
;
13817 _PUBLIC_
void ndr_print_drsuapi_DsReplicaDel(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaDel
*r
)
13819 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaDel");
13821 if (flags
& NDR_SET_VALUES
) {
13822 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13824 if (flags
& NDR_IN
) {
13825 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaDel");
13827 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13829 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13831 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13832 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13833 ndr_print_drsuapi_DsReplicaDelRequest(ndr
, "req", &r
->in
.req
);
13836 if (flags
& NDR_OUT
) {
13837 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaDel");
13839 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13845 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaMod(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13847 if (flags
& NDR_IN
) {
13848 if (r
->in
.bind_handle
== NULL
) {
13849 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13851 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13852 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13853 NDR_CHECK(ndr_push_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13854 NDR_CHECK(ndr_push_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13856 if (flags
& NDR_OUT
) {
13857 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13859 return NDR_ERR_SUCCESS
;
13862 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaMod(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaMod
*r
)
13864 TALLOC_CTX
*_mem_save_bind_handle_0
;
13865 if (flags
& NDR_IN
) {
13866 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13867 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13869 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13870 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13871 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13872 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13873 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13874 NDR_CHECK(ndr_pull_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
));
13875 NDR_CHECK(ndr_pull_drsuapi_DsReplicaModRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, &r
->in
.req
));
13877 if (flags
& NDR_OUT
) {
13878 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13880 return NDR_ERR_SUCCESS
;
13883 _PUBLIC_
void ndr_print_drsuapi_DsReplicaMod(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaMod
*r
)
13885 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaMod");
13887 if (flags
& NDR_SET_VALUES
) {
13888 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13890 if (flags
& NDR_IN
) {
13891 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaMod");
13893 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
13895 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
13897 ndr_print_uint32(ndr
, "level", r
->in
.level
);
13898 ndr_print_set_switch_value(ndr
, &r
->in
.req
, r
->in
.level
);
13899 ndr_print_drsuapi_DsReplicaModRequest(ndr
, "req", &r
->in
.req
);
13902 if (flags
& NDR_OUT
) {
13903 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaMod");
13905 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13911 static enum ndr_err_code
ndr_push_DRSUAPI_VERIFY_NAMES(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13913 if (flags
& NDR_IN
) {
13915 if (flags
& NDR_OUT
) {
13916 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13918 return NDR_ERR_SUCCESS
;
13921 static enum ndr_err_code
ndr_pull_DRSUAPI_VERIFY_NAMES(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_VERIFY_NAMES
*r
)
13923 if (flags
& NDR_IN
) {
13925 if (flags
& NDR_OUT
) {
13926 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
13928 return NDR_ERR_SUCCESS
;
13931 _PUBLIC_
void ndr_print_DRSUAPI_VERIFY_NAMES(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_VERIFY_NAMES
*r
)
13933 ndr_print_struct(ndr
, name
, "DRSUAPI_VERIFY_NAMES");
13935 if (flags
& NDR_SET_VALUES
) {
13936 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
13938 if (flags
& NDR_IN
) {
13939 ndr_print_struct(ndr
, "in", "DRSUAPI_VERIFY_NAMES");
13943 if (flags
& NDR_OUT
) {
13944 ndr_print_struct(ndr
, "out", "DRSUAPI_VERIFY_NAMES");
13946 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
13952 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
13954 if (flags
& NDR_IN
) {
13955 if (r
->in
.bind_handle
== NULL
) {
13956 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13958 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13959 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
13960 if (r
->in
.req
== NULL
) {
13961 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13963 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
13964 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
13966 if (flags
& NDR_OUT
) {
13967 if (r
->out
.level_out
== NULL
) {
13968 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13970 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
13971 if (r
->out
.ctr
== NULL
) {
13972 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
13974 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
13975 NDR_CHECK(ndr_push_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
13976 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
13978 return NDR_ERR_SUCCESS
;
13981 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships
*r
)
13983 TALLOC_CTX
*_mem_save_bind_handle_0
;
13984 TALLOC_CTX
*_mem_save_req_0
;
13985 TALLOC_CTX
*_mem_save_level_out_0
;
13986 TALLOC_CTX
*_mem_save_ctr_0
;
13987 if (flags
& NDR_IN
) {
13988 ZERO_STRUCT(r
->out
);
13990 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13991 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
13993 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
13994 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
13995 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
13996 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
13997 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
13998 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
13999 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14001 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14002 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14003 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14004 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14005 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14006 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14007 ZERO_STRUCTP(r
->out
.level_out
);
14008 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14009 ZERO_STRUCTP(r
->out
.ctr
);
14011 if (flags
& NDR_OUT
) {
14012 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14013 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14015 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14016 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14017 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14018 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14019 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14020 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14022 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14023 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14024 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14025 NDR_CHECK(ndr_pull_drsuapi_DsGetMembershipsCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14026 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14027 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14029 return NDR_ERR_SUCCESS
;
14032 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships
*r
)
14034 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships");
14036 if (flags
& NDR_SET_VALUES
) {
14037 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14039 if (flags
& NDR_IN
) {
14040 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships");
14042 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14044 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14046 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14047 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14049 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14050 ndr_print_drsuapi_DsGetMembershipsRequest(ndr
, "req", r
->in
.req
);
14054 if (flags
& NDR_OUT
) {
14055 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships");
14057 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14059 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14061 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14063 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14064 ndr_print_drsuapi_DsGetMembershipsCtr(ndr
, "ctr", r
->out
.ctr
);
14066 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14072 static enum ndr_err_code
ndr_push_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14074 if (flags
& NDR_IN
) {
14076 if (flags
& NDR_OUT
) {
14077 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14079 return NDR_ERR_SUCCESS
;
14082 static enum ndr_err_code
ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14084 if (flags
& NDR_IN
) {
14086 if (flags
& NDR_OUT
) {
14087 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14089 return NDR_ERR_SUCCESS
;
14092 _PUBLIC_
void ndr_print_DRSUAPI_INTER_DOMAIN_MOVE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_INTER_DOMAIN_MOVE
*r
)
14094 ndr_print_struct(ndr
, name
, "DRSUAPI_INTER_DOMAIN_MOVE");
14096 if (flags
& NDR_SET_VALUES
) {
14097 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14099 if (flags
& NDR_IN
) {
14100 ndr_print_struct(ndr
, "in", "DRSUAPI_INTER_DOMAIN_MOVE");
14104 if (flags
& NDR_OUT
) {
14105 ndr_print_struct(ndr
, "out", "DRSUAPI_INTER_DOMAIN_MOVE");
14107 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14113 static enum ndr_err_code
ndr_push_drsuapi_DsGetNT4ChangeLog(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14115 if (flags
& NDR_IN
) {
14116 if (r
->in
.bind_handle
== NULL
) {
14117 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14119 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14120 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14121 if (r
->in
.req
== NULL
) {
14122 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14124 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14125 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14127 if (flags
& NDR_OUT
) {
14128 if (r
->out
.level_out
== NULL
) {
14129 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14131 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14132 if (r
->out
.info
== NULL
) {
14133 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14135 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14136 NDR_CHECK(ndr_push_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14137 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14139 return NDR_ERR_SUCCESS
;
14142 static enum ndr_err_code
ndr_pull_drsuapi_DsGetNT4ChangeLog(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetNT4ChangeLog
*r
)
14144 TALLOC_CTX
*_mem_save_bind_handle_0
;
14145 TALLOC_CTX
*_mem_save_req_0
;
14146 TALLOC_CTX
*_mem_save_level_out_0
;
14147 TALLOC_CTX
*_mem_save_info_0
;
14148 if (flags
& NDR_IN
) {
14149 ZERO_STRUCT(r
->out
);
14151 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14152 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14154 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14155 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14156 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14157 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14158 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14159 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14160 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14162 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14163 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14164 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14165 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14166 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14167 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14168 ZERO_STRUCTP(r
->out
.level_out
);
14169 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14170 ZERO_STRUCTP(r
->out
.info
);
14172 if (flags
& NDR_OUT
) {
14173 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14174 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14176 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14177 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14178 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14179 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14180 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14181 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
14183 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14184 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
14185 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
));
14186 NDR_CHECK(ndr_pull_drsuapi_DsGetNT4ChangeLogInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14187 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
14188 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14190 return NDR_ERR_SUCCESS
;
14193 _PUBLIC_
void ndr_print_drsuapi_DsGetNT4ChangeLog(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetNT4ChangeLog
*r
)
14195 ndr_print_struct(ndr
, name
, "drsuapi_DsGetNT4ChangeLog");
14197 if (flags
& NDR_SET_VALUES
) {
14198 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14200 if (flags
& NDR_IN
) {
14201 ndr_print_struct(ndr
, "in", "drsuapi_DsGetNT4ChangeLog");
14203 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14205 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14207 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14208 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14210 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14211 ndr_print_drsuapi_DsGetNT4ChangeLogRequest(ndr
, "req", r
->in
.req
);
14215 if (flags
& NDR_OUT
) {
14216 ndr_print_struct(ndr
, "out", "drsuapi_DsGetNT4ChangeLog");
14218 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14220 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14222 ndr_print_ptr(ndr
, "info", r
->out
.info
);
14224 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.level_out
);
14225 ndr_print_drsuapi_DsGetNT4ChangeLogInfo(ndr
, "info", r
->out
.info
);
14227 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14233 static enum ndr_err_code
ndr_push_drsuapi_DsCrackNames(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14235 if (flags
& NDR_IN
) {
14236 if (r
->in
.bind_handle
== NULL
) {
14237 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14239 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14240 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14241 if (r
->in
.req
== NULL
) {
14242 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14244 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14245 NDR_CHECK(ndr_push_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14247 if (flags
& NDR_OUT
) {
14248 if (r
->out
.level_out
== NULL
) {
14249 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14251 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14252 if (r
->out
.ctr
== NULL
) {
14253 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14255 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14256 NDR_CHECK(ndr_push_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14257 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14259 return NDR_ERR_SUCCESS
;
14262 static enum ndr_err_code
ndr_pull_drsuapi_DsCrackNames(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsCrackNames
*r
)
14264 TALLOC_CTX
*_mem_save_bind_handle_0
;
14265 TALLOC_CTX
*_mem_save_req_0
;
14266 TALLOC_CTX
*_mem_save_level_out_0
;
14267 TALLOC_CTX
*_mem_save_ctr_0
;
14268 if (flags
& NDR_IN
) {
14269 ZERO_STRUCT(r
->out
);
14271 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14272 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14274 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14275 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14276 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14277 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14278 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14279 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14280 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14282 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14283 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14284 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14285 NDR_CHECK(ndr_pull_drsuapi_DsNameRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14286 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14287 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14288 ZERO_STRUCTP(r
->out
.level_out
);
14289 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14290 ZERO_STRUCTP(r
->out
.ctr
);
14292 if (flags
& NDR_OUT
) {
14293 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14294 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14296 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14297 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14298 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14299 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14300 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14301 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14303 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14304 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14305 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14306 NDR_CHECK(ndr_pull_drsuapi_DsNameCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14307 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14308 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14310 return NDR_ERR_SUCCESS
;
14313 _PUBLIC_
void ndr_print_drsuapi_DsCrackNames(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsCrackNames
*r
)
14315 ndr_print_struct(ndr
, name
, "drsuapi_DsCrackNames");
14317 if (flags
& NDR_SET_VALUES
) {
14318 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14320 if (flags
& NDR_IN
) {
14321 ndr_print_struct(ndr
, "in", "drsuapi_DsCrackNames");
14323 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14325 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14327 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14328 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14330 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14331 ndr_print_drsuapi_DsNameRequest(ndr
, "req", r
->in
.req
);
14335 if (flags
& NDR_OUT
) {
14336 ndr_print_struct(ndr
, "out", "drsuapi_DsCrackNames");
14338 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14340 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14342 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14344 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14345 ndr_print_drsuapi_DsNameCtr(ndr
, "ctr", r
->out
.ctr
);
14347 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14353 static enum ndr_err_code
ndr_push_drsuapi_DsWriteAccountSpn(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14355 if (flags
& NDR_IN
) {
14356 if (r
->in
.bind_handle
== NULL
) {
14357 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14359 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14360 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14361 if (r
->in
.req
== NULL
) {
14362 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14364 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14365 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14367 if (flags
& NDR_OUT
) {
14368 if (r
->out
.level_out
== NULL
) {
14369 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14371 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14372 if (r
->out
.res
== NULL
) {
14373 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14375 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14376 NDR_CHECK(ndr_push_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14377 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14379 return NDR_ERR_SUCCESS
;
14382 static enum ndr_err_code
ndr_pull_drsuapi_DsWriteAccountSpn(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsWriteAccountSpn
*r
)
14384 TALLOC_CTX
*_mem_save_bind_handle_0
;
14385 TALLOC_CTX
*_mem_save_req_0
;
14386 TALLOC_CTX
*_mem_save_level_out_0
;
14387 TALLOC_CTX
*_mem_save_res_0
;
14388 if (flags
& NDR_IN
) {
14389 ZERO_STRUCT(r
->out
);
14391 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14392 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14394 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14395 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14396 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14397 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14398 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14399 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14400 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14402 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14403 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14404 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14405 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14406 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14407 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14408 ZERO_STRUCTP(r
->out
.level_out
);
14409 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14410 ZERO_STRUCTP(r
->out
.res
);
14412 if (flags
& NDR_OUT
) {
14413 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14414 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14416 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14417 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14418 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14419 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14420 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14421 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14423 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14424 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14425 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14426 NDR_CHECK(ndr_pull_drsuapi_DsWriteAccountSpnResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14427 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14428 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14430 return NDR_ERR_SUCCESS
;
14433 _PUBLIC_
void ndr_print_drsuapi_DsWriteAccountSpn(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsWriteAccountSpn
*r
)
14435 ndr_print_struct(ndr
, name
, "drsuapi_DsWriteAccountSpn");
14437 if (flags
& NDR_SET_VALUES
) {
14438 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14440 if (flags
& NDR_IN
) {
14441 ndr_print_struct(ndr
, "in", "drsuapi_DsWriteAccountSpn");
14443 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14445 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14447 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14448 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14450 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14451 ndr_print_drsuapi_DsWriteAccountSpnRequest(ndr
, "req", r
->in
.req
);
14455 if (flags
& NDR_OUT
) {
14456 ndr_print_struct(ndr
, "out", "drsuapi_DsWriteAccountSpn");
14458 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14460 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14462 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14464 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14465 ndr_print_drsuapi_DsWriteAccountSpnResult(ndr
, "res", r
->out
.res
);
14467 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14473 static enum ndr_err_code
ndr_push_drsuapi_DsRemoveDSServer(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14475 if (flags
& NDR_IN
) {
14476 if (r
->in
.bind_handle
== NULL
) {
14477 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14479 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14480 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14481 if (r
->in
.req
== NULL
) {
14482 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14484 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14485 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14487 if (flags
& NDR_OUT
) {
14488 if (r
->out
.level_out
== NULL
) {
14489 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14491 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14492 if (r
->out
.res
== NULL
) {
14493 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14495 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14496 NDR_CHECK(ndr_push_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14497 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14499 return NDR_ERR_SUCCESS
;
14502 static enum ndr_err_code
ndr_pull_drsuapi_DsRemoveDSServer(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsRemoveDSServer
*r
)
14504 TALLOC_CTX
*_mem_save_bind_handle_0
;
14505 TALLOC_CTX
*_mem_save_req_0
;
14506 TALLOC_CTX
*_mem_save_level_out_0
;
14507 TALLOC_CTX
*_mem_save_res_0
;
14508 if (flags
& NDR_IN
) {
14509 ZERO_STRUCT(r
->out
);
14511 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14512 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14514 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14515 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14516 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14517 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14518 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14519 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14520 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14522 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14523 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14524 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14525 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14526 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14527 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14528 ZERO_STRUCTP(r
->out
.level_out
);
14529 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14530 ZERO_STRUCTP(r
->out
.res
);
14532 if (flags
& NDR_OUT
) {
14533 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14534 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14536 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14537 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14538 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14539 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14540 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14541 NDR_PULL_ALLOC(ndr
, r
->out
.res
);
14543 _mem_save_res_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14544 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.res
, LIBNDR_FLAG_REF_ALLOC
);
14545 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
));
14546 NDR_CHECK(ndr_pull_drsuapi_DsRemoveDSServerResult(ndr
, NDR_SCALARS
, r
->out
.res
));
14547 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_res_0
, LIBNDR_FLAG_REF_ALLOC
);
14548 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14550 return NDR_ERR_SUCCESS
;
14553 _PUBLIC_
void ndr_print_drsuapi_DsRemoveDSServer(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsRemoveDSServer
*r
)
14555 ndr_print_struct(ndr
, name
, "drsuapi_DsRemoveDSServer");
14557 if (flags
& NDR_SET_VALUES
) {
14558 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14560 if (flags
& NDR_IN
) {
14561 ndr_print_struct(ndr
, "in", "drsuapi_DsRemoveDSServer");
14563 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14565 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14567 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14568 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14570 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14571 ndr_print_drsuapi_DsRemoveDSServerRequest(ndr
, "req", r
->in
.req
);
14575 if (flags
& NDR_OUT
) {
14576 ndr_print_struct(ndr
, "out", "drsuapi_DsRemoveDSServer");
14578 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14580 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
14582 ndr_print_ptr(ndr
, "res", r
->out
.res
);
14584 ndr_print_set_switch_value(ndr
, r
->out
.res
, *r
->out
.level_out
);
14585 ndr_print_drsuapi_DsRemoveDSServerResult(ndr
, "res", r
->out
.res
);
14587 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14593 static enum ndr_err_code
ndr_push_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14595 if (flags
& NDR_IN
) {
14597 if (flags
& NDR_OUT
) {
14598 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14600 return NDR_ERR_SUCCESS
;
14603 static enum ndr_err_code
ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14605 if (flags
& NDR_IN
) {
14607 if (flags
& NDR_OUT
) {
14608 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14610 return NDR_ERR_SUCCESS
;
14613 _PUBLIC_
void ndr_print_DRSUAPI_REMOVE_DS_DOMAIN(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REMOVE_DS_DOMAIN
*r
)
14615 ndr_print_struct(ndr
, name
, "DRSUAPI_REMOVE_DS_DOMAIN");
14617 if (flags
& NDR_SET_VALUES
) {
14618 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14620 if (flags
& NDR_IN
) {
14621 ndr_print_struct(ndr
, "in", "DRSUAPI_REMOVE_DS_DOMAIN");
14625 if (flags
& NDR_OUT
) {
14626 ndr_print_struct(ndr
, "out", "DRSUAPI_REMOVE_DS_DOMAIN");
14628 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14634 static enum ndr_err_code
ndr_push_drsuapi_DsGetDomainControllerInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14636 if (flags
& NDR_IN
) {
14637 if (r
->in
.bind_handle
== NULL
) {
14638 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14640 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14641 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14642 if (r
->in
.req
== NULL
) {
14643 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14645 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14646 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14648 if (flags
& NDR_OUT
) {
14649 if (r
->out
.level_out
== NULL
) {
14650 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14652 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14653 if (r
->out
.ctr
== NULL
) {
14654 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14656 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14657 NDR_CHECK(ndr_push_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14658 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14660 return NDR_ERR_SUCCESS
;
14663 static enum ndr_err_code
ndr_pull_drsuapi_DsGetDomainControllerInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetDomainControllerInfo
*r
)
14665 TALLOC_CTX
*_mem_save_bind_handle_0
;
14666 TALLOC_CTX
*_mem_save_req_0
;
14667 TALLOC_CTX
*_mem_save_level_out_0
;
14668 TALLOC_CTX
*_mem_save_ctr_0
;
14669 if (flags
& NDR_IN
) {
14670 ZERO_STRUCT(r
->out
);
14672 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14673 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14675 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14676 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14677 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14678 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14679 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14680 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14681 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14683 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14684 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14685 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14686 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14687 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14688 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14689 ZERO_STRUCTP(r
->out
.level_out
);
14690 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14691 ZERO_STRUCTP(r
->out
.ctr
);
14693 if (flags
& NDR_OUT
) {
14694 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14695 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14697 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14698 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14699 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14700 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14701 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14702 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14704 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14705 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14706 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14707 NDR_CHECK(ndr_pull_drsuapi_DsGetDCInfoCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14708 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14709 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14711 return NDR_ERR_SUCCESS
;
14714 _PUBLIC_
void ndr_print_drsuapi_DsGetDomainControllerInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetDomainControllerInfo
*r
)
14716 ndr_print_struct(ndr
, name
, "drsuapi_DsGetDomainControllerInfo");
14718 if (flags
& NDR_SET_VALUES
) {
14719 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14721 if (flags
& NDR_IN
) {
14722 ndr_print_struct(ndr
, "in", "drsuapi_DsGetDomainControllerInfo");
14724 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14726 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14728 ndr_print_int32(ndr
, "level", r
->in
.level
);
14729 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14731 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14732 ndr_print_drsuapi_DsGetDCInfoRequest(ndr
, "req", r
->in
.req
);
14736 if (flags
& NDR_OUT
) {
14737 ndr_print_struct(ndr
, "out", "drsuapi_DsGetDomainControllerInfo");
14739 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14741 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14743 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14745 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14746 ndr_print_drsuapi_DsGetDCInfoCtr(ndr
, "ctr", r
->out
.ctr
);
14748 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14754 _PUBLIC_
enum ndr_err_code
ndr_push_drsuapi_DsAddEntry(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14756 if (flags
& NDR_IN
) {
14757 if (r
->in
.bind_handle
== NULL
) {
14758 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14760 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14761 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, r
->in
.level
));
14762 if (r
->in
.req
== NULL
) {
14763 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14765 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14766 NDR_CHECK(ndr_push_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14768 if (flags
& NDR_OUT
) {
14769 if (r
->out
.level_out
== NULL
) {
14770 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14772 NDR_CHECK(ndr_push_int32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
14773 if (r
->out
.ctr
== NULL
) {
14774 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14776 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14777 NDR_CHECK(ndr_push_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14778 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14780 return NDR_ERR_SUCCESS
;
14783 _PUBLIC_
enum ndr_err_code
ndr_pull_drsuapi_DsAddEntry(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsAddEntry
*r
)
14785 TALLOC_CTX
*_mem_save_bind_handle_0
;
14786 TALLOC_CTX
*_mem_save_req_0
;
14787 TALLOC_CTX
*_mem_save_level_out_0
;
14788 TALLOC_CTX
*_mem_save_ctr_0
;
14789 if (flags
& NDR_IN
) {
14790 ZERO_STRUCT(r
->out
);
14792 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14793 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14795 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14796 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14797 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14798 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14799 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14800 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14801 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14803 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14804 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14805 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14806 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14807 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14808 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14809 ZERO_STRUCTP(r
->out
.level_out
);
14810 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14811 ZERO_STRUCTP(r
->out
.ctr
);
14813 if (flags
& NDR_OUT
) {
14814 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14815 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
14817 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14818 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
14819 NDR_CHECK(ndr_pull_int32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
14820 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
14821 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14822 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
14824 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14825 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
14826 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
14827 NDR_CHECK(ndr_pull_drsuapi_DsAddEntryCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
14828 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
14829 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14831 return NDR_ERR_SUCCESS
;
14834 _PUBLIC_
void ndr_print_drsuapi_DsAddEntry(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsAddEntry
*r
)
14836 ndr_print_struct(ndr
, name
, "drsuapi_DsAddEntry");
14838 if (flags
& NDR_SET_VALUES
) {
14839 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14841 if (flags
& NDR_IN
) {
14842 ndr_print_struct(ndr
, "in", "drsuapi_DsAddEntry");
14844 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14846 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14848 ndr_print_int32(ndr
, "level", r
->in
.level
);
14849 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14851 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14852 ndr_print_drsuapi_DsAddEntryRequest(ndr
, "req", r
->in
.req
);
14856 if (flags
& NDR_OUT
) {
14857 ndr_print_struct(ndr
, "out", "drsuapi_DsAddEntry");
14859 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
14861 ndr_print_int32(ndr
, "level_out", *r
->out
.level_out
);
14863 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
14865 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
14866 ndr_print_drsuapi_DsAddEntryCtr(ndr
, "ctr", r
->out
.ctr
);
14868 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14874 static enum ndr_err_code
ndr_push_drsuapi_DsExecuteKCC(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14876 if (flags
& NDR_IN
) {
14877 if (r
->in
.bind_handle
== NULL
) {
14878 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14880 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14881 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
14882 if (r
->in
.req
== NULL
) {
14883 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14885 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14886 NDR_CHECK(ndr_push_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14888 if (flags
& NDR_OUT
) {
14889 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14891 return NDR_ERR_SUCCESS
;
14894 static enum ndr_err_code
ndr_pull_drsuapi_DsExecuteKCC(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsExecuteKCC
*r
)
14896 TALLOC_CTX
*_mem_save_bind_handle_0
;
14897 TALLOC_CTX
*_mem_save_req_0
;
14898 if (flags
& NDR_IN
) {
14899 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14900 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14902 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14903 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14904 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14905 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14906 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
14907 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14908 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
14910 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14911 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
14912 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14913 NDR_CHECK(ndr_pull_drsuapi_DsExecuteKCCRequest(ndr
, NDR_SCALARS
, r
->in
.req
));
14914 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
14916 if (flags
& NDR_OUT
) {
14917 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
14919 return NDR_ERR_SUCCESS
;
14922 _PUBLIC_
void ndr_print_drsuapi_DsExecuteKCC(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsExecuteKCC
*r
)
14924 ndr_print_struct(ndr
, name
, "drsuapi_DsExecuteKCC");
14926 if (flags
& NDR_SET_VALUES
) {
14927 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
14929 if (flags
& NDR_IN
) {
14930 ndr_print_struct(ndr
, "in", "drsuapi_DsExecuteKCC");
14932 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
14934 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
14936 ndr_print_uint32(ndr
, "level", r
->in
.level
);
14937 ndr_print_ptr(ndr
, "req", r
->in
.req
);
14939 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
14940 ndr_print_drsuapi_DsExecuteKCCRequest(ndr
, "req", r
->in
.req
);
14944 if (flags
& NDR_OUT
) {
14945 ndr_print_struct(ndr
, "out", "drsuapi_DsExecuteKCC");
14947 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
14953 static enum ndr_err_code
ndr_push_drsuapi_DsReplicaGetInfo(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
14955 if (flags
& NDR_IN
) {
14956 if (r
->in
.bind_handle
== NULL
) {
14957 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14959 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14960 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, r
->in
.level
));
14961 if (r
->in
.req
== NULL
) {
14962 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14964 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
14965 NDR_CHECK(ndr_push_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
14967 if (flags
& NDR_OUT
) {
14968 if (r
->out
.info_type
== NULL
) {
14969 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14971 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, *r
->out
.info_type
));
14972 if (r
->out
.info
== NULL
) {
14973 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
14975 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
14976 NDR_CHECK(ndr_push_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
14977 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
14979 return NDR_ERR_SUCCESS
;
14982 static enum ndr_err_code
ndr_pull_drsuapi_DsReplicaGetInfo(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsReplicaGetInfo
*r
)
14984 TALLOC_CTX
*_mem_save_bind_handle_0
;
14985 TALLOC_CTX
*_mem_save_req_0
;
14986 TALLOC_CTX
*_mem_save_info_type_0
;
14987 TALLOC_CTX
*_mem_save_info_0
;
14988 if (flags
& NDR_IN
) {
14989 ZERO_STRUCT(r
->out
);
14991 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
14992 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
14994 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
14995 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
14996 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
14997 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
14998 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoLevel(ndr
, NDR_SCALARS
, &r
->in
.level
));
14999 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15000 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15002 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15003 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15004 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15005 NDR_CHECK(ndr_pull_drsuapi_DsReplicaGetInfoRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15006 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15007 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15008 ZERO_STRUCTP(r
->out
.info_type
);
15009 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15010 ZERO_STRUCTP(r
->out
.info
);
15012 if (flags
& NDR_OUT
) {
15013 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15014 NDR_PULL_ALLOC(ndr
, r
->out
.info_type
);
15016 _mem_save_info_type_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15017 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info_type
, LIBNDR_FLAG_REF_ALLOC
);
15018 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr
, NDR_SCALARS
, r
->out
.info_type
));
15019 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_type_0
, LIBNDR_FLAG_REF_ALLOC
);
15020 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15021 NDR_PULL_ALLOC(ndr
, r
->out
.info
);
15023 _mem_save_info_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15024 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.info
, LIBNDR_FLAG_REF_ALLOC
);
15025 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
));
15026 NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfo(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.info
));
15027 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_info_0
, LIBNDR_FLAG_REF_ALLOC
);
15028 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15030 return NDR_ERR_SUCCESS
;
15033 _PUBLIC_
void ndr_print_drsuapi_DsReplicaGetInfo(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsReplicaGetInfo
*r
)
15035 ndr_print_struct(ndr
, name
, "drsuapi_DsReplicaGetInfo");
15037 if (flags
& NDR_SET_VALUES
) {
15038 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15040 if (flags
& NDR_IN
) {
15041 ndr_print_struct(ndr
, "in", "drsuapi_DsReplicaGetInfo");
15043 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15045 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15047 ndr_print_drsuapi_DsReplicaGetInfoLevel(ndr
, "level", r
->in
.level
);
15048 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15050 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15051 ndr_print_drsuapi_DsReplicaGetInfoRequest(ndr
, "req", r
->in
.req
);
15055 if (flags
& NDR_OUT
) {
15056 ndr_print_struct(ndr
, "out", "drsuapi_DsReplicaGetInfo");
15058 ndr_print_ptr(ndr
, "info_type", r
->out
.info_type
);
15060 ndr_print_drsuapi_DsReplicaInfoType(ndr
, "info_type", *r
->out
.info_type
);
15062 ndr_print_ptr(ndr
, "info", r
->out
.info
);
15064 ndr_print_set_switch_value(ndr
, r
->out
.info
, *r
->out
.info_type
);
15065 ndr_print_drsuapi_DsReplicaInfo(ndr
, "info", r
->out
.info
);
15067 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15073 static enum ndr_err_code
ndr_push_DRSUAPI_ADD_SID_HISTORY(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15075 if (flags
& NDR_IN
) {
15077 if (flags
& NDR_OUT
) {
15078 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15080 return NDR_ERR_SUCCESS
;
15083 static enum ndr_err_code
ndr_pull_DRSUAPI_ADD_SID_HISTORY(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_ADD_SID_HISTORY
*r
)
15085 if (flags
& NDR_IN
) {
15087 if (flags
& NDR_OUT
) {
15088 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15090 return NDR_ERR_SUCCESS
;
15093 _PUBLIC_
void ndr_print_DRSUAPI_ADD_SID_HISTORY(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_ADD_SID_HISTORY
*r
)
15095 ndr_print_struct(ndr
, name
, "DRSUAPI_ADD_SID_HISTORY");
15097 if (flags
& NDR_SET_VALUES
) {
15098 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15100 if (flags
& NDR_IN
) {
15101 ndr_print_struct(ndr
, "in", "DRSUAPI_ADD_SID_HISTORY");
15105 if (flags
& NDR_OUT
) {
15106 ndr_print_struct(ndr
, "out", "DRSUAPI_ADD_SID_HISTORY");
15108 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15114 static enum ndr_err_code
ndr_push_drsuapi_DsGetMemberships2(struct ndr_push
*ndr
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15116 if (flags
& NDR_IN
) {
15117 if (r
->in
.bind_handle
== NULL
) {
15118 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15120 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15121 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15122 if (r
->in
.req
== NULL
) {
15123 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15125 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15126 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15128 if (flags
& NDR_OUT
) {
15129 if (r
->out
.level_out
== NULL
) {
15130 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15132 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15133 if (r
->out
.ctr
== NULL
) {
15134 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15136 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15137 NDR_CHECK(ndr_push_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15138 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15140 return NDR_ERR_SUCCESS
;
15143 static enum ndr_err_code
ndr_pull_drsuapi_DsGetMemberships2(struct ndr_pull
*ndr
, int flags
, struct drsuapi_DsGetMemberships2
*r
)
15145 TALLOC_CTX
*_mem_save_bind_handle_0
;
15146 TALLOC_CTX
*_mem_save_req_0
;
15147 TALLOC_CTX
*_mem_save_level_out_0
;
15148 TALLOC_CTX
*_mem_save_ctr_0
;
15149 if (flags
& NDR_IN
) {
15150 ZERO_STRUCT(r
->out
);
15152 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15153 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15155 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15156 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15157 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15158 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15159 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15160 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15161 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15163 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15164 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15165 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15166 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Request(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15167 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15168 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15169 ZERO_STRUCTP(r
->out
.level_out
);
15170 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15171 ZERO_STRUCTP(r
->out
.ctr
);
15173 if (flags
& NDR_OUT
) {
15174 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15175 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15177 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15178 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15179 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15180 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15181 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15182 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15184 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15185 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15186 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15187 NDR_CHECK(ndr_pull_drsuapi_DsGetMemberships2Ctr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15188 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15189 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15191 return NDR_ERR_SUCCESS
;
15194 _PUBLIC_
void ndr_print_drsuapi_DsGetMemberships2(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_DsGetMemberships2
*r
)
15196 ndr_print_struct(ndr
, name
, "drsuapi_DsGetMemberships2");
15198 if (flags
& NDR_SET_VALUES
) {
15199 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15201 if (flags
& NDR_IN
) {
15202 ndr_print_struct(ndr
, "in", "drsuapi_DsGetMemberships2");
15204 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15206 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15208 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15209 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15211 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15212 ndr_print_drsuapi_DsGetMemberships2Request(ndr
, "req", r
->in
.req
);
15216 if (flags
& NDR_OUT
) {
15217 ndr_print_struct(ndr
, "out", "drsuapi_DsGetMemberships2");
15219 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15221 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15223 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15225 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15226 ndr_print_drsuapi_DsGetMemberships2Ctr(ndr
, "ctr", r
->out
.ctr
);
15228 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15234 static enum ndr_err_code
ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15236 if (flags
& NDR_IN
) {
15238 if (flags
& NDR_OUT
) {
15239 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15241 return NDR_ERR_SUCCESS
;
15244 static enum ndr_err_code
ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15246 if (flags
& NDR_IN
) {
15248 if (flags
& NDR_OUT
) {
15249 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15251 return NDR_ERR_SUCCESS
;
15254 _PUBLIC_
void ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_REPLICA_VERIFY_OBJECTS
*r
)
15256 ndr_print_struct(ndr
, name
, "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15258 if (flags
& NDR_SET_VALUES
) {
15259 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15261 if (flags
& NDR_IN
) {
15262 ndr_print_struct(ndr
, "in", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15266 if (flags
& NDR_OUT
) {
15267 ndr_print_struct(ndr
, "out", "DRSUAPI_REPLICA_VERIFY_OBJECTS");
15269 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15275 static enum ndr_err_code
ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_push
*ndr
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15277 if (flags
& NDR_IN
) {
15279 if (flags
& NDR_OUT
) {
15280 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15282 return NDR_ERR_SUCCESS
;
15285 static enum ndr_err_code
ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_pull
*ndr
, int flags
, struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15287 if (flags
& NDR_IN
) {
15289 if (flags
& NDR_OUT
) {
15290 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15292 return NDR_ERR_SUCCESS
;
15295 _PUBLIC_
void ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE(struct ndr_print
*ndr
, const char *name
, int flags
, const struct DRSUAPI_GET_OBJECT_EXISTENCE
*r
)
15297 ndr_print_struct(ndr
, name
, "DRSUAPI_GET_OBJECT_EXISTENCE");
15299 if (flags
& NDR_SET_VALUES
) {
15300 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15302 if (flags
& NDR_IN
) {
15303 ndr_print_struct(ndr
, "in", "DRSUAPI_GET_OBJECT_EXISTENCE");
15307 if (flags
& NDR_OUT
) {
15308 ndr_print_struct(ndr
, "out", "DRSUAPI_GET_OBJECT_EXISTENCE");
15310 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15316 static enum ndr_err_code
ndr_push_drsuapi_QuerySitesByCost(struct ndr_push
*ndr
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15318 if (flags
& NDR_IN
) {
15319 if (r
->in
.bind_handle
== NULL
) {
15320 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15322 NDR_CHECK(ndr_push_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15323 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, r
->in
.level
));
15324 if (r
->in
.req
== NULL
) {
15325 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15327 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15328 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15330 if (flags
& NDR_OUT
) {
15331 if (r
->out
.level_out
== NULL
) {
15332 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15334 NDR_CHECK(ndr_push_uint32(ndr
, NDR_SCALARS
, *r
->out
.level_out
));
15335 if (r
->out
.ctr
== NULL
) {
15336 return ndr_push_error(ndr
, NDR_ERR_INVALID_POINTER
, "NULL [ref] pointer");
15338 NDR_CHECK(ndr_push_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15339 NDR_CHECK(ndr_push_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15340 NDR_CHECK(ndr_push_WERROR(ndr
, NDR_SCALARS
, r
->out
.result
));
15342 return NDR_ERR_SUCCESS
;
15345 static enum ndr_err_code
ndr_pull_drsuapi_QuerySitesByCost(struct ndr_pull
*ndr
, int flags
, struct drsuapi_QuerySitesByCost
*r
)
15347 TALLOC_CTX
*_mem_save_bind_handle_0
;
15348 TALLOC_CTX
*_mem_save_req_0
;
15349 TALLOC_CTX
*_mem_save_level_out_0
;
15350 TALLOC_CTX
*_mem_save_ctr_0
;
15351 if (flags
& NDR_IN
) {
15352 ZERO_STRUCT(r
->out
);
15354 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15355 NDR_PULL_ALLOC(ndr
, r
->in
.bind_handle
);
15357 _mem_save_bind_handle_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15358 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.bind_handle
, LIBNDR_FLAG_REF_ALLOC
);
15359 NDR_CHECK(ndr_pull_policy_handle(ndr
, NDR_SCALARS
, r
->in
.bind_handle
));
15360 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_bind_handle_0
, LIBNDR_FLAG_REF_ALLOC
);
15361 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, &r
->in
.level
));
15362 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15363 NDR_PULL_ALLOC(ndr
, r
->in
.req
);
15365 _mem_save_req_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15366 NDR_PULL_SET_MEM_CTX(ndr
, r
->in
.req
, LIBNDR_FLAG_REF_ALLOC
);
15367 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
));
15368 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostRequest(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->in
.req
));
15369 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_req_0
, LIBNDR_FLAG_REF_ALLOC
);
15370 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15371 ZERO_STRUCTP(r
->out
.level_out
);
15372 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15373 ZERO_STRUCTP(r
->out
.ctr
);
15375 if (flags
& NDR_OUT
) {
15376 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15377 NDR_PULL_ALLOC(ndr
, r
->out
.level_out
);
15379 _mem_save_level_out_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15380 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.level_out
, LIBNDR_FLAG_REF_ALLOC
);
15381 NDR_CHECK(ndr_pull_uint32(ndr
, NDR_SCALARS
, r
->out
.level_out
));
15382 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_level_out_0
, LIBNDR_FLAG_REF_ALLOC
);
15383 if (ndr
->flags
& LIBNDR_FLAG_REF_ALLOC
) {
15384 NDR_PULL_ALLOC(ndr
, r
->out
.ctr
);
15386 _mem_save_ctr_0
= NDR_PULL_GET_MEM_CTX(ndr
);
15387 NDR_PULL_SET_MEM_CTX(ndr
, r
->out
.ctr
, LIBNDR_FLAG_REF_ALLOC
);
15388 NDR_CHECK(ndr_pull_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
));
15389 NDR_CHECK(ndr_pull_drsuapi_QuerySitesByCostCtr(ndr
, NDR_SCALARS
|NDR_BUFFERS
, r
->out
.ctr
));
15390 NDR_PULL_SET_MEM_CTX(ndr
, _mem_save_ctr_0
, LIBNDR_FLAG_REF_ALLOC
);
15391 NDR_CHECK(ndr_pull_WERROR(ndr
, NDR_SCALARS
, &r
->out
.result
));
15393 return NDR_ERR_SUCCESS
;
15396 _PUBLIC_
void ndr_print_drsuapi_QuerySitesByCost(struct ndr_print
*ndr
, const char *name
, int flags
, const struct drsuapi_QuerySitesByCost
*r
)
15398 ndr_print_struct(ndr
, name
, "drsuapi_QuerySitesByCost");
15400 if (flags
& NDR_SET_VALUES
) {
15401 ndr
->flags
|= LIBNDR_PRINT_SET_VALUES
;
15403 if (flags
& NDR_IN
) {
15404 ndr_print_struct(ndr
, "in", "drsuapi_QuerySitesByCost");
15406 ndr_print_ptr(ndr
, "bind_handle", r
->in
.bind_handle
);
15408 ndr_print_policy_handle(ndr
, "bind_handle", r
->in
.bind_handle
);
15410 ndr_print_uint32(ndr
, "level", r
->in
.level
);
15411 ndr_print_ptr(ndr
, "req", r
->in
.req
);
15413 ndr_print_set_switch_value(ndr
, r
->in
.req
, r
->in
.level
);
15414 ndr_print_drsuapi_QuerySitesByCostRequest(ndr
, "req", r
->in
.req
);
15418 if (flags
& NDR_OUT
) {
15419 ndr_print_struct(ndr
, "out", "drsuapi_QuerySitesByCost");
15421 ndr_print_ptr(ndr
, "level_out", r
->out
.level_out
);
15423 ndr_print_uint32(ndr
, "level_out", *r
->out
.level_out
);
15425 ndr_print_ptr(ndr
, "ctr", r
->out
.ctr
);
15427 ndr_print_set_switch_value(ndr
, r
->out
.ctr
, *r
->out
.level_out
);
15428 ndr_print_drsuapi_QuerySitesByCostCtr(ndr
, "ctr", r
->out
.ctr
);
15430 ndr_print_WERROR(ndr
, "result", r
->out
.result
);
15436 static const struct ndr_interface_call drsuapi_calls
[] = {
15439 sizeof(struct drsuapi_DsBind
),
15440 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsBind
,
15441 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsBind
,
15442 (ndr_print_function_t
) ndr_print_drsuapi_DsBind
,
15446 "drsuapi_DsUnbind",
15447 sizeof(struct drsuapi_DsUnbind
),
15448 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsUnbind
,
15449 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsUnbind
,
15450 (ndr_print_function_t
) ndr_print_drsuapi_DsUnbind
,
15454 "drsuapi_DsReplicaSync",
15455 sizeof(struct drsuapi_DsReplicaSync
),
15456 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaSync
,
15457 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaSync
,
15458 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaSync
,
15462 "drsuapi_DsGetNCChanges",
15463 sizeof(struct drsuapi_DsGetNCChanges
),
15464 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNCChanges
,
15465 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNCChanges
,
15466 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNCChanges
,
15470 "drsuapi_DsReplicaUpdateRefs",
15471 sizeof(struct drsuapi_DsReplicaUpdateRefs
),
15472 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaUpdateRefs
,
15473 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaUpdateRefs
,
15474 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaUpdateRefs
,
15478 "drsuapi_DsReplicaAdd",
15479 sizeof(struct drsuapi_DsReplicaAdd
),
15480 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaAdd
,
15481 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaAdd
,
15482 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaAdd
,
15486 "drsuapi_DsReplicaDel",
15487 sizeof(struct drsuapi_DsReplicaDel
),
15488 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaDel
,
15489 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaDel
,
15490 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaDel
,
15494 "drsuapi_DsReplicaMod",
15495 sizeof(struct drsuapi_DsReplicaMod
),
15496 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaMod
,
15497 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaMod
,
15498 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaMod
,
15502 "DRSUAPI_VERIFY_NAMES",
15503 sizeof(struct DRSUAPI_VERIFY_NAMES
),
15504 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_VERIFY_NAMES
,
15505 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_VERIFY_NAMES
,
15506 (ndr_print_function_t
) ndr_print_DRSUAPI_VERIFY_NAMES
,
15510 "drsuapi_DsGetMemberships",
15511 sizeof(struct drsuapi_DsGetMemberships
),
15512 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships
,
15513 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships
,
15514 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships
,
15518 "DRSUAPI_INTER_DOMAIN_MOVE",
15519 sizeof(struct DRSUAPI_INTER_DOMAIN_MOVE
),
15520 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_INTER_DOMAIN_MOVE
,
15521 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_INTER_DOMAIN_MOVE
,
15522 (ndr_print_function_t
) ndr_print_DRSUAPI_INTER_DOMAIN_MOVE
,
15526 "drsuapi_DsGetNT4ChangeLog",
15527 sizeof(struct drsuapi_DsGetNT4ChangeLog
),
15528 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetNT4ChangeLog
,
15529 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetNT4ChangeLog
,
15530 (ndr_print_function_t
) ndr_print_drsuapi_DsGetNT4ChangeLog
,
15534 "drsuapi_DsCrackNames",
15535 sizeof(struct drsuapi_DsCrackNames
),
15536 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsCrackNames
,
15537 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsCrackNames
,
15538 (ndr_print_function_t
) ndr_print_drsuapi_DsCrackNames
,
15542 "drsuapi_DsWriteAccountSpn",
15543 sizeof(struct drsuapi_DsWriteAccountSpn
),
15544 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsWriteAccountSpn
,
15545 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsWriteAccountSpn
,
15546 (ndr_print_function_t
) ndr_print_drsuapi_DsWriteAccountSpn
,
15550 "drsuapi_DsRemoveDSServer",
15551 sizeof(struct drsuapi_DsRemoveDSServer
),
15552 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsRemoveDSServer
,
15553 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsRemoveDSServer
,
15554 (ndr_print_function_t
) ndr_print_drsuapi_DsRemoveDSServer
,
15558 "DRSUAPI_REMOVE_DS_DOMAIN",
15559 sizeof(struct DRSUAPI_REMOVE_DS_DOMAIN
),
15560 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REMOVE_DS_DOMAIN
,
15561 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REMOVE_DS_DOMAIN
,
15562 (ndr_print_function_t
) ndr_print_DRSUAPI_REMOVE_DS_DOMAIN
,
15566 "drsuapi_DsGetDomainControllerInfo",
15567 sizeof(struct drsuapi_DsGetDomainControllerInfo
),
15568 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetDomainControllerInfo
,
15569 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetDomainControllerInfo
,
15570 (ndr_print_function_t
) ndr_print_drsuapi_DsGetDomainControllerInfo
,
15574 "drsuapi_DsAddEntry",
15575 sizeof(struct drsuapi_DsAddEntry
),
15576 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsAddEntry
,
15577 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsAddEntry
,
15578 (ndr_print_function_t
) ndr_print_drsuapi_DsAddEntry
,
15582 "drsuapi_DsExecuteKCC",
15583 sizeof(struct drsuapi_DsExecuteKCC
),
15584 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsExecuteKCC
,
15585 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsExecuteKCC
,
15586 (ndr_print_function_t
) ndr_print_drsuapi_DsExecuteKCC
,
15590 "drsuapi_DsReplicaGetInfo",
15591 sizeof(struct drsuapi_DsReplicaGetInfo
),
15592 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsReplicaGetInfo
,
15593 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsReplicaGetInfo
,
15594 (ndr_print_function_t
) ndr_print_drsuapi_DsReplicaGetInfo
,
15598 "DRSUAPI_ADD_SID_HISTORY",
15599 sizeof(struct DRSUAPI_ADD_SID_HISTORY
),
15600 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_ADD_SID_HISTORY
,
15601 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_ADD_SID_HISTORY
,
15602 (ndr_print_function_t
) ndr_print_DRSUAPI_ADD_SID_HISTORY
,
15606 "drsuapi_DsGetMemberships2",
15607 sizeof(struct drsuapi_DsGetMemberships2
),
15608 (ndr_push_flags_fn_t
) ndr_push_drsuapi_DsGetMemberships2
,
15609 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_DsGetMemberships2
,
15610 (ndr_print_function_t
) ndr_print_drsuapi_DsGetMemberships2
,
15614 "DRSUAPI_REPLICA_VERIFY_OBJECTS",
15615 sizeof(struct DRSUAPI_REPLICA_VERIFY_OBJECTS
),
15616 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15617 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15618 (ndr_print_function_t
) ndr_print_DRSUAPI_REPLICA_VERIFY_OBJECTS
,
15622 "DRSUAPI_GET_OBJECT_EXISTENCE",
15623 sizeof(struct DRSUAPI_GET_OBJECT_EXISTENCE
),
15624 (ndr_push_flags_fn_t
) ndr_push_DRSUAPI_GET_OBJECT_EXISTENCE
,
15625 (ndr_pull_flags_fn_t
) ndr_pull_DRSUAPI_GET_OBJECT_EXISTENCE
,
15626 (ndr_print_function_t
) ndr_print_DRSUAPI_GET_OBJECT_EXISTENCE
,
15630 "drsuapi_QuerySitesByCost",
15631 sizeof(struct drsuapi_QuerySitesByCost
),
15632 (ndr_push_flags_fn_t
) ndr_push_drsuapi_QuerySitesByCost
,
15633 (ndr_pull_flags_fn_t
) ndr_pull_drsuapi_QuerySitesByCost
,
15634 (ndr_print_function_t
) ndr_print_drsuapi_QuerySitesByCost
,
15637 { NULL
, 0, NULL
, NULL
, NULL
, false }
15640 static const char * const drsuapi_endpoint_strings
[] = {
15641 "ncacn_np:[\\pipe\\lsass]",
15642 "ncacn_np:[\\pipe\\protected_storage]",
15647 static const struct ndr_interface_string_array drsuapi_endpoints
= {
15649 .names
= drsuapi_endpoint_strings
15652 static const char * const drsuapi_authservice_strings
[] = {
15656 static const struct ndr_interface_string_array drsuapi_authservices
= {
15658 .names
= drsuapi_authservice_strings
15662 const struct ndr_interface_table ndr_table_drsuapi
= {
15665 {0xe3514235,0x4b06,0x11d1,{0xab,0x04},{0x00,0xc0,0x4f,0xc2,0xdc,0xd2}},
15666 NDR_DRSUAPI_VERSION
15668 .helpstring
= NDR_DRSUAPI_HELPSTRING
,
15670 .calls
= drsuapi_calls
,
15671 .endpoints
= &drsuapi_endpoints
,
15672 .authservices
= &drsuapi_authservices