s4-idl: added the IDL for the DsReplica* calls
[Samba/aatanasov.git] / librpc / gen_ndr / drsuapi.h
blobb7ebe4cbc6592f76b3cd9ee96f95caaad5f0197d
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_SupportedExtensions */
19 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
20 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
21 #define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
22 #define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
23 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
24 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
25 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
26 #define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
27 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
28 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
29 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
30 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
31 #define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
32 #define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
33 #define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
34 #define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
35 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
36 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
37 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
38 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
39 #define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
40 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
41 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
42 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
43 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
44 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
45 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
46 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
47 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
48 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
49 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
50 #define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
51 #define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
52 #define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
54 /* bitmap drsuapi_SupportedExtensionsExt */
55 #define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
56 #define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
58 struct drsuapi_DsBindInfo24 {
59 uint32_t supported_extensions;
60 struct GUID site_guid;
61 uint32_t pid;
64 struct drsuapi_DsBindInfo28 {
65 uint32_t supported_extensions;
66 struct GUID site_guid;
67 uint32_t pid;
68 uint32_t repl_epoch;
71 struct drsuapi_DsBindInfo48 {
72 uint32_t supported_extensions;
73 struct GUID site_guid;
74 uint32_t pid;
75 uint32_t repl_epoch;
76 uint32_t supported_extensions_ext;
77 struct GUID config_dn_guid;
80 struct drsuapi_DsBindInfoFallBack {
81 DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
84 union drsuapi_DsBindInfo {
85 struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
86 struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
87 struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
88 struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
89 }/* [nodiscriminant] */;
91 struct drsuapi_DsBindInfoCtr {
92 uint32_t length;/* [range(1,10000)] */
93 union drsuapi_DsBindInfo info;/* [switch_is(length)] */
96 struct drsuapi_DsReplicaObjectIdentifier {
97 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */
98 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
99 struct GUID guid;
100 struct dom_sid28 sid;
101 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
102 const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
103 }/* [gensize,public] */;
105 /* bitmap drsuapi_DsReplicaSyncOptions */
106 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
107 #define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
108 #define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
109 #define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
110 #define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
111 #define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
112 #define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
113 #define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
114 #define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
115 #define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
116 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
117 #define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
118 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
119 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
120 #define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
121 #define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
122 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
123 #define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
124 #define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
125 #define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
126 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
127 #define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
128 #define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
129 #define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
131 struct drsuapi_DsReplicaSyncRequest1 {
132 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
133 struct GUID source_dsa_guid;
134 const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
135 uint32_t options;
138 union drsuapi_DsReplicaSyncRequest {
139 struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
140 }/* [switch_type(int32)] */;
142 struct drsuapi_DsReplicaHighWaterMark {
143 uint64_t tmp_highest_usn;
144 uint64_t reserved_usn;
145 uint64_t highest_usn;
146 }/* [public] */;
148 struct drsuapi_DsReplicaCursor {
149 struct GUID source_dsa_invocation_id;
150 uint64_t highest_usn;
151 }/* [public] */;
153 struct drsuapi_DsReplicaCursorCtrEx {
154 uint32_t version;/* [value] */
155 uint32_t reserved1;/* [value(0)] */
156 uint32_t count;/* [range(0,0x100000)] */
157 uint32_t reserved2;/* [value(0)] */
158 struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
161 /* bitmap drsuapi_DsReplicaNeighbourFlags */
162 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
163 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
164 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
165 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
166 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
167 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
168 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
169 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
170 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
171 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
172 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
173 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
174 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
175 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
176 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
178 enum drsuapi_DsExtendedOperation
179 #ifndef USE_UINT_ENUMS
181 DRSUAPI_EXOP_NONE=0x00000000,
182 DRSUAPI_EXOP_FSMO_REQ_ROLE=0x00000001,
183 DRSUAPI_EXOP_FSMO_RID_ALLOC=0x00000002,
184 DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=0x00000003,
185 DRSUAPI_EXOP_FSMO_REQ_PDC=0x00000004,
186 DRSUAPI_EXOP_FSMO_ABANDON_ROLE=0x00000005,
187 DRSUAPI_EXOP_REPL_OBJ=0x00000006,
188 DRSUAPI_EXOP_REPL_SECRET=0x00000007
190 #else
191 { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
192 #define DRSUAPI_EXOP_NONE ( 0x00000000 )
193 #define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
194 #define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
195 #define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
196 #define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
197 #define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
198 #define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
199 #define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
200 #endif
203 enum drsuapi_DsExtendedError
204 #ifndef USE_UINT_ENUMS
206 DRSUAPI_EXOP_ERR_NONE=0x00000000,
207 DRSUAPI_EXOP_ERR_SUCCESS=0x00000001,
208 DRSUAPI_EXOP_ERR_UNKNOWN_OP=0x00000002,
209 DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=0x00000003,
210 DRSUAPI_EXOP_ERR_UPDATE_ERR=0x00000004,
211 DRSUAPI_EXOP_ERR_EXCEPTION=0x00000005,
212 DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=0x00000006,
213 DRSUAPI_EXOP_ERR_RID_ALLOC=0x00000007,
214 DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=0x00000008,
215 DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=0x00000009,
216 DRSUAPI_EXOP_ERR_MISMATCH=0x0000000A,
217 DRSUAPI_EXOP_ERR_COULDNT_CONTACT=0x0000000B,
218 DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=0x0000000C,
219 DRSUAPI_EXOP_ERR_DIR_ERROR=0x0000000D,
220 DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=0x0000000E,
221 DRSUAPI_EXOP_ERR_ACCESS_DENIED=0x0000000F,
222 DRSUAPI_EXOP_ERR_PARAM_ERROR=0x00000010
224 #else
225 { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
226 #define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
227 #define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
228 #define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
229 #define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
230 #define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
231 #define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
232 #define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
233 #define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
234 #define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
235 #define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
236 #define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
237 #define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
238 #define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
239 #define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
240 #define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
241 #define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
242 #define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
243 #endif
246 struct drsuapi_DsGetNCChangesRequest5 {
247 struct GUID destination_dsa_guid;
248 struct GUID source_dsa_invocation_id;
249 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
250 struct drsuapi_DsReplicaHighWaterMark highwatermark;
251 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
252 uint32_t replica_flags;
253 uint32_t max_object_count;
254 uint32_t max_ndr_size;
255 enum drsuapi_DsExtendedOperation extended_op;
256 uint64_t fsmo_info;
259 struct drsuapi_DsReplicaOID {
260 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
261 const char *oid;/* [unique,charset(DOS),size_is(__ndr_size)] */
262 }/* [nopush,nopull] */;
264 struct drsuapi_DsReplicaOIDMapping {
265 uint32_t id_prefix;
266 struct drsuapi_DsReplicaOID oid;
269 struct drsuapi_DsReplicaOIDMapping_Ctr {
270 uint32_t num_mappings;/* [range(0,0x100000)] */
271 struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */
272 }/* [public] */;
274 enum drsuapi_DsObjectClassId
275 #ifndef USE_UINT_ENUMS
277 DRSUAPI_OBJECTCLASS_top=0x00010000,
278 DRSUAPI_OBJECTCLASS_classSchema=0x0003000d,
279 DRSUAPI_OBJECTCLASS_attributeSchema=0x0003000e
281 #else
282 { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
283 #define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
284 #define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
285 #define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
286 #endif
289 enum drsuapi_DsAttributeId
290 #ifndef USE_UINT_ENUMS
292 DRSUAPI_ATTRIBUTE_objectClass=0x00000000,
293 DRSUAPI_ATTRIBUTE_description=0x0000000d,
294 DRSUAPI_ATTRIBUTE_member=0x0000001f,
295 DRSUAPI_ATTRIBUTE_instanceType=0x00020001,
296 DRSUAPI_ATTRIBUTE_whenCreated=0x00020002,
297 DRSUAPI_ATTRIBUTE_possSuperiors=0x00020008,
298 DRSUAPI_ATTRIBUTE_hasMasterNCs=0x0002000e,
299 DRSUAPI_ATTRIBUTE_subClassOf=0x00020015,
300 DRSUAPI_ATTRIBUTE_governsID=0x00020016,
301 DRSUAPI_ATTRIBUTE_mustContain=0x00020018,
302 DRSUAPI_ATTRIBUTE_mayContain=0x00020019,
303 DRSUAPI_ATTRIBUTE_attributeID=0x0002001e,
304 DRSUAPI_ATTRIBUTE_attributeSyntax=0x00020020,
305 DRSUAPI_ATTRIBUTE_isSingleValued=0x00020021,
306 DRSUAPI_ATTRIBUTE_rangeLower=0x00020022,
307 DRSUAPI_ATTRIBUTE_rangeUpper=0x00020023,
308 DRSUAPI_ATTRIBUTE_dMDLocation=0x00020024,
309 DRSUAPI_ATTRIBUTE_objectVersion=0x0002004c,
310 DRSUAPI_ATTRIBUTE_invocationId=0x00020073,
311 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=0x000200a9,
312 DRSUAPI_ATTRIBUTE_adminDisplayName=0x000200c2,
313 DRSUAPI_ATTRIBUTE_adminDescription=0x000200e2,
314 DRSUAPI_ATTRIBUTE_oMSyntax=0x000200e7,
315 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=0x00020119,
316 DRSUAPI_ATTRIBUTE_searchFlags=0x0002014e,
317 DRSUAPI_ATTRIBUTE_auxiliaryClass=0x0002015f,
318 DRSUAPI_ATTRIBUTE_lDAPDisplayName=0x000201cc,
319 DRSUAPI_ATTRIBUTE_name=0x00090001,
320 DRSUAPI_ATTRIBUTE_userAccountControl=0x00090008,
321 DRSUAPI_ATTRIBUTE_currentValue=0x0009001b,
322 DRSUAPI_ATTRIBUTE_homeDirectory=0x0009002c,
323 DRSUAPI_ATTRIBUTE_homeDrive=0x0009002d,
324 DRSUAPI_ATTRIBUTE_scriptPath=0x0009003e,
325 DRSUAPI_ATTRIBUTE_profilePath=0x0009008b,
326 DRSUAPI_ATTRIBUTE_objectSid=0x00090092,
327 DRSUAPI_ATTRIBUTE_schemaIDGUID=0x00090094,
328 DRSUAPI_ATTRIBUTE_dBCSPwd=0x00090037,
329 DRSUAPI_ATTRIBUTE_logonHours=0x00090040,
330 DRSUAPI_ATTRIBUTE_userWorkstations=0x00090056,
331 DRSUAPI_ATTRIBUTE_unicodePwd=0x0009005a,
332 DRSUAPI_ATTRIBUTE_ntPwdHistory=0x0009005e,
333 DRSUAPI_ATTRIBUTE_priorValue=0x00090064,
334 DRSUAPI_ATTRIBUTE_supplementalCredentials=0x0009007d,
335 DRSUAPI_ATTRIBUTE_trustAuthIncoming=0x00090081,
336 DRSUAPI_ATTRIBUTE_trustAuthOutgoing=0x00090087,
337 DRSUAPI_ATTRIBUTE_lmPwdHistory=0x000900a0,
338 DRSUAPI_ATTRIBUTE_systemPossSuperiors=0x000900c3,
339 DRSUAPI_ATTRIBUTE_systemMayContain=0x000900c4,
340 DRSUAPI_ATTRIBUTE_systemMustContain=0x000900c5,
341 DRSUAPI_ATTRIBUTE_sAMAccountName=0x000900dd,
342 DRSUAPI_ATTRIBUTE_sAMAccountType=0x0009012e,
343 DRSUAPI_ATTRIBUTE_fSMORoleOwner=0x00090171,
344 DRSUAPI_ATTRIBUTE_systemFlags=0x00090177,
345 DRSUAPI_ATTRIBUTE_serverReference=0x00090203,
346 DRSUAPI_ATTRIBUTE_serverReferenceBL=0x00090204,
347 DRSUAPI_ATTRIBUTE_initialAuthIncoming=0x0009021b,
348 DRSUAPI_ATTRIBUTE_initialAuthOutgoing=0x0009021c,
349 DRSUAPI_ATTRIBUTE_wellKnownObjects=0x0009026a,
350 DRSUAPI_ATTRIBUTE_dNSHostName=0x0009026b,
351 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=0x0009027f,
352 DRSUAPI_ATTRIBUTE_userPrincipalName=0x00090290,
353 DRSUAPI_ATTRIBUTE_groupType=0x000902ee,
354 DRSUAPI_ATTRIBUTE_servicePrincipalName=0x00090303,
355 DRSUAPI_ATTRIBUTE_objectCategory=0x0009030e,
356 DRSUAPI_ATTRIBUTE_gPLink=0x0009037b,
357 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=0x000905b3,
358 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=0x000906f6,
359 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=0x0009071c,
360 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=0x0009072c
362 #else
363 { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
364 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
365 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
366 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
367 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
368 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
369 #define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 )
370 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
371 #define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 )
372 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
373 #define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
374 #define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
375 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
376 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
377 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
378 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
379 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
380 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
381 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
382 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
383 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
384 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
385 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
386 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
387 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
388 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
389 #define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f )
390 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
391 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
392 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
393 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
394 #define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
395 #define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
396 #define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
397 #define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
398 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
399 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
400 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
401 #define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
402 #define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
403 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
404 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
405 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
406 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
407 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
408 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
409 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
410 #define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
411 #define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
412 #define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
413 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
414 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
415 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
416 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
417 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
418 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
419 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
420 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
421 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
422 #define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
423 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
424 #define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
425 #define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
426 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
427 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
428 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
429 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
430 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
431 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
432 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
433 #endif
436 struct drsuapi_DsPartialAttributeSet {
437 uint32_t version;/* [value] */
438 uint32_t reserved1;/* [value(0)] */
439 uint32_t num_attids;/* [range(1,0x100000)] */
440 enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */
443 struct drsuapi_DsGetNCChangesRequest8 {
444 struct GUID destination_dsa_guid;
445 struct GUID source_dsa_invocation_id;
446 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
447 struct drsuapi_DsReplicaHighWaterMark highwatermark;
448 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
449 uint32_t replica_flags;
450 uint32_t max_object_count;
451 uint32_t max_ndr_size;
452 enum drsuapi_DsExtendedOperation extended_op;
453 uint64_t fsmo_info;
454 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
455 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
456 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
459 union drsuapi_DsGetNCChangesRequest {
460 struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
461 struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
462 }/* [switch_type(int32)] */;
464 struct drsuapi_DsReplicaCursor2 {
465 struct GUID source_dsa_invocation_id;
466 uint64_t highest_usn;
467 NTTIME last_sync_success;
468 }/* [public] */;
470 struct drsuapi_DsReplicaCursor2CtrEx {
471 uint32_t version;/* [value(2)] */
472 uint32_t reserved1;/* [value(0)] */
473 uint32_t count;/* [range(0,0x100000)] */
474 uint32_t reserved2;/* [value(0)] */
475 struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */
478 struct drsuapi_DsAttributeValue {
479 uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
480 DATA_BLOB *blob;/* [unique] */
483 struct drsuapi_DsAttributeValueCtr {
484 uint32_t num_values;/* [range(0,10485760)] */
485 struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */
488 struct drsuapi_DsReplicaObjectIdentifier3 {
489 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
490 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
491 struct GUID guid;
492 struct dom_sid28 sid;
493 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
494 const char *dn;/* [charset(UTF16)] */
495 }/* [gensize,public] */;
497 struct drsuapi_DsReplicaObjectIdentifier3Binary {
498 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->iconv_convenience,ndr->flags))] */
499 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
500 struct GUID guid;
501 struct dom_sid28 sid;
502 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
503 const char *dn;/* [charset(UTF16)] */
504 uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
505 DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
506 }/* [gensize,public] */;
508 struct drsuapi_DsReplicaAttribute {
509 enum drsuapi_DsAttributeId attid;
510 struct drsuapi_DsAttributeValueCtr value_ctr;
511 }/* [public] */;
513 struct drsuapi_DsReplicaAttributeCtr {
514 uint32_t num_attributes;/* [range(0,1048576)] */
515 struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */
518 /* bitmap drsuapi_DsReplicaObjectFlags */
519 #define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
520 #define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
521 #define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
523 struct drsuapi_DsReplicaObject {
524 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
525 uint32_t flags;
526 struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
527 }/* [public] */;
529 struct drsuapi_DsReplicaMetaData {
530 uint32_t version;
531 NTTIME originating_change_time;
532 struct GUID originating_invocation_id;
533 uint64_t originating_usn;
536 struct drsuapi_DsReplicaMetaDataCtr {
537 uint32_t count;/* [range(0,1048576)] */
538 struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */
539 }/* [public] */;
541 struct drsuapi_DsReplicaObjectListItemEx {
542 struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
543 struct drsuapi_DsReplicaObject object;
544 uint32_t is_nc_prefix;
545 struct GUID *parent_object_guid;/* [unique] */
546 struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */
547 }/* [noprint,public] */;
549 struct drsuapi_DsGetNCChangesCtr1 {
550 struct GUID source_dsa_guid;
551 struct GUID source_dsa_invocation_id;
552 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
553 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
554 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
555 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
556 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
557 enum drsuapi_DsExtendedError extended_ret;
558 uint32_t object_count;
559 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
560 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
561 uint32_t more_data;
562 }/* [gensize,public] */;
564 /* bitmap drsuapi_DsLinkedAttributeFlags */
565 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
567 struct drsuapi_DsReplicaLinkedAttribute {
568 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
569 enum drsuapi_DsAttributeId attid;
570 struct drsuapi_DsAttributeValue value;
571 uint32_t flags;
572 NTTIME originating_add_time;
573 struct drsuapi_DsReplicaMetaData meta_data;
574 }/* [public] */;
576 struct drsuapi_DsGetNCChangesCtr6 {
577 struct GUID source_dsa_guid;
578 struct GUID source_dsa_invocation_id;
579 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
580 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
581 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
582 struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */
583 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
584 enum drsuapi_DsExtendedError extended_ret;
585 uint32_t object_count;
586 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
587 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
588 uint32_t more_data;
589 uint32_t nc_object_count;
590 uint32_t nc_linked_attributes_count;
591 uint32_t linked_attributes_count;/* [range(0,1048576)] */
592 struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
593 WERROR drs_error;
594 }/* [gensize,public] */;
596 struct drsuapi_DsGetNCChangesCtr1TS {
597 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */
598 }/* [public] */;
600 struct drsuapi_DsGetNCChangesCtr6TS {
601 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */
602 }/* [public] */;
604 struct drsuapi_DsGetNCChangesMSZIPCtr1 {
605 uint32_t decompressed_length;
606 uint32_t compressed_length;
607 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
608 }/* [nopush] */;
610 struct drsuapi_DsGetNCChangesMSZIPCtr6 {
611 uint32_t decompressed_length;
612 uint32_t compressed_length;
613 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
614 }/* [nopush] */;
616 struct drsuapi_DsGetNCChangesXPRESSCtr1 {
617 uint32_t decompressed_length;
618 uint32_t compressed_length;
619 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
620 }/* [nopush] */;
622 struct drsuapi_DsGetNCChangesXPRESSCtr6 {
623 uint32_t decompressed_length;
624 uint32_t compressed_length;
625 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
626 }/* [nopush] */;
628 enum drsuapi_DsGetNCChangesCompressionType
629 #ifndef USE_UINT_ENUMS
631 DRSUAPI_COMPRESSION_TYPE_MSZIP=2,
632 DRSUAPI_COMPRESSION_TYPE_XPRESS=3
634 #else
635 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
636 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
637 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
638 #endif
641 union drsuapi_DsGetNCChangesCompressedCtr {
642 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
643 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
644 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
645 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
646 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
648 struct drsuapi_DsGetNCChangesCtr2 {
649 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;
652 struct drsuapi_DsGetNCChangesCtr7 {
653 int32_t level;/* [range(0,6)] */
654 enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */
655 union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */
658 union drsuapi_DsGetNCChangesCtr {
659 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */
660 struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */
661 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */
662 struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
663 }/* [switch_type(int32)] */;
665 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
666 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
667 #define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
668 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
669 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
670 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
672 struct drsuapi_DsReplicaUpdateRefsRequest1 {
673 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
674 const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
675 struct GUID dest_dsa_guid;
676 uint32_t options;
679 union drsuapi_DsReplicaUpdateRefsRequest {
680 struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
681 }/* [switch_type(int32)] */;
683 /* bitmap drsuapi_DsReplicaAddOptions */
684 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
685 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
687 struct drsuapi_DsReplicaAddRequest1 {
688 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
689 const char *source_dsa_address;/* [unique,charset(UTF16)] */
690 uint8_t schedule[84];
691 uint32_t options;
694 struct drsuapi_DsReplicaAddRequest2 {
695 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
696 struct drsuapi_DsReplicaObjectIdentifier *source_dsa_dn;/* [unique] */
697 struct drsuapi_DsReplicaObjectIdentifier *transport_dn;/* [unique] */
698 const char *source_dsa_address;/* [unique,charset(UTF16)] */
699 uint8_t schedule[84];
700 uint32_t options;
703 union drsuapi_DsReplicaAddRequest {
704 struct drsuapi_DsReplicaAddRequest1 req1;/* [case] */
705 struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
706 }/* [switch_type(int32)] */;
708 /* bitmap drsuapi_DsReplicaDeleteOptions */
709 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
710 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
712 struct drsuapi_DsReplicaDelRequest1 {
713 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
714 const char *source_dsa_address;/* [unique,charset(UTF16)] */
715 uint32_t options;
718 union drsuapi_DsReplicaDelRequest {
719 struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
720 }/* [switch_type(int32)] */;
722 /* bitmap drsuapi_DsReplicaModifyOptions */
723 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
724 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
726 struct drsuapi_DsReplicaModRequest1 {
727 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
728 struct GUID source_dra;
729 const char *source_dra_address;/* [unique,charset(UTF16)] */
730 uint8_t schedule[84];
731 uint32_t replica_flags;
732 uint32_t modify_fields;
733 uint32_t options;
736 union drsuapi_DsReplicaModRequest {
737 struct drsuapi_DsReplicaModRequest1 req1;/* [case] */
738 }/* [switch_type(int32)] */;
740 enum drsuapi_DsMembershipType
741 #ifndef USE_UINT_ENUMS
743 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=1,
744 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=2,
745 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=3,
746 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=4,
747 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=5,
748 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=6,
749 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=7
751 #else
752 { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
753 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
754 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
755 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
756 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
757 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
758 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
759 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
760 #endif
763 struct drsuapi_DsGetMembershipsCtr1 {
764 NTSTATUS status;
765 uint32_t num_memberships;/* [range(0,10000)] */
766 uint32_t num_sids;/* [range(0,10000)] */
767 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */
768 uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */
769 struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */
772 union drsuapi_DsGetMembershipsCtr {
773 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
774 }/* [switch_type(int32)] */;
776 struct drsuapi_DsGetMembershipsRequest1 {
777 uint32_t count;/* [range(1,10000)] */
778 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
779 uint32_t flags;
780 enum drsuapi_DsMembershipType type;
781 struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
784 union drsuapi_DsGetMembershipsRequest {
785 struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */
786 }/* [switch_type(int32)] */;
788 struct drsuapi_DsGetNT4ChangeLogRequest1 {
789 uint32_t unknown1;
790 uint32_t unknown2;
791 uint32_t length;/* [range(0,0x00A00000)] */
792 uint8_t *data;/* [unique,size_is(length)] */
795 union drsuapi_DsGetNT4ChangeLogRequest {
796 struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */
797 }/* [switch_type(uint32)] */;
799 struct drsuapi_DsGetNT4ChangeLogInfo1 {
800 uint32_t length1;/* [range(0,0x00A00000)] */
801 uint32_t length2;/* [range(0,0x00A00000)] */
802 uint64_t unknown1;
803 NTTIME time2;
804 uint64_t unknown3;
805 NTTIME time4;
806 uint64_t unknown5;
807 NTTIME time6;
808 NTSTATUS status;
809 uint8_t *data1;/* [unique,size_is(length1)] */
810 uint8_t *data2;/* [unique,size_is(length2)] */
813 union drsuapi_DsGetNT4ChangeLogInfo {
814 struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */
815 }/* [switch_type(uint32)] */;
817 enum drsuapi_DsNameStatus
818 #ifndef USE_UINT_ENUMS
820 DRSUAPI_DS_NAME_STATUS_OK=0,
821 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=1,
822 DRSUAPI_DS_NAME_STATUS_NOT_FOUND=2,
823 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=3,
824 DRSUAPI_DS_NAME_STATUS_NO_MAPPING=4,
825 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=5,
826 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=6,
827 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=7
829 #else
830 { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
831 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
832 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
833 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
834 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
835 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
836 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
837 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
838 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
839 #endif
842 enum drsuapi_DsNameFlags
843 #ifndef USE_UINT_ENUMS
845 DRSUAPI_DS_NAME_FLAG_NO_FLAGS=0x0,
846 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=0x1,
847 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=0x2,
848 DRSUAPI_DS_NAME_FLAG_GCVERIFY=0x4,
849 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=0x8
851 #else
852 { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
853 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
854 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
855 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
856 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
857 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
858 #endif
861 enum drsuapi_DsNameFormat
862 #ifndef USE_UINT_ENUMS
864 DRSUAPI_DS_NAME_FORMAT_UNKNOWN=0,
865 DRSUAPI_DS_NAME_FORMAT_FQDN_1779=1,
866 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=2,
867 DRSUAPI_DS_NAME_FORMAT_DISPLAY=3,
868 DRSUAPI_DS_NAME_FORMAT_GUID=6,
869 DRSUAPI_DS_NAME_FORMAT_CANONICAL=7,
870 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=8,
871 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=9,
872 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=10,
873 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=11,
874 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=12
876 #else
877 { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
878 #define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
879 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
880 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
881 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
882 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
883 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
884 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
885 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
886 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
887 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
888 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
889 #endif
892 struct drsuapi_DsNameString {
893 const char *str;/* [unique,charset(UTF16)] */
896 struct drsuapi_DsNameRequest1 {
897 uint32_t codepage;
898 uint32_t language;
899 enum drsuapi_DsNameFlags format_flags;
900 enum drsuapi_DsNameFormat format_offered;
901 enum drsuapi_DsNameFormat format_desired;
902 uint32_t count;/* [range(1,10000)] */
903 struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */
906 union drsuapi_DsNameRequest {
907 struct drsuapi_DsNameRequest1 req1;/* [case] */
908 }/* [switch_type(int32)] */;
910 struct drsuapi_DsNameInfo1 {
911 enum drsuapi_DsNameStatus status;
912 const char *dns_domain_name;/* [unique,charset(UTF16)] */
913 const char *result_name;/* [unique,charset(UTF16)] */
916 struct drsuapi_DsNameCtr1 {
917 uint32_t count;
918 struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */
921 union drsuapi_DsNameCtr {
922 struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */
923 }/* [switch_type(int32)] */;
925 enum drsuapi_DsSpnOperation
926 #ifndef USE_UINT_ENUMS
928 DRSUAPI_DS_SPN_OPERATION_ADD=0,
929 DRSUAPI_DS_SPN_OPERATION_REPLACE=1,
930 DRSUAPI_DS_SPN_OPERATION_DELETE=2
932 #else
933 { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
934 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
935 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
936 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
937 #endif
940 struct drsuapi_DsWriteAccountSpnRequest1 {
941 enum drsuapi_DsSpnOperation operation;
942 uint32_t unknown1;
943 const char *object_dn;/* [unique,charset(UTF16)] */
944 uint32_t count;/* [range(0,10000)] */
945 struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */
948 union drsuapi_DsWriteAccountSpnRequest {
949 struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */
950 }/* [switch_type(int32)] */;
952 struct drsuapi_DsWriteAccountSpnResult1 {
953 WERROR status;
956 union drsuapi_DsWriteAccountSpnResult {
957 struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */
958 }/* [switch_type(int32)] */;
960 struct drsuapi_DsRemoveDSServerRequest1 {
961 const char *server_dn;/* [unique,charset(UTF16)] */
962 const char *domain_dn;/* [unique,charset(UTF16)] */
963 uint32_t commit;
966 union drsuapi_DsRemoveDSServerRequest {
967 struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
968 }/* [switch_type(int32)] */;
970 struct drsuapi_DsRemoveDSServerResult1 {
971 uint32_t last_dc_in_domain;
974 union drsuapi_DsRemoveDSServerResult {
975 struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */
976 }/* [switch_type(int32)] */;
978 struct drsuapi_DsGetDCInfoRequest1 {
979 const char *domain_name;/* [unique,charset(UTF16)] */
980 int32_t level;
983 union drsuapi_DsGetDCInfoRequest {
984 struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */
985 }/* [switch_type(int32)] */;
987 struct drsuapi_DsGetDCInfo1 {
988 const char *netbios_name;/* [unique,charset(UTF16)] */
989 const char *dns_name;/* [unique,charset(UTF16)] */
990 const char *site_name;/* [unique,charset(UTF16)] */
991 const char *computer_dn;/* [unique,charset(UTF16)] */
992 const char *server_dn;/* [unique,charset(UTF16)] */
993 uint32_t is_pdc;
994 uint32_t is_enabled;
997 struct drsuapi_DsGetDCInfoCtr1 {
998 uint32_t count;/* [range(0,10000)] */
999 struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */
1002 struct drsuapi_DsGetDCInfo2 {
1003 const char *netbios_name;/* [unique,charset(UTF16)] */
1004 const char *dns_name;/* [unique,charset(UTF16)] */
1005 const char *site_name;/* [unique,charset(UTF16)] */
1006 const char *site_dn;/* [unique,charset(UTF16)] */
1007 const char *computer_dn;/* [unique,charset(UTF16)] */
1008 const char *server_dn;/* [unique,charset(UTF16)] */
1009 const char *ntds_dn;/* [unique,charset(UTF16)] */
1010 uint32_t is_pdc;
1011 uint32_t is_enabled;
1012 uint32_t is_gc;
1013 struct GUID site_guid;
1014 struct GUID computer_guid;
1015 struct GUID server_guid;
1016 struct GUID ntds_guid;
1019 struct drsuapi_DsGetDCInfoCtr2 {
1020 uint32_t count;/* [range(0,10000)] */
1021 struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */
1024 struct drsuapi_DsGetDCInfo3 {
1025 const char *netbios_name;/* [unique,charset(UTF16)] */
1026 const char *dns_name;/* [unique,charset(UTF16)] */
1027 const char *site_name;/* [unique,charset(UTF16)] */
1028 const char *site_dn;/* [unique,charset(UTF16)] */
1029 const char *computer_dn;/* [unique,charset(UTF16)] */
1030 const char *server_dn;/* [unique,charset(UTF16)] */
1031 const char *ntds_dn;/* [unique,charset(UTF16)] */
1032 uint32_t is_pdc;
1033 uint32_t is_enabled;
1034 uint32_t is_gc;
1035 uint32_t is_rodc;
1036 struct GUID site_guid;
1037 struct GUID computer_guid;
1038 struct GUID server_guid;
1039 struct GUID ntds_guid;
1042 struct drsuapi_DsGetDCInfoCtr3 {
1043 uint32_t count;/* [range(0,10000)] */
1044 struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
1047 struct drsuapi_DsGetDCConnection01 {
1048 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1049 uint32_t unknown2;
1050 uint32_t connection_time;
1051 uint32_t unknown4;
1052 uint32_t unknown5;
1053 uint32_t unknown6;
1054 const char *client_account;/* [unique,charset(UTF16)] */
1057 struct drsuapi_DsGetDCConnectionCtr01 {
1058 uint32_t count;/* [range(0,10000)] */
1059 struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
1062 enum drsuapi_DsGetDCInfoCtrLevels
1063 #ifndef USE_UINT_ENUMS
1065 DRSUAPI_DC_INFO_CTR_1=1,
1066 DRSUAPI_DC_INFO_CTR_2=2,
1067 DRSUAPI_DC_INFO_CTR_3=3,
1068 DRSUAPI_DC_CONNECTION_CTR_01=-1
1070 #else
1071 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
1072 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1073 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1074 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1075 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1076 #endif
1079 union drsuapi_DsGetDCInfoCtr {
1080 struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1081 struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1082 struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1083 struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1084 }/* [switch_type(int32)] */;
1086 struct drsuapi_DsReplicaObjectListItem {
1087 struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
1088 struct drsuapi_DsReplicaObject object;
1089 }/* [noprint,public] */;
1091 struct drsuapi_DsAddEntryRequest2 {
1092 struct drsuapi_DsReplicaObjectListItem first_object;
1095 union drsuapi_DsAddEntryRequest {
1096 struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
1097 }/* [switch_type(int32)] */;
1099 struct drsuapi_DsAddEntryErrorInfoX {
1100 uint32_t unknown1;
1101 WERROR status;
1102 uint32_t unknown2;
1103 uint16_t unknown3;
1106 struct drsuapi_DsAddEntryExtraErrorBuffer {
1107 uint32_t size;/* [range(0,10485760)] */
1108 uint8_t *data;/* [unique,size_is(size)] */
1111 struct drsuapi_DsAddEntryExtraError1 {
1112 struct drsuapi_DsAddEntryErrorInfoX error;
1113 enum drsuapi_DsAttributeId attid;
1114 uint32_t unknown2;
1115 struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
1118 struct drsuapi_DsAddEntryErrorListItem1 {
1119 struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
1120 struct drsuapi_DsAddEntryExtraError1 error;
1123 struct drsuapi_DsAddEntryErrorInfo1 {
1124 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1125 WERROR status;
1126 struct drsuapi_DsAddEntryErrorListItem1 first;
1129 union drsuapi_DsAddEntryErrorInfo {
1130 struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
1131 struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
1132 }/* [switch_type(uint32)] */;
1134 struct drsuapi_DsAddEntryError1 {
1135 WERROR status;
1136 uint32_t level;
1137 union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
1140 union drsuapi_DsAddEntryError {
1141 struct drsuapi_DsAddEntryError1 info1;/* [case] */
1142 }/* [switch_type(uint32)] */;
1144 struct drsuapi_DsReplicaObjectIdentifier2 {
1145 struct GUID guid;
1146 struct dom_sid28 sid;
1149 struct drsuapi_DsAddEntryCtr2 {
1150 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1151 uint32_t unknown1;
1152 struct drsuapi_DsAddEntryErrorInfoX error;
1153 uint32_t count;/* [range(0,10000)] */
1154 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1157 struct drsuapi_DsAddEntryCtr3 {
1158 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1159 uint32_t level;
1160 union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
1161 uint32_t count;/* [range(0,10000)] */
1162 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1165 union drsuapi_DsAddEntryCtr {
1166 struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
1167 struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
1168 }/* [switch_type(int32)] */;
1170 enum drsuapi_DsReplicaGetInfoLevel
1171 #ifndef USE_UINT_ENUMS
1173 DRSUAPI_DS_REPLICA_GET_INFO=1,
1174 DRSUAPI_DS_REPLICA_GET_INFO2=2
1176 #else
1177 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
1178 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1179 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1180 #endif
1183 enum drsuapi_DsReplicaInfoType
1184 #ifndef USE_UINT_ENUMS
1186 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=0,
1187 DRSUAPI_DS_REPLICA_INFO_CURSORS=1,
1188 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=2,
1189 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=3,
1190 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=4,
1191 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=5,
1192 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=6,
1193 DRSUAPI_DS_REPLICA_INFO_CURSORS2=7,
1194 DRSUAPI_DS_REPLICA_INFO_CURSORS3=8,
1195 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=9,
1196 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=10,
1197 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=-2,
1198 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=-4,
1199 DRSUAPI_DS_REPLICA_INFO_CURSORS05=-5,
1200 DRSUAPI_DS_REPLICA_INFO_06=-6
1202 #else
1203 { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1204 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1205 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1206 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1207 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1208 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1209 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1210 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1211 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1212 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1213 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1214 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1215 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1216 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1217 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1218 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1219 #endif
1222 struct drsuapi_DsReplicaGetInfoRequest1 {
1223 enum drsuapi_DsReplicaInfoType info_type;
1224 const char *object_dn;/* [unique,charset(UTF16)] */
1225 struct GUID guid1;
1228 struct drsuapi_DsReplicaGetInfoRequest2 {
1229 enum drsuapi_DsReplicaInfoType info_type;
1230 const char *object_dn;/* [unique,charset(UTF16)] */
1231 struct GUID guid1;
1232 uint32_t unknown1;
1233 const char *string1;/* [unique,charset(UTF16)] */
1234 const char *string2;/* [unique,charset(UTF16)] */
1235 uint32_t unknown2;
1238 union drsuapi_DsReplicaGetInfoRequest {
1239 struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1240 struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1241 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1243 struct drsuapi_DsReplicaNeighbour {
1244 const char *naming_context_dn;/* [unique,charset(UTF16)] */
1245 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1246 const char *source_dsa_address;/* [unique,charset(UTF16)] */
1247 const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1248 uint32_t replica_flags;
1249 uint32_t reserved;
1250 struct GUID naming_context_obj_guid;
1251 struct GUID source_dsa_obj_guid;
1252 struct GUID source_dsa_invocation_id;
1253 struct GUID transport_obj_guid;
1254 uint64_t tmp_highest_usn;
1255 uint64_t highest_usn;
1256 NTTIME last_success;
1257 NTTIME last_attempt;
1258 WERROR result_last_attempt;
1259 uint32_t consecutive_sync_failures;
1262 struct drsuapi_DsReplicaNeighbourCtr {
1263 uint32_t count;
1264 uint32_t reserved;
1265 struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1268 struct drsuapi_DsReplicaCursorCtr {
1269 uint32_t count;
1270 uint32_t reserved;
1271 struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1274 struct drsuapi_DsReplicaObjMetaData {
1275 const char *attribute_name;/* [unique,charset(UTF16)] */
1276 uint32_t version;
1277 NTTIME originating_change_time;
1278 struct GUID originating_invocation_id;
1279 uint64_t originating_usn;
1280 uint64_t local_usn;
1283 struct drsuapi_DsReplicaObjMetaDataCtr {
1284 uint32_t count;
1285 uint32_t reserved;
1286 struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1289 struct drsuapi_DsReplicaKccDsaFailure {
1290 const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1291 struct GUID dsa_obj_guid;
1292 NTTIME first_failure;
1293 uint32_t num_failures;
1294 WERROR last_result;
1297 struct drsuapi_DsReplicaKccDsaFailuresCtr {
1298 uint32_t count;
1299 uint32_t reserved;
1300 struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1303 enum drsuapi_DsReplicaOpType
1304 #ifndef USE_UINT_ENUMS
1306 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=0,
1307 DRSUAPI_DS_REPLICA_OP_TYPE_ADD=1,
1308 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=2,
1309 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=3,
1310 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=4
1312 #else
1313 { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1314 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1315 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1316 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1317 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1318 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1319 #endif
1322 union drsuapi_DsRplicaOpOptions {
1323 uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1324 uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1325 uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1326 uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1327 uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1328 uint32_t unknown;/* [default] */
1329 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1331 struct drsuapi_DsReplicaOp {
1332 NTTIME operation_start;
1333 uint32_t serial_num;
1334 uint32_t priority;
1335 enum drsuapi_DsReplicaOpType operation_type;
1336 union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1337 const char *nc_dn;/* [unique,charset(UTF16)] */
1338 const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1339 const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1340 struct GUID nc_obj_guid;
1341 struct GUID remote_dsa_obj_guid;
1344 struct drsuapi_DsReplicaOpCtr {
1345 NTTIME time;
1346 uint32_t count;
1347 struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1350 struct drsuapi_DsReplicaAttrValMetaData {
1351 const char *attribute_name;/* [unique,charset(UTF16)] */
1352 const char *object_dn;/* [unique,charset(UTF16)] */
1353 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1354 DATA_BLOB *binary;/* [unique] */
1355 NTTIME deleted;
1356 NTTIME created;
1357 uint32_t version;
1358 NTTIME originating_change_time;
1359 struct GUID originating_invocation_id;
1360 uint64_t originating_usn;
1361 uint64_t local_usn;
1364 struct drsuapi_DsReplicaAttrValMetaDataCtr {
1365 uint32_t count;
1366 int32_t enumeration_context;
1367 struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1370 struct drsuapi_DsReplicaCursor2Ctr {
1371 uint32_t count;
1372 int32_t enumeration_context;
1373 struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1376 struct drsuapi_DsReplicaCursor3 {
1377 struct GUID source_dsa_invocation_id;
1378 uint64_t highest_usn;
1379 NTTIME last_sync_success;
1380 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1383 struct drsuapi_DsReplicaCursor3Ctr {
1384 uint32_t count;
1385 int32_t enumeration_context;
1386 struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1389 struct drsuapi_DsReplicaObjMetaData2 {
1390 const char *attribute_name;/* [unique,charset(UTF16)] */
1391 uint32_t version;
1392 NTTIME originating_change_time;
1393 struct GUID originating_invocation_id;
1394 uint64_t originating_usn;
1395 uint64_t local_usn;
1396 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1399 struct drsuapi_DsReplicaObjMetaData2Ctr {
1400 uint32_t count;
1401 int32_t enumeration_context;
1402 struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1405 struct drsuapi_DsReplicaAttrValMetaData2 {
1406 const char *attribute_name;/* [unique,charset(UTF16)] */
1407 const char *object_dn;/* [unique,charset(UTF16)] */
1408 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1409 DATA_BLOB *binary;/* [unique] */
1410 NTTIME deleted;
1411 NTTIME created;
1412 uint32_t version;
1413 NTTIME originating_change_time;
1414 struct GUID originating_invocation_id;
1415 uint64_t originating_usn;
1416 uint64_t local_usn;
1417 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1420 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1421 uint32_t count;
1422 int32_t enumeration_context;
1423 struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1426 struct drsuapi_DsReplicaConnection04 {
1427 uint64_t u1;
1428 uint32_t u2;
1429 uint32_t u3;
1430 struct GUID bind_guid;
1431 NTTIME bind_time;
1432 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1433 uint32_t u5;
1436 struct drsuapi_DsReplicaConnection04Ctr {
1437 uint32_t count;/* [range(0,10000)] */
1438 uint32_t reserved;
1439 struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1442 struct drsuapi_DsReplica06 {
1443 const char *str1;/* [unique,charset(UTF16)] */
1444 uint32_t u1;
1445 uint32_t u2;
1446 uint32_t u3;
1447 uint32_t u4;
1448 uint32_t u5;
1449 uint64_t u6;
1450 uint32_t u7;
1453 struct drsuapi_DsReplica06Ctr {
1454 uint32_t count;/* [range(0,256)] */
1455 uint32_t reserved;
1456 struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1459 union drsuapi_DsReplicaInfo {
1460 struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1461 struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1462 struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1463 struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1464 struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1465 struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1466 struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1467 struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1468 struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1469 struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1470 struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1471 struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1472 struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1473 struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1474 struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1475 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1477 struct drsuapi_DsGetMemberships2Ctr1 {
1478 uint32_t num_entries;/* [range(0,10000)] */
1479 struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1482 union drsuapi_DsGetMemberships2Ctr {
1483 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1484 }/* [switch_type(int32)] */;
1486 struct drsuapi_DsGetMemberships2Request1 {
1487 uint32_t num_req;/* [range(1,10000)] */
1488 struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1491 union drsuapi_DsGetMemberships2Request {
1492 struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1493 }/* [switch_type(int32)] */;
1495 struct drsuapi_DsSiteCostInfo {
1496 WERROR error_code;
1497 uint32_t site_cost;
1500 struct drsuapi_QuerySitesByCostCtr1 {
1501 uint32_t num_info;/* [range(0,10000)] */
1502 struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1503 uint32_t unknown;
1506 union drsuapi_QuerySitesByCostCtr {
1507 struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1508 }/* [switch_type(int32)] */;
1510 struct drsuapi_QuerySitesByCostRequest1 {
1511 const char *site_from;/* [unique,charset(UTF16)] */
1512 uint32_t num_req;/* [range(1,10000)] */
1513 const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1514 uint32_t flags;
1517 union drsuapi_QuerySitesByCostRequest {
1518 struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1519 }/* [switch_type(int32)] */;
1522 struct drsuapi_DsBind {
1523 struct {
1524 struct GUID *bind_guid;/* [unique] */
1525 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1526 } in;
1528 struct {
1529 struct policy_handle *bind_handle;/* [ref] */
1530 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1531 WERROR result;
1532 } out;
1537 struct drsuapi_DsUnbind {
1538 struct {
1539 struct policy_handle *bind_handle;/* [ref] */
1540 } in;
1542 struct {
1543 struct policy_handle *bind_handle;/* [ref] */
1544 WERROR result;
1545 } out;
1550 struct drsuapi_DsReplicaSync {
1551 struct {
1552 struct policy_handle *bind_handle;/* [ref] */
1553 int32_t level;
1554 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1555 } in;
1557 struct {
1558 WERROR result;
1559 } out;
1564 struct drsuapi_DsGetNCChanges {
1565 struct {
1566 struct policy_handle *bind_handle;/* [ref] */
1567 int32_t level;
1568 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */
1569 } in;
1571 struct {
1572 int32_t *level_out;/* [ref] */
1573 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */
1574 WERROR result;
1575 } out;
1580 struct drsuapi_DsReplicaUpdateRefs {
1581 struct {
1582 struct policy_handle *bind_handle;/* [ref] */
1583 int32_t level;
1584 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1585 } in;
1587 struct {
1588 WERROR result;
1589 } out;
1594 struct drsuapi_DsReplicaAdd {
1595 struct {
1596 struct policy_handle *bind_handle;/* [ref] */
1597 int32_t level;
1598 union drsuapi_DsReplicaAddRequest req;/* [switch_is(level)] */
1599 } in;
1601 struct {
1602 WERROR result;
1603 } out;
1608 struct drsuapi_DsReplicaDel {
1609 struct {
1610 struct policy_handle *bind_handle;/* [ref] */
1611 int32_t level;
1612 union drsuapi_DsReplicaDelRequest req;/* [switch_is(level)] */
1613 } in;
1615 struct {
1616 WERROR result;
1617 } out;
1622 struct drsuapi_DsReplicaMod {
1623 struct {
1624 struct policy_handle *bind_handle;/* [ref] */
1625 int32_t level;
1626 union drsuapi_DsReplicaModRequest req;/* [switch_is(level)] */
1627 } in;
1629 struct {
1630 WERROR result;
1631 } out;
1636 struct DRSUAPI_VERIFY_NAMES {
1637 struct {
1638 WERROR result;
1639 } out;
1644 struct drsuapi_DsGetMemberships {
1645 struct {
1646 struct policy_handle *bind_handle;/* [ref] */
1647 int32_t level;
1648 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1649 } in;
1651 struct {
1652 int32_t *level_out;/* [ref] */
1653 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1654 WERROR result;
1655 } out;
1660 struct DRSUAPI_INTER_DOMAIN_MOVE {
1661 struct {
1662 WERROR result;
1663 } out;
1668 struct drsuapi_DsGetNT4ChangeLog {
1669 struct {
1670 struct policy_handle *bind_handle;/* [ref] */
1671 uint32_t level;
1672 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1673 } in;
1675 struct {
1676 uint32_t *level_out;/* [ref] */
1677 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1678 WERROR result;
1679 } out;
1684 struct drsuapi_DsCrackNames {
1685 struct {
1686 struct policy_handle *bind_handle;/* [ref] */
1687 int32_t level;
1688 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1689 } in;
1691 struct {
1692 int32_t *level_out;/* [ref] */
1693 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1694 WERROR result;
1695 } out;
1700 struct drsuapi_DsWriteAccountSpn {
1701 struct {
1702 struct policy_handle *bind_handle;/* [ref] */
1703 int32_t level;
1704 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1705 } in;
1707 struct {
1708 int32_t *level_out;/* [ref] */
1709 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1710 WERROR result;
1711 } out;
1716 struct drsuapi_DsRemoveDSServer {
1717 struct {
1718 struct policy_handle *bind_handle;/* [ref] */
1719 int32_t level;
1720 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1721 } in;
1723 struct {
1724 int32_t *level_out;/* [ref] */
1725 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1726 WERROR result;
1727 } out;
1732 struct DRSUAPI_REMOVE_DS_DOMAIN {
1733 struct {
1734 WERROR result;
1735 } out;
1740 struct drsuapi_DsGetDomainControllerInfo {
1741 struct {
1742 struct policy_handle *bind_handle;/* [ref] */
1743 int32_t level;
1744 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1745 } in;
1747 struct {
1748 int32_t *level_out;/* [ref] */
1749 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1750 WERROR result;
1751 } out;
1756 struct drsuapi_DsAddEntry {
1757 struct {
1758 struct policy_handle *bind_handle;/* [ref] */
1759 int32_t level;
1760 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1761 } in;
1763 struct {
1764 int32_t *level_out;/* [ref] */
1765 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1766 WERROR result;
1767 } out;
1772 struct DRSUAPI_EXECUTE_KCC {
1773 struct {
1774 WERROR result;
1775 } out;
1780 struct drsuapi_DsReplicaGetInfo {
1781 struct {
1782 struct policy_handle *bind_handle;/* [ref] */
1783 enum drsuapi_DsReplicaGetInfoLevel level;
1784 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1785 } in;
1787 struct {
1788 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1789 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1790 WERROR result;
1791 } out;
1796 struct DRSUAPI_ADD_SID_HISTORY {
1797 struct {
1798 WERROR result;
1799 } out;
1804 struct drsuapi_DsGetMemberships2 {
1805 struct {
1806 struct policy_handle *bind_handle;/* [ref] */
1807 int32_t level;
1808 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1809 } in;
1811 struct {
1812 int32_t *level_out;/* [ref] */
1813 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1814 WERROR result;
1815 } out;
1820 struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1821 struct {
1822 WERROR result;
1823 } out;
1828 struct DRSUAPI_GET_OBJECT_EXISTENCE {
1829 struct {
1830 WERROR result;
1831 } out;
1836 struct drsuapi_QuerySitesByCost {
1837 struct {
1838 struct policy_handle *bind_handle;/* [ref] */
1839 int32_t level;
1840 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1841 } in;
1843 struct {
1844 int32_t *level_out;/* [ref] */
1845 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1846 WERROR result;
1847 } out;
1851 #endif /* _HEADER_drsuapi */