Remove erroneous 'presult = NULL' changes. Now presult only gets set
[Samba/fernandojvsilva.git] / librpc / gen_ndr / drsuapi.h
blob96b0651c4f426de0f854b37567265c83ac2468b4
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/security.h"
8 #include "librpc/gen_ndr/misc.h"
9 #include "librpc/gen_ndr/samr.h"
10 #ifndef _HEADER_drsuapi
11 #define _HEADER_drsuapi
13 #define DRSUAPI_DS_BIND_GUID ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" )
14 #define DRSUAPI_DS_BIND_GUID_W2K ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" )
15 #define DRSUAPI_DS_BIND_GUID_W2K3 ( "6afab99c-6e26-464a-975f-f58f105218bc" )
16 #define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR ( 0x1 )
17 #define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
18 /* bitmap drsuapi_DrsOptions */
19 #define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 )
20 #define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 )
21 #define DRSUAPI_DRS_ADD_REF ( 0x00000004 )
22 #define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 )
23 #define DRSUAPI_DRS_DEL_REF ( 0x00000008 )
24 #define DRSUAPI_DRS_WRIT_REP ( 0x00000010 )
25 #define DRSUAPI_DRS_INIT_SYNC ( 0x00000020 )
26 #define DRSUAPI_DRS_PER_SYNC ( 0x00000040 )
27 #define DRSUAPI_DRS_MAIL_REP ( 0x00000080 )
28 #define DRSUAPI_DRS_ASYNC_REP ( 0x00000100 )
29 #define DRSUAPI_DRS_IGNORE_ERROR ( 0x00000100 )
30 #define DRSUAPI_DRS_TWOWAY_SYNC ( 0x00000200 )
31 #define DRSUAPI_DRS_CRITICAL_ONLY ( 0x00000400 )
32 #define DRSUAPI_DRS_GET_ANC ( 0x00000800 )
33 #define DRSUAPI_DRS_GET_NC_SIZE ( 0x00001000 )
34 #define DRSUAPI_DRS_LOCAL_ONLY ( 0x00001000 )
35 #define DRSUAPI_DRS_SYNC_BYNAME ( 0x00004000 )
36 #define DRSUAPI_DRS_REF_OK ( 0x00004000 )
37 #define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 )
38 #define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 )
39 #define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 )
40 #define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 )
41 #define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
42 #define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 )
43 #define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 )
44 #define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 )
45 #define DRSUAPI_DRS_USE_COMPRESSION ( 0x10000000 )
46 #define DRSUAPI_DRS_NEVER_NOTIFY ( 0x20000000 )
47 #define DRSUAPI_DRS_SYNC_PAS ( 0x40000000 )
48 #define DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP ( 0x80000000 )
50 /* bitmap drsuapi_SupportedExtensions */
51 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
52 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
53 #define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
54 #define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
55 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
56 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
57 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
58 #define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
59 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
60 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
61 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
62 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
63 #define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
64 #define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
65 #define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
66 #define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
67 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
68 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
69 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
70 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
71 #define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
72 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
73 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
74 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
75 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
76 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
77 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
78 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
79 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
80 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
81 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
82 #define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
83 #define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
84 #define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
86 /* bitmap drsuapi_SupportedExtensionsExt */
87 #define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
88 #define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
90 struct drsuapi_DsBindInfo24 {
91 uint32_t supported_extensions;
92 struct GUID site_guid;
93 uint32_t pid;
96 struct drsuapi_DsBindInfo28 {
97 uint32_t supported_extensions;
98 struct GUID site_guid;
99 uint32_t pid;
100 uint32_t repl_epoch;
103 struct drsuapi_DsBindInfo48 {
104 uint32_t supported_extensions;
105 struct GUID site_guid;
106 uint32_t pid;
107 uint32_t repl_epoch;
108 uint32_t supported_extensions_ext;
109 struct GUID config_dn_guid;
112 struct drsuapi_DsBindInfoFallBack {
113 DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
116 union drsuapi_DsBindInfo {
117 struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
118 struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
119 struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
120 struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
121 }/* [nodiscriminant] */;
123 struct drsuapi_DsBindInfoCtr {
124 uint32_t length;/* [range(1,10000)] */
125 union drsuapi_DsBindInfo info;/* [switch_is(length)] */
128 struct drsuapi_DsReplicaObjectIdentifier {
129 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */
130 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
131 struct GUID guid;
132 struct dom_sid28 sid;
133 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
134 const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
135 }/* [gensize,public] */;
137 /* bitmap drsuapi_DsReplicaSyncOptions */
138 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
139 #define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
140 #define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
141 #define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
142 #define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
143 #define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
144 #define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
145 #define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
146 #define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
147 #define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
148 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
149 #define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
150 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
151 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
152 #define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
153 #define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
154 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
155 #define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
156 #define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
157 #define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
158 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
159 #define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
160 #define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
161 #define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
163 struct drsuapi_DsReplicaSyncRequest1 {
164 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
165 struct GUID source_dsa_guid;
166 const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
167 uint32_t options;
170 union drsuapi_DsReplicaSyncRequest {
171 struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
172 }/* [switch_type(int32)] */;
174 struct drsuapi_DsReplicaHighWaterMark {
175 uint64_t tmp_highest_usn;
176 uint64_t reserved_usn;
177 uint64_t highest_usn;
178 }/* [public] */;
180 struct drsuapi_DsReplicaCursor {
181 struct GUID source_dsa_invocation_id;
182 uint64_t highest_usn;
183 }/* [public] */;
185 struct drsuapi_DsReplicaCursorCtrEx {
186 uint32_t version;/* [value] */
187 uint32_t reserved1;/* [value(0)] */
188 uint32_t count;/* [range(0,0x100000)] */
189 uint32_t reserved2;/* [value(0)] */
190 struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
193 /* bitmap drsuapi_DsReplicaNeighbourFlags */
194 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
195 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
196 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
197 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
198 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP ( 0x00000100 )
199 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR ( 0x00000100 )
200 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
201 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY ( 0x00000400 )
202 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
203 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00010000 )
204 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET ( 0x00020000 )
205 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
206 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
207 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
208 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
209 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
210 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
211 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
212 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
214 enum drsuapi_DsExtendedOperation
215 #ifndef USE_UINT_ENUMS
217 DRSUAPI_EXOP_NONE=(int)(0x00000000),
218 DRSUAPI_EXOP_FSMO_REQ_ROLE=(int)(0x00000001),
219 DRSUAPI_EXOP_FSMO_RID_ALLOC=(int)(0x00000002),
220 DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=(int)(0x00000003),
221 DRSUAPI_EXOP_FSMO_REQ_PDC=(int)(0x00000004),
222 DRSUAPI_EXOP_FSMO_ABANDON_ROLE=(int)(0x00000005),
223 DRSUAPI_EXOP_REPL_OBJ=(int)(0x00000006),
224 DRSUAPI_EXOP_REPL_SECRET=(int)(0x00000007)
226 #else
227 { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
228 #define DRSUAPI_EXOP_NONE ( 0x00000000 )
229 #define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
230 #define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
231 #define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
232 #define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
233 #define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
234 #define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
235 #define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
236 #endif
239 enum drsuapi_DsExtendedError
240 #ifndef USE_UINT_ENUMS
242 DRSUAPI_EXOP_ERR_NONE=(int)(0x00000000),
243 DRSUAPI_EXOP_ERR_SUCCESS=(int)(0x00000001),
244 DRSUAPI_EXOP_ERR_UNKNOWN_OP=(int)(0x00000002),
245 DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=(int)(0x00000003),
246 DRSUAPI_EXOP_ERR_UPDATE_ERR=(int)(0x00000004),
247 DRSUAPI_EXOP_ERR_EXCEPTION=(int)(0x00000005),
248 DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=(int)(0x00000006),
249 DRSUAPI_EXOP_ERR_RID_ALLOC=(int)(0x00000007),
250 DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=(int)(0x00000008),
251 DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=(int)(0x00000009),
252 DRSUAPI_EXOP_ERR_MISMATCH=(int)(0x0000000A),
253 DRSUAPI_EXOP_ERR_COULDNT_CONTACT=(int)(0x0000000B),
254 DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=(int)(0x0000000C),
255 DRSUAPI_EXOP_ERR_DIR_ERROR=(int)(0x0000000D),
256 DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=(int)(0x0000000E),
257 DRSUAPI_EXOP_ERR_ACCESS_DENIED=(int)(0x0000000F),
258 DRSUAPI_EXOP_ERR_PARAM_ERROR=(int)(0x00000010)
260 #else
261 { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
262 #define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
263 #define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
264 #define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
265 #define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
266 #define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
267 #define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
268 #define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
269 #define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
270 #define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
271 #define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
272 #define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
273 #define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
274 #define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
275 #define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
276 #define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
277 #define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
278 #define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
279 #endif
282 struct drsuapi_DsGetNCChangesRequest5 {
283 struct GUID destination_dsa_guid;
284 struct GUID source_dsa_invocation_id;
285 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
286 struct drsuapi_DsReplicaHighWaterMark highwatermark;
287 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
288 uint32_t replica_flags;
289 uint32_t max_object_count;
290 uint32_t max_ndr_size;
291 enum drsuapi_DsExtendedOperation extended_op;
292 uint64_t fsmo_info;
295 struct drsuapi_DsReplicaOID {
296 uint32_t length;/* [range(0,10000)] */
297 uint8_t *binary_oid;/* [unique,size_is(length)] */
298 }/* [noprint] */;
300 struct drsuapi_DsReplicaOIDMapping {
301 uint32_t id_prefix;
302 struct drsuapi_DsReplicaOID oid;
305 struct drsuapi_DsReplicaOIDMapping_Ctr {
306 uint32_t num_mappings;/* [range(0,0x100000)] */
307 struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */
308 }/* [public] */;
310 enum drsuapi_DsObjectClassId
311 #ifndef USE_UINT_ENUMS
313 DRSUAPI_OBJECTCLASS_top=(int)(0x00010000),
314 DRSUAPI_OBJECTCLASS_classSchema=(int)(0x0003000d),
315 DRSUAPI_OBJECTCLASS_attributeSchema=(int)(0x0003000e)
317 #else
318 { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
319 #define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
320 #define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
321 #define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
322 #endif
325 enum drsuapi_DsAttributeId
326 #ifndef USE_UINT_ENUMS
328 DRSUAPI_ATTRIBUTE_objectClass=(int)(0x00000000),
329 DRSUAPI_ATTRIBUTE_description=(int)(0x0000000d),
330 DRSUAPI_ATTRIBUTE_member=(int)(0x0000001f),
331 DRSUAPI_ATTRIBUTE_instanceType=(int)(0x00020001),
332 DRSUAPI_ATTRIBUTE_whenCreated=(int)(0x00020002),
333 DRSUAPI_ATTRIBUTE_possSuperiors=(int)(0x00020008),
334 DRSUAPI_ATTRIBUTE_hasMasterNCs=(int)(0x0002000e),
335 DRSUAPI_ATTRIBUTE_subClassOf=(int)(0x00020015),
336 DRSUAPI_ATTRIBUTE_governsID=(int)(0x00020016),
337 DRSUAPI_ATTRIBUTE_mustContain=(int)(0x00020018),
338 DRSUAPI_ATTRIBUTE_mayContain=(int)(0x00020019),
339 DRSUAPI_ATTRIBUTE_attributeID=(int)(0x0002001e),
340 DRSUAPI_ATTRIBUTE_attributeSyntax=(int)(0x00020020),
341 DRSUAPI_ATTRIBUTE_isSingleValued=(int)(0x00020021),
342 DRSUAPI_ATTRIBUTE_rangeLower=(int)(0x00020022),
343 DRSUAPI_ATTRIBUTE_rangeUpper=(int)(0x00020023),
344 DRSUAPI_ATTRIBUTE_dMDLocation=(int)(0x00020024),
345 DRSUAPI_ATTRIBUTE_objectVersion=(int)(0x0002004c),
346 DRSUAPI_ATTRIBUTE_invocationId=(int)(0x00020073),
347 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=(int)(0x000200a9),
348 DRSUAPI_ATTRIBUTE_adminDisplayName=(int)(0x000200c2),
349 DRSUAPI_ATTRIBUTE_adminDescription=(int)(0x000200e2),
350 DRSUAPI_ATTRIBUTE_oMSyntax=(int)(0x000200e7),
351 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=(int)(0x00020119),
352 DRSUAPI_ATTRIBUTE_searchFlags=(int)(0x0002014e),
353 DRSUAPI_ATTRIBUTE_auxiliaryClass=(int)(0x0002015f),
354 DRSUAPI_ATTRIBUTE_lDAPDisplayName=(int)(0x000201cc),
355 DRSUAPI_ATTRIBUTE_name=(int)(0x00090001),
356 DRSUAPI_ATTRIBUTE_userAccountControl=(int)(0x00090008),
357 DRSUAPI_ATTRIBUTE_currentValue=(int)(0x0009001b),
358 DRSUAPI_ATTRIBUTE_homeDirectory=(int)(0x0009002c),
359 DRSUAPI_ATTRIBUTE_homeDrive=(int)(0x0009002d),
360 DRSUAPI_ATTRIBUTE_scriptPath=(int)(0x0009003e),
361 DRSUAPI_ATTRIBUTE_profilePath=(int)(0x0009008b),
362 DRSUAPI_ATTRIBUTE_objectSid=(int)(0x00090092),
363 DRSUAPI_ATTRIBUTE_schemaIDGUID=(int)(0x00090094),
364 DRSUAPI_ATTRIBUTE_dBCSPwd=(int)(0x00090037),
365 DRSUAPI_ATTRIBUTE_logonHours=(int)(0x00090040),
366 DRSUAPI_ATTRIBUTE_userWorkstations=(int)(0x00090056),
367 DRSUAPI_ATTRIBUTE_unicodePwd=(int)(0x0009005a),
368 DRSUAPI_ATTRIBUTE_ntPwdHistory=(int)(0x0009005e),
369 DRSUAPI_ATTRIBUTE_priorValue=(int)(0x00090064),
370 DRSUAPI_ATTRIBUTE_supplementalCredentials=(int)(0x0009007d),
371 DRSUAPI_ATTRIBUTE_trustAuthIncoming=(int)(0x00090081),
372 DRSUAPI_ATTRIBUTE_trustAuthOutgoing=(int)(0x00090087),
373 DRSUAPI_ATTRIBUTE_lmPwdHistory=(int)(0x000900a0),
374 DRSUAPI_ATTRIBUTE_systemPossSuperiors=(int)(0x000900c3),
375 DRSUAPI_ATTRIBUTE_systemMayContain=(int)(0x000900c4),
376 DRSUAPI_ATTRIBUTE_systemMustContain=(int)(0x000900c5),
377 DRSUAPI_ATTRIBUTE_sAMAccountName=(int)(0x000900dd),
378 DRSUAPI_ATTRIBUTE_sAMAccountType=(int)(0x0009012e),
379 DRSUAPI_ATTRIBUTE_fSMORoleOwner=(int)(0x00090171),
380 DRSUAPI_ATTRIBUTE_systemFlags=(int)(0x00090177),
381 DRSUAPI_ATTRIBUTE_serverReference=(int)(0x00090203),
382 DRSUAPI_ATTRIBUTE_serverReferenceBL=(int)(0x00090204),
383 DRSUAPI_ATTRIBUTE_initialAuthIncoming=(int)(0x0009021b),
384 DRSUAPI_ATTRIBUTE_initialAuthOutgoing=(int)(0x0009021c),
385 DRSUAPI_ATTRIBUTE_wellKnownObjects=(int)(0x0009026a),
386 DRSUAPI_ATTRIBUTE_dNSHostName=(int)(0x0009026b),
387 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=(int)(0x0009027f),
388 DRSUAPI_ATTRIBUTE_userPrincipalName=(int)(0x00090290),
389 DRSUAPI_ATTRIBUTE_groupType=(int)(0x000902ee),
390 DRSUAPI_ATTRIBUTE_servicePrincipalName=(int)(0x00090303),
391 DRSUAPI_ATTRIBUTE_objectCategory=(int)(0x0009030e),
392 DRSUAPI_ATTRIBUTE_gPLink=(int)(0x0009037b),
393 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=(int)(0x000905b3),
394 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=(int)(0x000906f6),
395 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=(int)(0x0009071c),
396 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c)
398 #else
399 { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
400 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
401 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
402 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
403 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
404 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
405 #define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 )
406 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
407 #define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 )
408 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
409 #define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
410 #define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
411 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
412 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
413 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
414 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
415 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
416 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
417 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
418 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
419 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
420 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
421 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
422 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
423 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
424 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
425 #define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f )
426 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
427 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
428 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
429 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
430 #define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
431 #define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
432 #define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
433 #define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
434 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
435 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
436 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
437 #define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
438 #define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
439 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
440 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
441 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
442 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
443 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
444 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
445 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
446 #define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
447 #define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
448 #define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
449 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
450 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
451 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
452 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
453 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
454 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
455 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
456 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
457 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
458 #define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
459 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
460 #define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
461 #define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
462 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
463 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
464 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
465 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
466 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
467 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
468 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
469 #endif
472 struct drsuapi_DsPartialAttributeSet {
473 uint32_t version;/* [value] */
474 uint32_t reserved1;/* [value(0)] */
475 uint32_t num_attids;/* [range(1,0x100000)] */
476 enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */
479 struct drsuapi_DsGetNCChangesRequest8 {
480 struct GUID destination_dsa_guid;
481 struct GUID source_dsa_invocation_id;
482 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
483 struct drsuapi_DsReplicaHighWaterMark highwatermark;
484 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
485 uint32_t replica_flags;
486 uint32_t max_object_count;
487 uint32_t max_ndr_size;
488 enum drsuapi_DsExtendedOperation extended_op;
489 uint64_t fsmo_info;
490 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
491 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
492 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
495 struct drsuapi_DsGetNCChangesRequest10 {
496 struct GUID destination_dsa_guid;
497 struct GUID source_dsa_invocation_id;
498 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
499 struct drsuapi_DsReplicaHighWaterMark highwatermark;
500 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
501 uint32_t replica_flags;
502 uint32_t max_object_count;
503 uint32_t max_ndr_size;
504 enum drsuapi_DsExtendedOperation extended_op;
505 uint64_t fsmo_info;
506 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
507 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
508 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
509 uint32_t more_flags;
512 union drsuapi_DsGetNCChangesRequest {
513 struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
514 struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
515 struct drsuapi_DsGetNCChangesRequest10 req10;/* [case(10)] */
516 }/* [switch_type(int32)] */;
518 struct drsuapi_DsReplicaCursor2 {
519 struct GUID source_dsa_invocation_id;
520 uint64_t highest_usn;
521 NTTIME last_sync_success;
522 }/* [public] */;
524 struct drsuapi_DsReplicaCursor2CtrEx {
525 uint32_t version;/* [value(2)] */
526 uint32_t reserved1;/* [value(0)] */
527 uint32_t count;/* [range(0,0x100000)] */
528 uint32_t reserved2;/* [value(0)] */
529 struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */
532 struct drsuapi_DsAttributeValue {
533 uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
534 DATA_BLOB *blob;/* [unique] */
537 struct drsuapi_DsAttributeValueCtr {
538 uint32_t num_values;/* [range(0,10485760)] */
539 struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */
542 struct drsuapi_DsReplicaObjectIdentifier3 {
543 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
544 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
545 struct GUID guid;
546 struct dom_sid28 sid;
547 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
548 const char *dn;/* [charset(UTF16)] */
549 }/* [gensize,public] */;
551 struct drsuapi_DsReplicaObjectIdentifier3Binary {
552 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
553 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
554 struct GUID guid;
555 struct dom_sid28 sid;
556 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
557 const char *dn;/* [charset(UTF16)] */
558 uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
559 DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
560 }/* [gensize,public] */;
562 struct drsuapi_DsReplicaAttribute {
563 enum drsuapi_DsAttributeId attid;
564 struct drsuapi_DsAttributeValueCtr value_ctr;
565 }/* [public] */;
567 struct drsuapi_DsReplicaAttributeCtr {
568 uint32_t num_attributes;/* [range(0,1048576)] */
569 struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */
572 /* bitmap drsuapi_DsReplicaObjectFlags */
573 #define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
574 #define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
575 #define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
577 struct drsuapi_DsReplicaObject {
578 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
579 uint32_t flags;
580 struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
581 }/* [public] */;
583 struct drsuapi_DsReplicaMetaData {
584 uint32_t version;
585 NTTIME originating_change_time;
586 struct GUID originating_invocation_id;
587 uint64_t originating_usn;
590 struct drsuapi_DsReplicaMetaDataCtr {
591 uint32_t count;/* [range(0,1048576)] */
592 struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */
593 }/* [public] */;
595 struct drsuapi_DsReplicaObjectListItemEx {
596 struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
597 struct drsuapi_DsReplicaObject object;
598 uint32_t is_nc_prefix;
599 struct GUID *parent_object_guid;/* [unique] */
600 struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */
601 }/* [noprint,public] */;
603 struct drsuapi_DsGetNCChangesCtr1 {
604 struct GUID source_dsa_guid;
605 struct GUID source_dsa_invocation_id;
606 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
607 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
608 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
609 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
610 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
611 enum drsuapi_DsExtendedError extended_ret;
612 uint32_t object_count;
613 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
614 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
615 uint32_t more_data;
616 }/* [gensize,public] */;
618 /* bitmap drsuapi_DsLinkedAttributeFlags */
619 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
621 struct drsuapi_DsReplicaLinkedAttribute {
622 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
623 enum drsuapi_DsAttributeId attid;
624 struct drsuapi_DsAttributeValue value;
625 uint32_t flags;
626 NTTIME originating_add_time;
627 struct drsuapi_DsReplicaMetaData meta_data;
628 }/* [public] */;
630 struct drsuapi_DsGetNCChangesCtr6 {
631 struct GUID source_dsa_guid;
632 struct GUID source_dsa_invocation_id;
633 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
634 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
635 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
636 struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */
637 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
638 enum drsuapi_DsExtendedError extended_ret;
639 uint32_t object_count;
640 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
641 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
642 uint32_t more_data;
643 uint32_t nc_object_count;
644 uint32_t nc_linked_attributes_count;
645 uint32_t linked_attributes_count;/* [range(0,1048576)] */
646 struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
647 WERROR drs_error;
648 }/* [gensize,public] */;
650 struct drsuapi_DsGetNCChangesCtr1TS {
651 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */
652 }/* [public] */;
654 struct drsuapi_DsGetNCChangesCtr6TS {
655 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */
656 }/* [public] */;
658 struct drsuapi_DsGetNCChangesMSZIPCtr1 {
659 uint32_t decompressed_length;
660 uint32_t compressed_length;
661 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
662 }/* [nopush] */;
664 struct drsuapi_DsGetNCChangesMSZIPCtr6 {
665 uint32_t decompressed_length;
666 uint32_t compressed_length;
667 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
668 }/* [nopush] */;
670 struct drsuapi_DsGetNCChangesXPRESSCtr1 {
671 uint32_t decompressed_length;
672 uint32_t compressed_length;
673 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
674 }/* [nopush] */;
676 struct drsuapi_DsGetNCChangesXPRESSCtr6 {
677 uint32_t decompressed_length;
678 uint32_t compressed_length;
679 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
680 }/* [nopush] */;
682 enum drsuapi_DsGetNCChangesCompressionType
683 #ifndef USE_UINT_ENUMS
685 DRSUAPI_COMPRESSION_TYPE_MSZIP=(int)(2),
686 DRSUAPI_COMPRESSION_TYPE_XPRESS=(int)(3)
688 #else
689 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
690 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
691 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
692 #endif
695 union drsuapi_DsGetNCChangesCompressedCtr {
696 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
697 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
698 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
699 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
700 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
702 struct drsuapi_DsGetNCChangesCtr2 {
703 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;
706 struct drsuapi_DsGetNCChangesCtr7 {
707 int32_t level;/* [range(0,6)] */
708 enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */
709 union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */
712 union drsuapi_DsGetNCChangesCtr {
713 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */
714 struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */
715 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */
716 struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
717 }/* [switch_type(int32)] */;
719 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
720 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
721 #define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
722 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
723 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
724 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
726 struct drsuapi_DsReplicaUpdateRefsRequest1 {
727 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
728 const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
729 struct GUID dest_dsa_guid;
730 uint32_t options;
733 union drsuapi_DsReplicaUpdateRefsRequest {
734 struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
735 }/* [switch_type(int32)] */;
737 /* bitmap drsuapi_DsReplicaAddOptions */
738 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
739 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
741 struct drsuapi_DsReplicaAddRequest1 {
742 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
743 const char *source_dsa_address;/* [unique,charset(UTF16)] */
744 uint8_t schedule[84];
745 uint32_t options;
748 struct drsuapi_DsReplicaAddRequest2 {
749 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
750 struct drsuapi_DsReplicaObjectIdentifier *source_dsa_dn;/* [unique] */
751 struct drsuapi_DsReplicaObjectIdentifier *transport_dn;/* [unique] */
752 const char *source_dsa_address;/* [unique,charset(UTF16)] */
753 uint8_t schedule[84];
754 uint32_t options;
757 union drsuapi_DsReplicaAddRequest {
758 struct drsuapi_DsReplicaAddRequest1 req1;/* [case] */
759 struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
760 }/* [switch_type(int32)] */;
762 /* bitmap drsuapi_DsReplicaDeleteOptions */
763 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
764 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
766 struct drsuapi_DsReplicaDelRequest1 {
767 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
768 const char *source_dsa_address;/* [unique,charset(UTF16)] */
769 uint32_t options;
772 union drsuapi_DsReplicaDelRequest {
773 struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
774 }/* [switch_type(int32)] */;
776 /* bitmap drsuapi_DsReplicaModifyOptions */
777 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
778 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
780 struct drsuapi_DsReplicaModRequest1 {
781 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
782 struct GUID source_dra;
783 const char *source_dra_address;/* [unique,charset(UTF16)] */
784 uint8_t schedule[84];
785 uint32_t replica_flags;
786 uint32_t modify_fields;
787 uint32_t options;
790 union drsuapi_DsReplicaModRequest {
791 struct drsuapi_DsReplicaModRequest1 req1;/* [case] */
792 }/* [switch_type(int32)] */;
794 enum drsuapi_DsMembershipType
795 #ifndef USE_UINT_ENUMS
797 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=(int)(1),
798 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=(int)(2),
799 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=(int)(3),
800 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=(int)(4),
801 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=(int)(5),
802 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=(int)(6),
803 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=(int)(7)
805 #else
806 { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
807 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
808 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
809 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
810 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
811 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
812 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
813 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
814 #endif
817 struct drsuapi_DsGetMembershipsCtr1 {
818 NTSTATUS status;
819 uint32_t num_memberships;/* [range(0,10000)] */
820 uint32_t num_sids;/* [range(0,10000)] */
821 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */
822 uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */
823 struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */
826 union drsuapi_DsGetMembershipsCtr {
827 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
828 }/* [switch_type(int32)] */;
830 struct drsuapi_DsGetMembershipsRequest1 {
831 uint32_t count;/* [range(1,10000)] */
832 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
833 uint32_t flags;
834 enum drsuapi_DsMembershipType type;
835 struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
838 union drsuapi_DsGetMembershipsRequest {
839 struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */
840 }/* [switch_type(int32)] */;
842 struct drsuapi_DsGetNT4ChangeLogRequest1 {
843 uint32_t unknown1;
844 uint32_t unknown2;
845 uint32_t length;/* [range(0,0x00A00000)] */
846 uint8_t *data;/* [unique,size_is(length)] */
849 union drsuapi_DsGetNT4ChangeLogRequest {
850 struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */
851 }/* [switch_type(uint32)] */;
853 struct drsuapi_DsGetNT4ChangeLogInfo1 {
854 uint32_t length1;/* [range(0,0x00A00000)] */
855 uint32_t length2;/* [range(0,0x00A00000)] */
856 uint64_t unknown1;
857 NTTIME time2;
858 uint64_t unknown3;
859 NTTIME time4;
860 uint64_t unknown5;
861 NTTIME time6;
862 NTSTATUS status;
863 uint8_t *data1;/* [unique,size_is(length1)] */
864 uint8_t *data2;/* [unique,size_is(length2)] */
867 union drsuapi_DsGetNT4ChangeLogInfo {
868 struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */
869 }/* [switch_type(uint32)] */;
871 enum drsuapi_DsNameStatus
872 #ifndef USE_UINT_ENUMS
874 DRSUAPI_DS_NAME_STATUS_OK=(int)(0),
875 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=(int)(1),
876 DRSUAPI_DS_NAME_STATUS_NOT_FOUND=(int)(2),
877 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=(int)(3),
878 DRSUAPI_DS_NAME_STATUS_NO_MAPPING=(int)(4),
879 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=(int)(5),
880 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=(int)(6),
881 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=(int)(7)
883 #else
884 { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
885 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
886 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
887 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
888 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
889 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
890 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
891 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
892 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
893 #endif
896 enum drsuapi_DsNameFlags
897 #ifndef USE_UINT_ENUMS
899 DRSUAPI_DS_NAME_FLAG_NO_FLAGS=(int)(0x0),
900 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=(int)(0x1),
901 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=(int)(0x2),
902 DRSUAPI_DS_NAME_FLAG_GCVERIFY=(int)(0x4),
903 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=(int)(0x8)
905 #else
906 { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
907 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
908 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
909 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
910 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
911 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
912 #endif
915 enum drsuapi_DsNameFormat
916 #ifndef USE_UINT_ENUMS
918 DRSUAPI_DS_NAME_FORMAT_UNKNOWN=(int)(0),
919 DRSUAPI_DS_NAME_FORMAT_FQDN_1779=(int)(1),
920 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=(int)(2),
921 DRSUAPI_DS_NAME_FORMAT_DISPLAY=(int)(3),
922 DRSUAPI_DS_NAME_FORMAT_GUID=(int)(6),
923 DRSUAPI_DS_NAME_FORMAT_CANONICAL=(int)(7),
924 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=(int)(8),
925 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=(int)(9),
926 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=(int)(10),
927 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=(int)(11),
928 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=(int)(12)
930 #else
931 { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
932 #define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
933 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
934 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
935 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
936 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
937 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
938 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
939 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
940 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
941 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
942 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
943 #endif
946 struct drsuapi_DsNameString {
947 const char *str;/* [unique,charset(UTF16)] */
950 struct drsuapi_DsNameRequest1 {
951 uint32_t codepage;
952 uint32_t language;
953 enum drsuapi_DsNameFlags format_flags;
954 enum drsuapi_DsNameFormat format_offered;
955 enum drsuapi_DsNameFormat format_desired;
956 uint32_t count;/* [range(1,10000)] */
957 struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */
960 union drsuapi_DsNameRequest {
961 struct drsuapi_DsNameRequest1 req1;/* [case] */
962 }/* [switch_type(int32)] */;
964 struct drsuapi_DsNameInfo1 {
965 enum drsuapi_DsNameStatus status;
966 const char *dns_domain_name;/* [unique,charset(UTF16)] */
967 const char *result_name;/* [unique,charset(UTF16)] */
970 struct drsuapi_DsNameCtr1 {
971 uint32_t count;
972 struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */
975 union drsuapi_DsNameCtr {
976 struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */
977 }/* [switch_type(int32)] */;
979 enum drsuapi_DsSpnOperation
980 #ifndef USE_UINT_ENUMS
982 DRSUAPI_DS_SPN_OPERATION_ADD=(int)(0),
983 DRSUAPI_DS_SPN_OPERATION_REPLACE=(int)(1),
984 DRSUAPI_DS_SPN_OPERATION_DELETE=(int)(2)
986 #else
987 { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
988 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
989 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
990 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
991 #endif
994 struct drsuapi_DsWriteAccountSpnRequest1 {
995 enum drsuapi_DsSpnOperation operation;
996 uint32_t unknown1;
997 const char *object_dn;/* [unique,charset(UTF16)] */
998 uint32_t count;/* [range(0,10000)] */
999 struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */
1002 union drsuapi_DsWriteAccountSpnRequest {
1003 struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */
1004 }/* [switch_type(int32)] */;
1006 struct drsuapi_DsWriteAccountSpnResult1 {
1007 WERROR status;
1010 union drsuapi_DsWriteAccountSpnResult {
1011 struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */
1012 }/* [switch_type(int32)] */;
1014 struct drsuapi_DsRemoveDSServerRequest1 {
1015 const char *server_dn;/* [unique,charset(UTF16)] */
1016 const char *domain_dn;/* [unique,charset(UTF16)] */
1017 uint32_t commit;
1020 union drsuapi_DsRemoveDSServerRequest {
1021 struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
1022 }/* [switch_type(int32)] */;
1024 struct drsuapi_DsRemoveDSServerResult1 {
1025 uint32_t last_dc_in_domain;
1028 union drsuapi_DsRemoveDSServerResult {
1029 struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */
1030 }/* [switch_type(int32)] */;
1032 struct drsuapi_DsGetDCInfoRequest1 {
1033 const char *domain_name;/* [unique,charset(UTF16)] */
1034 int32_t level;
1037 union drsuapi_DsGetDCInfoRequest {
1038 struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */
1039 }/* [switch_type(int32)] */;
1041 struct drsuapi_DsGetDCInfo1 {
1042 const char *netbios_name;/* [unique,charset(UTF16)] */
1043 const char *dns_name;/* [unique,charset(UTF16)] */
1044 const char *site_name;/* [unique,charset(UTF16)] */
1045 const char *computer_dn;/* [unique,charset(UTF16)] */
1046 const char *server_dn;/* [unique,charset(UTF16)] */
1047 uint32_t is_pdc;
1048 uint32_t is_enabled;
1051 struct drsuapi_DsGetDCInfoCtr1 {
1052 uint32_t count;/* [range(0,10000)] */
1053 struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */
1056 struct drsuapi_DsGetDCInfo2 {
1057 const char *netbios_name;/* [unique,charset(UTF16)] */
1058 const char *dns_name;/* [unique,charset(UTF16)] */
1059 const char *site_name;/* [unique,charset(UTF16)] */
1060 const char *site_dn;/* [unique,charset(UTF16)] */
1061 const char *computer_dn;/* [unique,charset(UTF16)] */
1062 const char *server_dn;/* [unique,charset(UTF16)] */
1063 const char *ntds_dn;/* [unique,charset(UTF16)] */
1064 uint32_t is_pdc;
1065 uint32_t is_enabled;
1066 uint32_t is_gc;
1067 struct GUID site_guid;
1068 struct GUID computer_guid;
1069 struct GUID server_guid;
1070 struct GUID ntds_guid;
1073 struct drsuapi_DsGetDCInfoCtr2 {
1074 uint32_t count;/* [range(0,10000)] */
1075 struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */
1078 struct drsuapi_DsGetDCInfo3 {
1079 const char *netbios_name;/* [unique,charset(UTF16)] */
1080 const char *dns_name;/* [unique,charset(UTF16)] */
1081 const char *site_name;/* [unique,charset(UTF16)] */
1082 const char *site_dn;/* [unique,charset(UTF16)] */
1083 const char *computer_dn;/* [unique,charset(UTF16)] */
1084 const char *server_dn;/* [unique,charset(UTF16)] */
1085 const char *ntds_dn;/* [unique,charset(UTF16)] */
1086 uint32_t is_pdc;
1087 uint32_t is_enabled;
1088 uint32_t is_gc;
1089 uint32_t is_rodc;
1090 struct GUID site_guid;
1091 struct GUID computer_guid;
1092 struct GUID server_guid;
1093 struct GUID ntds_guid;
1096 struct drsuapi_DsGetDCInfoCtr3 {
1097 uint32_t count;/* [range(0,10000)] */
1098 struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
1101 struct drsuapi_DsGetDCConnection01 {
1102 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1103 uint32_t unknown2;
1104 uint32_t connection_time;
1105 uint32_t unknown4;
1106 uint32_t unknown5;
1107 uint32_t unknown6;
1108 const char *client_account;/* [unique,charset(UTF16)] */
1111 struct drsuapi_DsGetDCConnectionCtr01 {
1112 uint32_t count;/* [range(0,10000)] */
1113 struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
1116 enum drsuapi_DsGetDCInfoCtrLevels
1117 #ifndef USE_UINT_ENUMS
1119 DRSUAPI_DC_INFO_CTR_1=(int)(1),
1120 DRSUAPI_DC_INFO_CTR_2=(int)(2),
1121 DRSUAPI_DC_INFO_CTR_3=(int)(3),
1122 DRSUAPI_DC_CONNECTION_CTR_01=(int)(-1)
1124 #else
1125 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
1126 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1127 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1128 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1129 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1130 #endif
1133 union drsuapi_DsGetDCInfoCtr {
1134 struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1135 struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1136 struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1137 struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1138 }/* [switch_type(int32)] */;
1140 struct drsuapi_DsReplicaObjectListItem {
1141 struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
1142 struct drsuapi_DsReplicaObject object;
1143 }/* [noprint,public] */;
1145 struct drsuapi_DsAddEntryRequest2 {
1146 struct drsuapi_DsReplicaObjectListItem first_object;
1149 union drsuapi_DsAddEntryRequest {
1150 struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
1151 }/* [switch_type(int32)] */;
1153 struct drsuapi_DsAddEntryErrorInfoX {
1154 uint32_t unknown1;
1155 WERROR status;
1156 uint32_t unknown2;
1157 uint16_t unknown3;
1160 struct drsuapi_DsAddEntryExtraErrorBuffer {
1161 uint32_t size;/* [range(0,10485760)] */
1162 uint8_t *data;/* [unique,size_is(size)] */
1165 struct drsuapi_DsAddEntryExtraError1 {
1166 struct drsuapi_DsAddEntryErrorInfoX error;
1167 enum drsuapi_DsAttributeId attid;
1168 uint32_t unknown2;
1169 struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
1172 struct drsuapi_DsAddEntryErrorListItem1 {
1173 struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
1174 struct drsuapi_DsAddEntryExtraError1 error;
1177 struct drsuapi_DsAddEntryErrorInfo1 {
1178 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1179 WERROR status;
1180 struct drsuapi_DsAddEntryErrorListItem1 first;
1183 union drsuapi_DsAddEntryErrorInfo {
1184 struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
1185 struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
1186 }/* [switch_type(uint32)] */;
1188 struct drsuapi_DsAddEntryError1 {
1189 WERROR status;
1190 uint32_t level;
1191 union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
1194 union drsuapi_DsAddEntryError {
1195 struct drsuapi_DsAddEntryError1 info1;/* [case] */
1196 }/* [switch_type(uint32)] */;
1198 struct drsuapi_DsReplicaObjectIdentifier2 {
1199 struct GUID guid;
1200 struct dom_sid28 sid;
1203 struct drsuapi_DsAddEntryCtr2 {
1204 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1205 uint32_t unknown1;
1206 struct drsuapi_DsAddEntryErrorInfoX error;
1207 uint32_t count;/* [range(0,10000)] */
1208 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1211 struct drsuapi_DsAddEntryCtr3 {
1212 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1213 uint32_t level;
1214 union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
1215 uint32_t count;/* [range(0,10000)] */
1216 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1219 union drsuapi_DsAddEntryCtr {
1220 struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
1221 struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
1222 }/* [switch_type(int32)] */;
1224 /* bitmap drsuapi_DsExecuteKCCFlags */
1225 #define DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
1226 #define DRSUAPI_DS_EXECUTE_KCC_DAMPED ( 0x00000002 )
1228 struct drsuapi_DsExecuteKCC1 {
1229 uint32_t taskID;
1230 uint32_t flags;
1233 union drsuapi_DsExecuteKCCRequest {
1234 struct drsuapi_DsExecuteKCC1 ctr1;/* [case] */
1235 }/* [switch_type(uint32)] */;
1237 enum drsuapi_DsReplicaGetInfoLevel
1238 #ifndef USE_UINT_ENUMS
1240 DRSUAPI_DS_REPLICA_GET_INFO=(int)(1),
1241 DRSUAPI_DS_REPLICA_GET_INFO2=(int)(2)
1243 #else
1244 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
1245 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1246 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1247 #endif
1250 enum drsuapi_DsReplicaInfoType
1251 #ifndef USE_UINT_ENUMS
1253 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=(int)(0),
1254 DRSUAPI_DS_REPLICA_INFO_CURSORS=(int)(1),
1255 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=(int)(2),
1256 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=(int)(3),
1257 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=(int)(4),
1258 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=(int)(5),
1259 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=(int)(6),
1260 DRSUAPI_DS_REPLICA_INFO_CURSORS2=(int)(7),
1261 DRSUAPI_DS_REPLICA_INFO_CURSORS3=(int)(8),
1262 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=(int)(9),
1263 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=(int)(10),
1264 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=(int)(-2),
1265 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=(int)(-4),
1266 DRSUAPI_DS_REPLICA_INFO_CURSORS05=(int)(-5),
1267 DRSUAPI_DS_REPLICA_INFO_06=(int)(-6)
1269 #else
1270 { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1271 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1272 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1273 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1274 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1275 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1276 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1277 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1278 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1279 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1280 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1281 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1282 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1283 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1284 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1285 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1286 #endif
1289 struct drsuapi_DsReplicaGetInfoRequest1 {
1290 enum drsuapi_DsReplicaInfoType info_type;
1291 const char *object_dn;/* [unique,charset(UTF16)] */
1292 struct GUID guid1;
1295 struct drsuapi_DsReplicaGetInfoRequest2 {
1296 enum drsuapi_DsReplicaInfoType info_type;
1297 const char *object_dn;/* [unique,charset(UTF16)] */
1298 struct GUID guid1;
1299 uint32_t unknown1;
1300 const char *string1;/* [unique,charset(UTF16)] */
1301 const char *string2;/* [unique,charset(UTF16)] */
1302 uint32_t unknown2;
1305 union drsuapi_DsReplicaGetInfoRequest {
1306 struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1307 struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1308 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1310 struct drsuapi_DsReplicaNeighbour {
1311 const char *naming_context_dn;/* [unique,charset(UTF16)] */
1312 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1313 const char *source_dsa_address;/* [unique,charset(UTF16)] */
1314 const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1315 uint32_t replica_flags;
1316 uint32_t reserved;
1317 struct GUID naming_context_obj_guid;
1318 struct GUID source_dsa_obj_guid;
1319 struct GUID source_dsa_invocation_id;
1320 struct GUID transport_obj_guid;
1321 uint64_t tmp_highest_usn;
1322 uint64_t highest_usn;
1323 NTTIME last_success;
1324 NTTIME last_attempt;
1325 WERROR result_last_attempt;
1326 uint32_t consecutive_sync_failures;
1329 struct drsuapi_DsReplicaNeighbourCtr {
1330 uint32_t count;
1331 uint32_t reserved;
1332 struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1335 struct drsuapi_DsReplicaCursorCtr {
1336 uint32_t count;
1337 uint32_t reserved;
1338 struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1341 struct drsuapi_DsReplicaObjMetaData {
1342 const char *attribute_name;/* [unique,charset(UTF16)] */
1343 uint32_t version;
1344 NTTIME originating_change_time;
1345 struct GUID originating_invocation_id;
1346 uint64_t originating_usn;
1347 uint64_t local_usn;
1350 struct drsuapi_DsReplicaObjMetaDataCtr {
1351 uint32_t count;
1352 uint32_t reserved;
1353 struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1356 struct drsuapi_DsReplicaKccDsaFailure {
1357 const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1358 struct GUID dsa_obj_guid;
1359 NTTIME first_failure;
1360 uint32_t num_failures;
1361 WERROR last_result;
1364 struct drsuapi_DsReplicaKccDsaFailuresCtr {
1365 uint32_t count;
1366 uint32_t reserved;
1367 struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1370 enum drsuapi_DsReplicaOpType
1371 #ifndef USE_UINT_ENUMS
1373 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=(int)(0),
1374 DRSUAPI_DS_REPLICA_OP_TYPE_ADD=(int)(1),
1375 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=(int)(2),
1376 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=(int)(3),
1377 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=(int)(4)
1379 #else
1380 { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1381 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1382 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1383 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1384 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1385 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1386 #endif
1389 union drsuapi_DsRplicaOpOptions {
1390 uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1391 uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1392 uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1393 uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1394 uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1395 uint32_t unknown;/* [default] */
1396 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1398 struct drsuapi_DsReplicaOp {
1399 NTTIME operation_start;
1400 uint32_t serial_num;
1401 uint32_t priority;
1402 enum drsuapi_DsReplicaOpType operation_type;
1403 union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1404 const char *nc_dn;/* [unique,charset(UTF16)] */
1405 const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1406 const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1407 struct GUID nc_obj_guid;
1408 struct GUID remote_dsa_obj_guid;
1411 struct drsuapi_DsReplicaOpCtr {
1412 NTTIME time;
1413 uint32_t count;
1414 struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1417 struct drsuapi_DsReplicaAttrValMetaData {
1418 const char *attribute_name;/* [unique,charset(UTF16)] */
1419 const char *object_dn;/* [unique,charset(UTF16)] */
1420 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1421 DATA_BLOB *binary;/* [unique] */
1422 NTTIME deleted;
1423 NTTIME created;
1424 uint32_t version;
1425 NTTIME originating_change_time;
1426 struct GUID originating_invocation_id;
1427 uint64_t originating_usn;
1428 uint64_t local_usn;
1431 struct drsuapi_DsReplicaAttrValMetaDataCtr {
1432 uint32_t count;
1433 int32_t enumeration_context;
1434 struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1437 struct drsuapi_DsReplicaCursor2Ctr {
1438 uint32_t count;
1439 int32_t enumeration_context;
1440 struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1443 struct drsuapi_DsReplicaCursor3 {
1444 struct GUID source_dsa_invocation_id;
1445 uint64_t highest_usn;
1446 NTTIME last_sync_success;
1447 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1450 struct drsuapi_DsReplicaCursor3Ctr {
1451 uint32_t count;
1452 int32_t enumeration_context;
1453 struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1456 struct drsuapi_DsReplicaObjMetaData2 {
1457 const char *attribute_name;/* [unique,charset(UTF16)] */
1458 uint32_t version;
1459 NTTIME originating_change_time;
1460 struct GUID originating_invocation_id;
1461 uint64_t originating_usn;
1462 uint64_t local_usn;
1463 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1466 struct drsuapi_DsReplicaObjMetaData2Ctr {
1467 uint32_t count;
1468 int32_t enumeration_context;
1469 struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1472 struct drsuapi_DsReplicaAttrValMetaData2 {
1473 const char *attribute_name;/* [unique,charset(UTF16)] */
1474 const char *object_dn;/* [unique,charset(UTF16)] */
1475 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1476 DATA_BLOB *binary;/* [unique] */
1477 NTTIME deleted;
1478 NTTIME created;
1479 uint32_t version;
1480 NTTIME originating_change_time;
1481 struct GUID originating_invocation_id;
1482 uint64_t originating_usn;
1483 uint64_t local_usn;
1484 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1487 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1488 uint32_t count;
1489 int32_t enumeration_context;
1490 struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1493 struct drsuapi_DsReplicaConnection04 {
1494 uint64_t u1;
1495 uint32_t u2;
1496 uint32_t u3;
1497 struct GUID bind_guid;
1498 NTTIME bind_time;
1499 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1500 uint32_t u5;
1503 struct drsuapi_DsReplicaConnection04Ctr {
1504 uint32_t count;/* [range(0,10000)] */
1505 uint32_t reserved;
1506 struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1509 struct drsuapi_DsReplica06 {
1510 const char *str1;/* [unique,charset(UTF16)] */
1511 uint32_t u1;
1512 uint32_t u2;
1513 uint32_t u3;
1514 uint32_t u4;
1515 uint32_t u5;
1516 uint64_t u6;
1517 uint32_t u7;
1520 struct drsuapi_DsReplica06Ctr {
1521 uint32_t count;/* [range(0,256)] */
1522 uint32_t reserved;
1523 struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1526 union drsuapi_DsReplicaInfo {
1527 struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1528 struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1529 struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1530 struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1531 struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1532 struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1533 struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1534 struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1535 struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1536 struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1537 struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1538 struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1539 struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1540 struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1541 struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1542 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1544 struct drsuapi_DsGetMemberships2Ctr1 {
1545 uint32_t num_entries;/* [range(0,10000)] */
1546 struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1549 union drsuapi_DsGetMemberships2Ctr {
1550 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1551 }/* [switch_type(int32)] */;
1553 struct drsuapi_DsGetMemberships2Request1 {
1554 uint32_t num_req;/* [range(1,10000)] */
1555 struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1558 union drsuapi_DsGetMemberships2Request {
1559 struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1560 }/* [switch_type(int32)] */;
1562 struct drsuapi_DsSiteCostInfo {
1563 WERROR error_code;
1564 uint32_t site_cost;
1567 struct drsuapi_QuerySitesByCostCtr1 {
1568 uint32_t num_info;/* [range(0,10000)] */
1569 struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1570 uint32_t unknown;
1573 union drsuapi_QuerySitesByCostCtr {
1574 struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1575 }/* [switch_type(int32)] */;
1577 struct drsuapi_QuerySitesByCostRequest1 {
1578 const char *site_from;/* [unique,charset(UTF16)] */
1579 uint32_t num_req;/* [range(1,10000)] */
1580 const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1581 uint32_t flags;
1584 union drsuapi_QuerySitesByCostRequest {
1585 struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1586 }/* [switch_type(int32)] */;
1589 struct drsuapi_DsBind {
1590 struct {
1591 struct GUID *bind_guid;/* [unique] */
1592 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1593 } in;
1595 struct {
1596 struct policy_handle *bind_handle;/* [ref] */
1597 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1598 WERROR result;
1599 } out;
1604 struct drsuapi_DsUnbind {
1605 struct {
1606 struct policy_handle *bind_handle;/* [ref] */
1607 } in;
1609 struct {
1610 struct policy_handle *bind_handle;/* [ref] */
1611 WERROR result;
1612 } out;
1617 struct drsuapi_DsReplicaSync {
1618 struct {
1619 struct policy_handle *bind_handle;/* [ref] */
1620 int32_t level;
1621 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1622 } in;
1624 struct {
1625 WERROR result;
1626 } out;
1631 struct drsuapi_DsGetNCChanges {
1632 struct {
1633 struct policy_handle *bind_handle;/* [ref] */
1634 int32_t level;
1635 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */
1636 } in;
1638 struct {
1639 int32_t *level_out;/* [ref] */
1640 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */
1641 WERROR result;
1642 } out;
1647 struct drsuapi_DsReplicaUpdateRefs {
1648 struct {
1649 struct policy_handle *bind_handle;/* [ref] */
1650 int32_t level;
1651 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1652 } in;
1654 struct {
1655 WERROR result;
1656 } out;
1661 struct drsuapi_DsReplicaAdd {
1662 struct {
1663 struct policy_handle *bind_handle;/* [ref] */
1664 int32_t level;
1665 union drsuapi_DsReplicaAddRequest req;/* [switch_is(level)] */
1666 } in;
1668 struct {
1669 WERROR result;
1670 } out;
1675 struct drsuapi_DsReplicaDel {
1676 struct {
1677 struct policy_handle *bind_handle;/* [ref] */
1678 int32_t level;
1679 union drsuapi_DsReplicaDelRequest req;/* [switch_is(level)] */
1680 } in;
1682 struct {
1683 WERROR result;
1684 } out;
1689 struct drsuapi_DsReplicaMod {
1690 struct {
1691 struct policy_handle *bind_handle;/* [ref] */
1692 int32_t level;
1693 union drsuapi_DsReplicaModRequest req;/* [switch_is(level)] */
1694 } in;
1696 struct {
1697 WERROR result;
1698 } out;
1703 struct DRSUAPI_VERIFY_NAMES {
1704 struct {
1705 WERROR result;
1706 } out;
1711 struct drsuapi_DsGetMemberships {
1712 struct {
1713 struct policy_handle *bind_handle;/* [ref] */
1714 int32_t level;
1715 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1716 } in;
1718 struct {
1719 int32_t *level_out;/* [ref] */
1720 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1721 WERROR result;
1722 } out;
1727 struct DRSUAPI_INTER_DOMAIN_MOVE {
1728 struct {
1729 WERROR result;
1730 } out;
1735 struct drsuapi_DsGetNT4ChangeLog {
1736 struct {
1737 struct policy_handle *bind_handle;/* [ref] */
1738 uint32_t level;
1739 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1740 } in;
1742 struct {
1743 uint32_t *level_out;/* [ref] */
1744 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1745 WERROR result;
1746 } out;
1751 struct drsuapi_DsCrackNames {
1752 struct {
1753 struct policy_handle *bind_handle;/* [ref] */
1754 int32_t level;
1755 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1756 } in;
1758 struct {
1759 int32_t *level_out;/* [ref] */
1760 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1761 WERROR result;
1762 } out;
1767 struct drsuapi_DsWriteAccountSpn {
1768 struct {
1769 struct policy_handle *bind_handle;/* [ref] */
1770 int32_t level;
1771 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1772 } in;
1774 struct {
1775 int32_t *level_out;/* [ref] */
1776 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1777 WERROR result;
1778 } out;
1783 struct drsuapi_DsRemoveDSServer {
1784 struct {
1785 struct policy_handle *bind_handle;/* [ref] */
1786 int32_t level;
1787 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1788 } in;
1790 struct {
1791 int32_t *level_out;/* [ref] */
1792 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1793 WERROR result;
1794 } out;
1799 struct DRSUAPI_REMOVE_DS_DOMAIN {
1800 struct {
1801 WERROR result;
1802 } out;
1807 struct drsuapi_DsGetDomainControllerInfo {
1808 struct {
1809 struct policy_handle *bind_handle;/* [ref] */
1810 int32_t level;
1811 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1812 } in;
1814 struct {
1815 int32_t *level_out;/* [ref] */
1816 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1817 WERROR result;
1818 } out;
1823 struct drsuapi_DsAddEntry {
1824 struct {
1825 struct policy_handle *bind_handle;/* [ref] */
1826 int32_t level;
1827 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1828 } in;
1830 struct {
1831 int32_t *level_out;/* [ref] */
1832 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1833 WERROR result;
1834 } out;
1839 struct drsuapi_DsExecuteKCC {
1840 struct {
1841 struct policy_handle *bind_handle;/* [ref] */
1842 uint32_t level;
1843 union drsuapi_DsExecuteKCCRequest *req;/* [ref,switch_is(level)] */
1844 } in;
1846 struct {
1847 WERROR result;
1848 } out;
1853 struct drsuapi_DsReplicaGetInfo {
1854 struct {
1855 struct policy_handle *bind_handle;/* [ref] */
1856 enum drsuapi_DsReplicaGetInfoLevel level;
1857 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1858 } in;
1860 struct {
1861 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1862 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1863 WERROR result;
1864 } out;
1869 struct DRSUAPI_ADD_SID_HISTORY {
1870 struct {
1871 WERROR result;
1872 } out;
1877 struct drsuapi_DsGetMemberships2 {
1878 struct {
1879 struct policy_handle *bind_handle;/* [ref] */
1880 int32_t level;
1881 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1882 } in;
1884 struct {
1885 int32_t *level_out;/* [ref] */
1886 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1887 WERROR result;
1888 } out;
1893 struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1894 struct {
1895 WERROR result;
1896 } out;
1901 struct DRSUAPI_GET_OBJECT_EXISTENCE {
1902 struct {
1903 WERROR result;
1904 } out;
1909 struct drsuapi_QuerySitesByCost {
1910 struct {
1911 struct policy_handle *bind_handle;/* [ref] */
1912 int32_t level;
1913 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1914 } in;
1916 struct {
1917 int32_t *level_out;/* [ref] */
1918 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1919 WERROR result;
1920 } out;
1924 #endif /* _HEADER_drsuapi */