1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/security.h"
6 #include "librpc/gen_ndr/misc.h"
7 #include "librpc/gen_ndr/samr.h"
8 #ifndef _HEADER_drsuapi
9 #define _HEADER_drsuapi
11 #define DRSUAPI_DS_BIND_GUID ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" )
12 #define DRSUAPI_DS_BIND_GUID_W2K ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" )
13 #define DRSUAPI_DS_BIND_GUID_W2K3 ( "6afab99c-6e26-464a-975f-f58f105218bc" )
14 #define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR ( 0x1 )
15 #define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
16 /* bitmap drsuapi_SupportedExtensions */
17 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
18 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
19 #define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
20 #define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
21 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
22 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
23 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
24 #define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
25 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
26 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
27 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
28 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
29 #define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
30 #define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
31 #define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
32 #define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
33 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
34 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
35 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
36 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
37 #define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
38 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
39 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
40 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
41 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
42 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
43 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
44 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
45 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
46 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
47 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
48 #define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
49 #define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
50 #define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
52 struct drsuapi_DsBindInfo24
{
53 uint32_t supported_extensions
;
54 struct GUID site_guid
;
58 struct drsuapi_DsBindInfo28
{
59 uint32_t supported_extensions
;
60 struct GUID site_guid
;
65 struct drsuapi_DsBindInfoFallBack
{
66 DATA_BLOB info
;/* [flag(LIBNDR_FLAG_REMAINING)] */
69 union drsuapi_DsBindInfo
{
70 struct drsuapi_DsBindInfo24 info24
;/* [subcontext(4),case(24)] */
71 struct drsuapi_DsBindInfo28 info28
;/* [subcontext(4),case(28)] */
72 struct drsuapi_DsBindInfoFallBack FallBack
;/* [subcontext(4),default] */
73 }/* [nodiscriminant] */;
75 struct drsuapi_DsBindInfoCtr
{
76 uint32_t length
;/* [range(1,10000)] */
77 union drsuapi_DsBindInfo info
;/* [switch_is(length)] */
80 struct drsuapi_DsReplicaObjectIdentifier
{
81 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->flags)-4)] */
82 uint32_t __ndr_size_sid
;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
85 uint32_t __ndr_size_dn
;/* [value(strlen_m(dn))] */
86 const char *dn
;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
87 }/* [gensize,public] */;
89 /* bitmap drsuapi_DsReplicaSyncOptions */
90 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
91 #define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
92 #define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
93 #define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
94 #define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
95 #define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
96 #define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
97 #define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
98 #define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
99 #define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
100 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
101 #define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
102 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
103 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
104 #define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
105 #define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
106 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
107 #define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
108 #define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
109 #define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
110 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
111 #define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
112 #define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
113 #define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
115 struct drsuapi_DsReplicaSyncRequest1
{
116 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [unique] */
117 struct GUID source_dsa_guid
;
118 const char * other_info
;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
122 union drsuapi_DsReplicaSyncRequest
{
123 struct drsuapi_DsReplicaSyncRequest1 req1
;/* [case] */
124 }/* [switch_type(int32)] */;
126 struct drsuapi_DsReplicaHighWaterMark
{
127 uint64_t tmp_highest_usn
;
128 uint64_t reserved_usn
;
129 uint64_t highest_usn
;
132 struct drsuapi_DsReplicaCursor
{
133 struct GUID source_dsa_invocation_id
;
134 uint64_t highest_usn
;
137 struct drsuapi_DsReplicaCursorCtrEx
{
140 uint32_t count
;/* [range(0,0x100000)] */
142 struct drsuapi_DsReplicaCursor
*cursors
;/* [size_is(count)] */
145 /* bitmap drsuapi_DsReplicaNeighbourFlags */
146 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
147 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
148 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
149 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
150 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
151 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
152 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
153 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
154 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
155 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
156 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
157 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
158 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
159 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
160 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
162 struct drsuapi_DsGetNCChangesRequest5
{
163 struct GUID destination_dsa_guid
;
164 struct GUID source_dsa_invocation_id
;
165 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [ref] */
166 struct drsuapi_DsReplicaHighWaterMark highwatermark
;
167 struct drsuapi_DsReplicaCursorCtrEx
*uptodateness_vector
;/* [unique] */
168 uint32_t replica_flags
;
169 uint32_t max_object_count
;
170 uint32_t max_ndr_size
;
175 struct drsuapi_DsReplicaOID
{
176 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
177 const char *oid
;/* [unique,charset(DOS),size_is(__ndr_size)] */
178 }/* [nopush,nopull] */;
180 struct drsuapi_DsReplicaOIDMapping
{
182 struct drsuapi_DsReplicaOID oid
;
185 struct drsuapi_DsReplicaOIDMapping_Ctr
{
186 uint32_t num_mappings
;/* [range(0,0x100000)] */
187 struct drsuapi_DsReplicaOIDMapping
*mappings
;/* [unique,size_is(num_mappings)] */
190 enum drsuapi_DsObjectClassId
191 #ifndef USE_UINT_ENUMS
193 DRSUAPI_OBJECTCLASS_top
=0x00010000,
194 DRSUAPI_OBJECTCLASS_classSchema
=0x0003000d,
195 DRSUAPI_OBJECTCLASS_attributeSchema
=0x0003000e
198 { __donnot_use_enum_drsuapi_DsObjectClassId
=0x7FFFFFFF}
199 #define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
200 #define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
201 #define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
205 enum drsuapi_DsAttributeId
206 #ifndef USE_UINT_ENUMS
208 DRSUAPI_ATTRIBUTE_objectClass
=0x00000000,
209 DRSUAPI_ATTRIBUTE_description
=0x0000000d,
210 DRSUAPI_ATTRIBUTE_member
=0x0000001f,
211 DRSUAPI_ATTRIBUTE_instanceType
=0x00020001,
212 DRSUAPI_ATTRIBUTE_whenCreated
=0x00020002,
213 DRSUAPI_ATTRIBUTE_hasMasterNCs
=0x0002000e,
214 DRSUAPI_ATTRIBUTE_governsID
=0x00020016,
215 DRSUAPI_ATTRIBUTE_attributeID
=0x0002001e,
216 DRSUAPI_ATTRIBUTE_attributeSyntax
=0x00020020,
217 DRSUAPI_ATTRIBUTE_isSingleValued
=0x00020021,
218 DRSUAPI_ATTRIBUTE_rangeLower
=0x00020022,
219 DRSUAPI_ATTRIBUTE_rangeUpper
=0x00020023,
220 DRSUAPI_ATTRIBUTE_dMDLocation
=0x00020024,
221 DRSUAPI_ATTRIBUTE_objectVersion
=0x0002004c,
222 DRSUAPI_ATTRIBUTE_invocationId
=0x00020073,
223 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
=0x000200a9,
224 DRSUAPI_ATTRIBUTE_adminDisplayName
=0x000200c2,
225 DRSUAPI_ATTRIBUTE_adminDescription
=0x000200e2,
226 DRSUAPI_ATTRIBUTE_oMSyntax
=0x000200e7,
227 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
=0x00020119,
228 DRSUAPI_ATTRIBUTE_searchFlags
=0x0002014e,
229 DRSUAPI_ATTRIBUTE_lDAPDisplayName
=0x000201cc,
230 DRSUAPI_ATTRIBUTE_name
=0x00090001,
231 DRSUAPI_ATTRIBUTE_currentValue
=0x0009001b,
232 DRSUAPI_ATTRIBUTE_objectSid
=0x00090092,
233 DRSUAPI_ATTRIBUTE_schemaIDGUID
=0x00090094,
234 DRSUAPI_ATTRIBUTE_dBCSPwd
=0x00090037,
235 DRSUAPI_ATTRIBUTE_unicodePwd
=0x0009005a,
236 DRSUAPI_ATTRIBUTE_ntPwdHistory
=0x0009005e,
237 DRSUAPI_ATTRIBUTE_priorValue
=0x00090064,
238 DRSUAPI_ATTRIBUTE_supplementalCredentials
=0x0009007d,
239 DRSUAPI_ATTRIBUTE_trustAuthIncoming
=0x00090081,
240 DRSUAPI_ATTRIBUTE_trustAuthOutgoing
=0x00090087,
241 DRSUAPI_ATTRIBUTE_lmPwdHistory
=0x000900a0,
242 DRSUAPI_ATTRIBUTE_sAMAccountName
=0x000900dd,
243 DRSUAPI_ATTRIBUTE_fSMORoleOwner
=0x00090171,
244 DRSUAPI_ATTRIBUTE_systemFlags
=0x00090177,
245 DRSUAPI_ATTRIBUTE_serverReference
=0x00090203,
246 DRSUAPI_ATTRIBUTE_serverReferenceBL
=0x00090204,
247 DRSUAPI_ATTRIBUTE_initialAuthIncoming
=0x0009021b,
248 DRSUAPI_ATTRIBUTE_initialAuthOutgoing
=0x0009021c,
249 DRSUAPI_ATTRIBUTE_wellKnownObjects
=0x0009026a,
250 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
=0x0009027f,
251 DRSUAPI_ATTRIBUTE_objectCategory
=0x0009030e,
252 DRSUAPI_ATTRIBUTE_gPLink
=0x0009037b,
253 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
=0x000905b3,
254 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
=0x000906f6,
255 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
=0x0009071c,
256 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
=0x0009072c
259 { __donnot_use_enum_drsuapi_DsAttributeId
=0x7FFFFFFF}
260 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
261 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
262 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
263 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
264 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
265 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
266 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
267 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
268 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
269 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
270 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
271 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
272 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
273 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
274 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
275 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
276 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
277 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
278 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
279 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
280 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
281 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
282 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
283 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
284 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
285 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
286 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
287 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
288 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
289 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
290 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
291 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
292 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
293 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
294 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
295 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
296 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
297 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
298 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
299 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
300 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
301 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
302 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
303 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
304 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
305 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
306 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
307 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
308 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
312 struct drsuapi_DsGetNCChangesRequest8
{
313 struct GUID destination_dsa_guid
;
314 struct GUID source_dsa_invocation_id
;
315 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [ref] */
316 struct drsuapi_DsReplicaHighWaterMark highwatermark
;
317 struct drsuapi_DsReplicaCursorCtrEx
*uptodateness_vector
;/* [unique] */
318 uint32_t replica_flags
;
319 uint32_t max_object_count
;
320 uint32_t max_ndr_size
;
323 uint32_t unique_ptr1
;
324 uint32_t unique_ptr2
;
325 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
328 union drsuapi_DsGetNCChangesRequest
{
329 struct drsuapi_DsGetNCChangesRequest5 req5
;/* [case(5)] */
330 struct drsuapi_DsGetNCChangesRequest8 req8
;/* [case(8)] */
331 }/* [switch_type(int32)] */;
333 struct drsuapi_DsReplicaCursor2
{
334 struct GUID source_dsa_invocation_id
;
335 uint64_t highest_usn
;
336 NTTIME last_sync_success
;
339 struct drsuapi_DsReplicaCursor2CtrEx
{
342 uint32_t count
;/* [range(0,0x100000)] */
344 struct drsuapi_DsReplicaCursor2
*cursors
;/* [size_is(count)] */
347 struct drsuapi_DsAttributeValue
{
348 uint32_t __ndr_size
;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
349 DATA_BLOB
*blob
;/* [unique] */
352 struct drsuapi_DsAttributeValueCtr
{
353 uint32_t num_values
;/* [range(0,10485760)] */
354 struct drsuapi_DsAttributeValue
*values
;/* [unique,size_is(num_values)] */
357 struct drsuapi_DsReplicaObjectIdentifier3
{
358 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->flags))] */
359 uint32_t __ndr_size_sid
;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
361 struct dom_sid28 sid
;
362 uint32_t __ndr_size_dn
;/* [value(strlen_m(dn))] */
363 const char *dn
;/* [charset(UTF16)] */
364 }/* [gensize,public] */;
366 struct drsuapi_DsReplicaObjectIdentifier3Binary
{
367 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->flags))] */
368 uint32_t __ndr_size_sid
;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
370 struct dom_sid28 sid
;
371 uint32_t __ndr_size_dn
;/* [value(strlen_m(dn))] */
372 const char *dn
;/* [charset(UTF16)] */
373 uint32_t __ndr_size_binary
;/* [value(binary.length+4)] */
374 DATA_BLOB binary
;/* [flag(LIBNDR_FLAG_REMAINING)] */
375 }/* [gensize,public] */;
377 struct drsuapi_DsReplicaAttribute
{
378 enum drsuapi_DsAttributeId attid
;
379 struct drsuapi_DsAttributeValueCtr value_ctr
;
382 struct drsuapi_DsReplicaAttributeCtr
{
383 uint32_t num_attributes
;/* [range(0,1048576)] */
384 struct drsuapi_DsReplicaAttribute
*attributes
;/* [unique,size_is(num_attributes)] */
387 struct drsuapi_DsReplicaObject
{
388 struct drsuapi_DsReplicaObjectIdentifier
*identifier
;/* [unique] */
390 struct drsuapi_DsReplicaAttributeCtr attribute_ctr
;
393 struct drsuapi_DsReplicaMetaData
{
395 NTTIME originating_change_time
;
396 struct GUID originating_invocation_id
;
397 uint64_t originating_usn
;
400 struct drsuapi_DsReplicaMetaDataCtr
{
401 uint32_t count
;/* [range(0,1048576)] */
402 struct drsuapi_DsReplicaMetaData
*meta_data
;/* [size_is(count)] */
405 struct drsuapi_DsReplicaObjectListItemEx
{
406 struct drsuapi_DsReplicaObjectListItemEx
*next_object
;/* [unique] */
407 struct drsuapi_DsReplicaObject object
;
409 struct GUID
*parent_object_guid
;/* [unique] */
410 struct drsuapi_DsReplicaMetaDataCtr
*meta_data_ctr
;/* [unique] */
411 }/* [noprint,public] */;
413 struct drsuapi_DsGetNCChangesCtr1
{
414 struct GUID source_dsa_guid
;
415 struct GUID source_dsa_invocation_id
;
416 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [unique] */
417 struct drsuapi_DsReplicaHighWaterMark old_highwatermark
;
418 struct drsuapi_DsReplicaHighWaterMark new_highwatermark
;
419 struct drsuapi_DsReplicaCursorCtrEx
*uptodateness_vector
;/* [unique] */
420 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
421 uint32_t total_object_count
;
422 uint32_t object_count
;
423 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->flags)+55)] */
424 struct drsuapi_DsReplicaObjectListItemEx
*first_object
;/* [unique] */
426 }/* [gensize,public] */;
428 /* bitmap drsuapi_DsLinkedAttributeFlags */
429 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
431 struct drsuapi_DsReplicaLinkedAttribute
{
432 struct drsuapi_DsReplicaObjectIdentifier
*identifier
;/* [unique] */
433 enum drsuapi_DsAttributeId attid
;
434 struct drsuapi_DsAttributeValue value
;
436 NTTIME originating_add_time
;
437 struct drsuapi_DsReplicaMetaData meta_data
;
440 struct drsuapi_DsGetNCChangesCtr6
{
441 struct GUID source_dsa_guid
;
442 struct GUID source_dsa_invocation_id
;
443 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [unique] */
444 struct drsuapi_DsReplicaHighWaterMark old_highwatermark
;
445 struct drsuapi_DsReplicaHighWaterMark new_highwatermark
;
446 struct drsuapi_DsReplicaCursor2CtrEx
*uptodateness_vector
;/* [unique] */
447 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
448 uint32_t total_object_count
;
449 uint32_t object_count
;
450 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->flags)+55)] */
451 struct drsuapi_DsReplicaObjectListItemEx
*first_object
;/* [unique] */
455 uint32_t linked_attributes_count
;/* [range(0,1048576)] */
456 struct drsuapi_DsReplicaLinkedAttribute
*linked_attributes
;/* [unique,size_is(linked_attributes_count)] */
458 }/* [gensize,public] */;
460 struct drsuapi_DsGetNCChangesMSZIPCtr1
{
461 uint32_t decompressed_length
;
462 uint32_t compressed_length
;
463 struct drsuapi_DsGetNCChangesCtr1
*ctr1
;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
466 struct drsuapi_DsGetNCChangesMSZIPCtr6
{
467 uint32_t decompressed_length
;
468 uint32_t compressed_length
;
469 struct drsuapi_DsGetNCChangesCtr6
*ctr6
;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
472 struct drsuapi_DsGetNCChangesXPRESSCtr1
{
473 uint32_t decompressed_length
;
474 uint32_t compressed_length
;
475 DATA_BLOB
*decompressed
;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4),flag(LIBNDR_FLAG_REMAINING)] */
478 struct drsuapi_DsGetNCChangesXPRESSCtr6
{
479 uint32_t decompressed_length
;
480 uint32_t compressed_length
;
481 DATA_BLOB
*decompressed
;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4),flag(LIBNDR_FLAG_REMAINING)] */
484 enum drsuapi_DsGetNCChangesCompressionType
485 #ifndef USE_UINT_ENUMS
487 DRSUAPI_COMPRESSION_TYPE_MSZIP
=2,
488 DRSUAPI_COMPRESSION_TYPE_XPRESS
=3
491 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType
=0x7FFFFFFF}
492 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
493 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
497 union drsuapi_DsGetNCChangesCompressedCtr
{
498 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1
;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
499 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6
;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
500 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1
;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
501 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6
;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
502 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
504 struct drsuapi_DsGetNCChangesCtr2
{
505 union drsuapi_DsGetNCChangesCompressedCtr ctr
;/* [switch_is(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
508 struct drsuapi_DsGetNCChangesCtr7
{
509 int32_t level
;/* [range(0,6)] */
510 enum drsuapi_DsGetNCChangesCompressionType type
;/* [range(2,3)] */
511 union drsuapi_DsGetNCChangesCompressedCtr ctr
;/* [switch_is(level|(type<<16))] */
514 union drsuapi_DsGetNCChangesCtr
{
515 struct drsuapi_DsGetNCChangesCtr1 ctr1
;/* [case] */
516 struct drsuapi_DsGetNCChangesCtr2 ctr2
;/* [case(2)] */
517 struct drsuapi_DsGetNCChangesCtr6 ctr6
;/* [case(6)] */
518 struct drsuapi_DsGetNCChangesCtr7 ctr7
;/* [case(7)] */
519 }/* [switch_type(int32)] */;
521 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
522 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
523 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000002 )
524 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
525 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
526 #define DRSUAPI_DS_REPLICA_UPDATE_0x00000010 ( 0x00000010 )
528 struct drsuapi_DsReplicaUpdateRefsRequest1
{
529 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [ref] */
530 const char *dest_dsa_dns_name
;/* [ref,charset(DOS)] */
531 struct GUID dest_dsa_guid
;
535 union drsuapi_DsReplicaUpdateRefsRequest
{
536 struct drsuapi_DsReplicaUpdateRefsRequest1 req1
;/* [case] */
537 }/* [switch_type(int32)] */;
539 /* bitmap drsuapi_DsReplicaAddOptions */
540 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
541 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
543 /* bitmap drsuapi_DsReplicaDeleteOptions */
544 #define DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
545 #define DRSUAPI_DS_REPLICA_DELETE_WRITEABLE ( 0x00000002 )
547 /* bitmap drsuapi_DsReplicaModifyOptions */
548 #define DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION ( 0x00000001 )
549 #define DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE ( 0x00000002 )
551 enum drsuapi_DsMembershipType
552 #ifndef USE_UINT_ENUMS
554 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
=1,
555 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
=2,
556 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
=3,
557 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
=4,
558 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
=5,
559 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
=6,
560 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
=7
563 { __donnot_use_enum_drsuapi_DsMembershipType
=0x7FFFFFFF}
564 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
565 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
566 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
567 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
568 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
569 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
570 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
574 struct drsuapi_DsGetMembershipsCtr1
{
576 uint32_t num_memberships
;/* [range(0,10000)] */
577 uint32_t num_sids
;/* [range(0,10000)] */
578 struct drsuapi_DsReplicaObjectIdentifier
**info_array
;/* [unique,size_is(num_memberships)] */
579 uint32_t *group_attrs
;/* [unique,size_is(num_memberships)] */
580 struct dom_sid28
**sids
;/* [unique,size_is(num_sids)] */
583 union drsuapi_DsGetMembershipsCtr
{
584 struct drsuapi_DsGetMembershipsCtr1 ctr1
;/* [case] */
585 }/* [switch_type(int32)] */;
587 struct drsuapi_DsGetMembershipsRequest1
{
588 uint32_t count
;/* [range(1,10000)] */
589 struct drsuapi_DsReplicaObjectIdentifier
**info_array
;/* [unique,size_is(count)] */
591 enum drsuapi_DsMembershipType type
;
592 struct drsuapi_DsReplicaObjectIdentifier
*domain
;/* [unique] */
595 union drsuapi_DsGetMembershipsRequest
{
596 struct drsuapi_DsGetMembershipsRequest1 req1
;/* [case] */
597 }/* [switch_type(int32)] */;
599 struct drsuapi_DsGetNT4ChangeLogRequest1
{
602 uint32_t length
;/* [range(0,0x00A00000)] */
603 uint8_t *data
;/* [unique,size_is(length)] */
606 union drsuapi_DsGetNT4ChangeLogRequest
{
607 struct drsuapi_DsGetNT4ChangeLogRequest1 req1
;/* [case] */
608 }/* [switch_type(uint32)] */;
610 struct drsuapi_DsGetNT4ChangeLogInfo1
{
611 uint32_t length1
;/* [range(0,0x00A00000)] */
612 uint32_t length2
;/* [range(0,0x00A00000)] */
620 uint8_t *data1
;/* [unique,size_is(length1)] */
621 uint8_t *data2
;/* [unique,size_is(length2)] */
624 union drsuapi_DsGetNT4ChangeLogInfo
{
625 struct drsuapi_DsGetNT4ChangeLogInfo1 info1
;/* [case] */
626 }/* [switch_type(uint32)] */;
628 enum drsuapi_DsNameStatus
629 #ifndef USE_UINT_ENUMS
631 DRSUAPI_DS_NAME_STATUS_OK
=0,
632 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
=1,
633 DRSUAPI_DS_NAME_STATUS_NOT_FOUND
=2,
634 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
=3,
635 DRSUAPI_DS_NAME_STATUS_NO_MAPPING
=4,
636 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
=5,
637 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
=6,
638 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
=7
641 { __donnot_use_enum_drsuapi_DsNameStatus
=0x7FFFFFFF}
642 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
643 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
644 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
645 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
646 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
647 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
648 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
649 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
653 enum drsuapi_DsNameFlags
654 #ifndef USE_UINT_ENUMS
656 DRSUAPI_DS_NAME_FLAG_NO_FLAGS
=0x0,
657 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
=0x1,
658 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
=0x2,
659 DRSUAPI_DS_NAME_FLAG_GCVERIFY
=0x4,
660 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
=0x8
663 { __donnot_use_enum_drsuapi_DsNameFlags
=0x7FFFFFFF}
664 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
665 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
666 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
667 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
668 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
672 enum drsuapi_DsNameFormat
673 #ifndef USE_UINT_ENUMS
675 DRSUAPI_DS_NAME_FORMAT_UKNOWN
=0,
676 DRSUAPI_DS_NAME_FORMAT_FQDN_1779
=1,
677 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
=2,
678 DRSUAPI_DS_NAME_FORMAT_DISPLAY
=3,
679 DRSUAPI_DS_NAME_FORMAT_GUID
=6,
680 DRSUAPI_DS_NAME_FORMAT_CANONICAL
=7,
681 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
=8,
682 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
=9,
683 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
=10,
684 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
=11,
685 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
=12
688 { __donnot_use_enum_drsuapi_DsNameFormat
=0x7FFFFFFF}
689 #define DRSUAPI_DS_NAME_FORMAT_UKNOWN ( 0 )
690 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
691 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
692 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
693 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
694 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
695 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
696 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
697 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
698 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
699 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
703 struct drsuapi_DsNameString
{
704 const char *str
;/* [unique,charset(UTF16)] */
707 struct drsuapi_DsNameRequest1
{
710 enum drsuapi_DsNameFlags format_flags
;
711 enum drsuapi_DsNameFormat format_offered
;
712 enum drsuapi_DsNameFormat format_desired
;
713 uint32_t count
;/* [range(1,10000)] */
714 struct drsuapi_DsNameString
*names
;/* [unique,size_is(count)] */
717 union drsuapi_DsNameRequest
{
718 struct drsuapi_DsNameRequest1 req1
;/* [case] */
719 }/* [switch_type(int32)] */;
721 struct drsuapi_DsNameInfo1
{
722 enum drsuapi_DsNameStatus status
;
723 const char *dns_domain_name
;/* [unique,charset(UTF16)] */
724 const char *result_name
;/* [unique,charset(UTF16)] */
727 struct drsuapi_DsNameCtr1
{
729 struct drsuapi_DsNameInfo1
*array
;/* [unique,size_is(count)] */
732 union drsuapi_DsNameCtr
{
733 struct drsuapi_DsNameCtr1
*ctr1
;/* [unique,case] */
734 }/* [switch_type(int32)] */;
736 enum drsuapi_DsSpnOperation
737 #ifndef USE_UINT_ENUMS
739 DRSUAPI_DS_SPN_OPERATION_ADD
=0,
740 DRSUAPI_DS_SPN_OPERATION_REPLACE
=1,
741 DRSUAPI_DS_SPN_OPERATION_DELETE
=2
744 { __donnot_use_enum_drsuapi_DsSpnOperation
=0x7FFFFFFF}
745 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
746 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
747 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
751 struct drsuapi_DsWriteAccountSpnRequest1
{
752 enum drsuapi_DsSpnOperation operation
;
754 const char *object_dn
;/* [unique,charset(UTF16)] */
755 uint32_t count
;/* [range(0,10000)] */
756 struct drsuapi_DsNameString
*spn_names
;/* [unique,size_is(count)] */
759 union drsuapi_DsWriteAccountSpnRequest
{
760 struct drsuapi_DsWriteAccountSpnRequest1 req1
;/* [case] */
761 }/* [switch_type(int32)] */;
763 struct drsuapi_DsWriteAccountSpnResult1
{
767 union drsuapi_DsWriteAccountSpnResult
{
768 struct drsuapi_DsWriteAccountSpnResult1 res1
;/* [case] */
769 }/* [switch_type(int32)] */;
771 struct drsuapi_DsRemoveDSServerRequest1
{
772 const char *server_dn
;/* [unique,charset(UTF16)] */
773 const char *domain_dn
;/* [unique,charset(UTF16)] */
777 union drsuapi_DsRemoveDSServerRequest
{
778 struct drsuapi_DsRemoveDSServerRequest1 req1
;/* [case] */
779 }/* [switch_type(int32)] */;
781 struct drsuapi_DsRemoveDSServerResult1
{
785 union drsuapi_DsRemoveDSServerResult
{
786 struct drsuapi_DsRemoveDSServerResult1 res1
;/* [case] */
787 }/* [switch_type(int32)] */;
789 struct drsuapi_DsGetDCInfoRequest1
{
790 const char *domain_name
;/* [unique,charset(UTF16)] */
794 union drsuapi_DsGetDCInfoRequest
{
795 struct drsuapi_DsGetDCInfoRequest1 req1
;/* [case] */
796 }/* [switch_type(int32)] */;
798 struct drsuapi_DsGetDCInfo1
{
799 const char *netbios_name
;/* [unique,charset(UTF16)] */
800 const char *dns_name
;/* [unique,charset(UTF16)] */
801 const char *site_name
;/* [unique,charset(UTF16)] */
802 const char *computer_dn
;/* [unique,charset(UTF16)] */
803 const char *server_dn
;/* [unique,charset(UTF16)] */
808 struct drsuapi_DsGetDCInfoCtr1
{
809 uint32_t count
;/* [range(0,10000)] */
810 struct drsuapi_DsGetDCInfo1
*array
;/* [unique,size_is(count)] */
813 struct drsuapi_DsGetDCInfo2
{
814 const char *netbios_name
;/* [unique,charset(UTF16)] */
815 const char *dns_name
;/* [unique,charset(UTF16)] */
816 const char *site_name
;/* [unique,charset(UTF16)] */
817 const char *site_dn
;/* [unique,charset(UTF16)] */
818 const char *computer_dn
;/* [unique,charset(UTF16)] */
819 const char *server_dn
;/* [unique,charset(UTF16)] */
820 const char *ntds_dn
;/* [unique,charset(UTF16)] */
824 struct GUID site_guid
;
825 struct GUID computer_guid
;
826 struct GUID server_guid
;
827 struct GUID ntds_guid
;
830 struct drsuapi_DsGetDCInfoCtr2
{
831 uint32_t count
;/* [range(0,10000)] */
832 struct drsuapi_DsGetDCInfo2
*array
;/* [unique,size_is(count)] */
835 struct drsuapi_DsGetDCConnection01
{
836 const char * client_ip_address
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
838 uint32_t connection_time
;
842 const char *client_account
;/* [unique,charset(UTF16)] */
845 struct drsuapi_DsGetDCConnectionCtr01
{
846 uint32_t count
;/* [range(0,10000)] */
847 struct drsuapi_DsGetDCConnection01
*array
;/* [unique,size_is(count)] */
850 enum drsuapi_DsGetDCInfoCtrLevels
851 #ifndef USE_UINT_ENUMS
853 DRSUAPI_DC_INFO_CTR_1
=1,
854 DRSUAPI_DC_INFO_CTR_2
=2,
855 DRSUAPI_DC_CONNECTION_CTR_01
=-1
858 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels
=0x7FFFFFFF}
859 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
860 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
861 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
865 union drsuapi_DsGetDCInfoCtr
{
866 struct drsuapi_DsGetDCInfoCtr1 ctr1
;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
867 struct drsuapi_DsGetDCInfoCtr2 ctr2
;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
868 struct drsuapi_DsGetDCConnectionCtr01 ctr01
;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
869 }/* [switch_type(int32)] */;
871 struct drsuapi_DsReplicaObjectListItem
{
872 struct drsuapi_DsReplicaObjectListItem
*next_object
;/* [unique] */
873 struct drsuapi_DsReplicaObject object
;
874 }/* [noprint,public] */;
876 struct drsuapi_DsAddEntryRequest2
{
877 struct drsuapi_DsReplicaObjectListItem first_object
;
880 union drsuapi_DsAddEntryRequest
{
881 struct drsuapi_DsAddEntryRequest2 req2
;/* [case(2)] */
882 }/* [switch_type(int32)] */;
884 struct drsuapi_DsAddEntryErrorInfoX
{
891 struct drsuapi_DsAddEntryExtraErrorBuffer
{
892 uint32_t size
;/* [range(0,10485760)] */
893 uint8_t *data
;/* [unique,size_is(size)] */
896 struct drsuapi_DsAddEntryExtraError1
{
897 struct drsuapi_DsAddEntryErrorInfoX error
;
898 enum drsuapi_DsAttributeId attid
;
900 struct drsuapi_DsAddEntryExtraErrorBuffer buffer
;
903 struct drsuapi_DsAddEntryErrorListItem1
{
904 struct drsuapi_DsAddEntryErrorListItem1
*next
;/* [unique] */
905 struct drsuapi_DsAddEntryExtraError1 error
;
908 struct drsuapi_DsAddEntryErrorInfo1
{
909 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
911 struct drsuapi_DsAddEntryErrorListItem1 first
;
914 union drsuapi_DsAddEntryErrorInfo
{
915 struct drsuapi_DsAddEntryErrorInfo1 error1
;/* [case] */
916 struct drsuapi_DsAddEntryErrorInfoX errorX
;/* [case(4)] */
917 }/* [switch_type(uint32)] */;
919 struct drsuapi_DsAddEntryError1
{
922 union drsuapi_DsAddEntryErrorInfo
*info
;/* [unique,switch_is(level)] */
925 union drsuapi_DsAddEntryError
{
926 struct drsuapi_DsAddEntryError1 info1
;/* [case] */
927 }/* [switch_type(uint32)] */;
929 struct drsuapi_DsReplicaObjectIdentifier2
{
931 struct dom_sid28 sid
;
934 struct drsuapi_DsAddEntryCtr2
{
935 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
937 struct drsuapi_DsAddEntryErrorInfoX error
;
938 uint32_t count
;/* [range(0,10000)] */
939 struct drsuapi_DsReplicaObjectIdentifier2
*objects
;/* [unique,size_is(count)] */
942 struct drsuapi_DsAddEntryCtr3
{
943 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
945 union drsuapi_DsAddEntryError
*error
;/* [unique,switch_is(level)] */
946 uint32_t count
;/* [range(0,10000)] */
947 struct drsuapi_DsReplicaObjectIdentifier2
*objects
;/* [unique,size_is(count)] */
950 union drsuapi_DsAddEntryCtr
{
951 struct drsuapi_DsAddEntryCtr2 ctr2
;/* [case(2)] */
952 struct drsuapi_DsAddEntryCtr3 ctr3
;/* [case(3)] */
953 }/* [switch_type(int32)] */;
955 enum drsuapi_DsReplicaGetInfoLevel
956 #ifndef USE_UINT_ENUMS
958 DRSUAPI_DS_REPLICA_GET_INFO
=1,
959 DRSUAPI_DS_REPLICA_GET_INFO2
=2
962 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel
=0x7FFFFFFF}
963 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
964 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
968 enum drsuapi_DsReplicaInfoType
969 #ifndef USE_UINT_ENUMS
971 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
=0,
972 DRSUAPI_DS_REPLICA_INFO_CURSORS
=1,
973 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
=2,
974 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
=3,
975 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
=4,
976 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
=5,
977 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
=6,
978 DRSUAPI_DS_REPLICA_INFO_CURSORS2
=7,
979 DRSUAPI_DS_REPLICA_INFO_CURSORS3
=8,
980 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
=9,
981 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
=10,
982 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
=-2,
983 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
=-4,
984 DRSUAPI_DS_REPLICA_INFO_CURSORS05
=-5,
985 DRSUAPI_DS_REPLICA_INFO_06
=-6
988 { __donnot_use_enum_drsuapi_DsReplicaInfoType
=0x7FFFFFFF}
989 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
990 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
991 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
992 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
993 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
994 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
995 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
996 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
997 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
998 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
999 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1000 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1001 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1002 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1003 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1007 struct drsuapi_DsReplicaGetInfoRequest1
{
1008 enum drsuapi_DsReplicaInfoType info_type
;
1009 const char *object_dn
;/* [unique,charset(UTF16)] */
1013 struct drsuapi_DsReplicaGetInfoRequest2
{
1014 enum drsuapi_DsReplicaInfoType info_type
;
1015 const char *object_dn
;/* [unique,charset(UTF16)] */
1018 const char *string1
;/* [unique,charset(UTF16)] */
1019 const char *string2
;/* [unique,charset(UTF16)] */
1023 union drsuapi_DsReplicaGetInfoRequest
{
1024 struct drsuapi_DsReplicaGetInfoRequest1 req1
;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1025 struct drsuapi_DsReplicaGetInfoRequest2 req2
;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1026 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1028 struct drsuapi_DsReplicaNeighbour
{
1029 const char *naming_context_dn
;/* [unique,charset(UTF16)] */
1030 const char *source_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1031 const char *source_dsa_address
;/* [unique,charset(UTF16)] */
1032 const char *transport_obj_dn
;/* [unique,charset(UTF16)] */
1033 uint32_t replica_flags
;
1035 struct GUID naming_context_obj_guid
;
1036 struct GUID source_dsa_obj_guid
;
1037 struct GUID source_dsa_invocation_id
;
1038 struct GUID transport_obj_guid
;
1039 uint64_t tmp_highest_usn
;
1040 uint64_t highest_usn
;
1041 NTTIME last_success
;
1042 NTTIME last_attempt
;
1043 WERROR result_last_attempt
;
1044 uint32_t consecutive_sync_failures
;
1047 struct drsuapi_DsReplicaNeighbourCtr
{
1050 struct drsuapi_DsReplicaNeighbour
*array
;/* [size_is(count)] */
1053 struct drsuapi_DsReplicaCursorCtr
{
1056 struct drsuapi_DsReplicaCursor
*array
;/* [size_is(count)] */
1059 struct drsuapi_DsReplicaObjMetaData
{
1060 const char *attribute_name
;/* [unique,charset(UTF16)] */
1062 NTTIME originating_change_time
;
1063 struct GUID originating_invocation_id
;
1064 uint64_t originating_usn
;
1068 struct drsuapi_DsReplicaObjMetaDataCtr
{
1071 struct drsuapi_DsReplicaObjMetaData
*array
;/* [size_is(count)] */
1074 struct drsuapi_DsReplicaKccDsaFailure
{
1075 const char *dsa_obj_dn
;/* [unique,charset(UTF16)] */
1076 struct GUID dsa_obj_guid
;
1077 NTTIME first_failure
;
1078 uint32_t num_failures
;
1082 struct drsuapi_DsReplicaKccDsaFailuresCtr
{
1085 struct drsuapi_DsReplicaKccDsaFailure
*array
;/* [size_is(count)] */
1088 enum drsuapi_DsReplicaOpType
1089 #ifndef USE_UINT_ENUMS
1091 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
=0,
1092 DRSUAPI_DS_REPLICA_OP_TYPE_ADD
=1,
1093 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
=2,
1094 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
=3,
1095 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
=4
1098 { __donnot_use_enum_drsuapi_DsReplicaOpType
=0x7FFFFFFF}
1099 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1100 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1101 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1102 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1103 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1107 union drsuapi_DsRplicaOpOptions
{
1108 uint32_t sync
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1109 uint32_t add
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1110 uint32_t op_delete
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1111 uint32_t modify
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1112 uint32_t update_refs
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1113 uint32_t unknown
;/* [default] */
1114 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1116 struct drsuapi_DsReplicaOp
{
1117 NTTIME operation_start
;
1118 uint32_t serial_num
;
1120 enum drsuapi_DsReplicaOpType operation_type
;
1121 union drsuapi_DsRplicaOpOptions options
;/* [switch_is(operation_type)] */
1122 const char *nc_dn
;/* [unique,charset(UTF16)] */
1123 const char *remote_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1124 const char *remote_dsa_address
;/* [unique,charset(UTF16)] */
1125 struct GUID nc_obj_guid
;
1126 struct GUID remote_dsa_obj_guid
;
1129 struct drsuapi_DsReplicaOpCtr
{
1132 struct drsuapi_DsReplicaOp
*array
;/* [size_is(count)] */
1135 struct drsuapi_DsReplicaAttrValMetaData
{
1136 const char *attribute_name
;/* [unique,charset(UTF16)] */
1137 const char *object_dn
;/* [unique,charset(UTF16)] */
1138 uint32_t __ndr_size_binary
;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1139 DATA_BLOB
*binary
;/* [unique] */
1143 NTTIME originating_change_time
;
1144 struct GUID originating_invocation_id
;
1145 uint64_t originating_usn
;
1149 struct drsuapi_DsReplicaAttrValMetaDataCtr
{
1151 int32_t enumeration_context
;
1152 struct drsuapi_DsReplicaAttrValMetaData
*array
;/* [size_is(count)] */
1155 struct drsuapi_DsReplicaCursor2Ctr
{
1157 int32_t enumeration_context
;
1158 struct drsuapi_DsReplicaCursor2
*array
;/* [size_is(count)] */
1161 struct drsuapi_DsReplicaCursor3
{
1162 struct GUID source_dsa_invocation_id
;
1163 uint64_t highest_usn
;
1164 NTTIME last_sync_success
;
1165 const char *source_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1168 struct drsuapi_DsReplicaCursor3Ctr
{
1170 int32_t enumeration_context
;
1171 struct drsuapi_DsReplicaCursor3
*array
;/* [size_is(count)] */
1174 struct drsuapi_DsReplicaObjMetaData2
{
1175 const char *attribute_name
;/* [unique,charset(UTF16)] */
1177 NTTIME originating_change_time
;
1178 struct GUID originating_invocation_id
;
1179 uint64_t originating_usn
;
1181 const char *originating_dsa_dn
;/* [unique,charset(UTF16)] */
1184 struct drsuapi_DsReplicaObjMetaData2Ctr
{
1186 int32_t enumeration_context
;
1187 struct drsuapi_DsReplicaObjMetaData2
*array
;/* [size_is(count)] */
1190 struct drsuapi_DsReplicaAttrValMetaData2
{
1191 const char *attribute_name
;/* [unique,charset(UTF16)] */
1192 const char *object_dn
;/* [unique,charset(UTF16)] */
1193 uint32_t __ndr_size_binary
;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1194 DATA_BLOB
*binary
;/* [unique] */
1198 NTTIME originating_change_time
;
1199 struct GUID originating_invocation_id
;
1200 uint64_t originating_usn
;
1202 const char *originating_dsa_dn
;/* [unique,charset(UTF16)] */
1205 struct drsuapi_DsReplicaAttrValMetaData2Ctr
{
1207 int32_t enumeration_context
;
1208 struct drsuapi_DsReplicaAttrValMetaData2
*array
;/* [size_is(count)] */
1211 struct drsuapi_DsReplicaConnection04
{
1215 struct GUID bind_guid
;
1217 const char * client_ip_address
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1221 struct drsuapi_DsReplicaConnection04Ctr
{
1222 uint32_t count
;/* [range(0,10000)] */
1224 struct drsuapi_DsReplicaConnection04
*array
;/* [size_is(count)] */
1227 struct drsuapi_DsReplica06
{
1228 const char *str1
;/* [unique,charset(UTF16)] */
1238 struct drsuapi_DsReplica06Ctr
{
1239 uint32_t count
;/* [range(0,256)] */
1241 struct drsuapi_DsReplica06
*array
;/* [size_is(count)] */
1244 union drsuapi_DsReplicaInfo
{
1245 struct drsuapi_DsReplicaNeighbourCtr
*neighbours
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1246 struct drsuapi_DsReplicaCursorCtr
*cursors
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1247 struct drsuapi_DsReplicaObjMetaDataCtr
*objmetadata
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1248 struct drsuapi_DsReplicaKccDsaFailuresCtr
*connectfailures
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1249 struct drsuapi_DsReplicaKccDsaFailuresCtr
*linkfailures
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1250 struct drsuapi_DsReplicaOpCtr
*pendingops
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1251 struct drsuapi_DsReplicaAttrValMetaDataCtr
*attrvalmetadata
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1252 struct drsuapi_DsReplicaCursor2Ctr
*cursors2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1253 struct drsuapi_DsReplicaCursor3Ctr
*cursors3
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1254 struct drsuapi_DsReplicaObjMetaData2Ctr
*objmetadata2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1255 struct drsuapi_DsReplicaAttrValMetaData2Ctr
*attrvalmetadata2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1256 struct drsuapi_DsReplicaNeighbourCtr
*neighbours02
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1257 struct drsuapi_DsReplicaConnection04Ctr
*connections04
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1258 struct drsuapi_DsReplicaCursorCtrEx
*cursors05
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1259 struct drsuapi_DsReplica06Ctr
*i06
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1260 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1262 struct drsuapi_DsGetMemberships2Ctr1
{
1263 uint32_t num_entries
;/* [range(0,10000)] */
1264 struct drsuapi_DsGetMembershipsCtr1
**ctrl_array
;/* [unique,size_is(num_entries)] */
1267 union drsuapi_DsGetMemberships2Ctr
{
1268 struct drsuapi_DsGetMembershipsCtr1 ctr1
;/* [case] */
1269 }/* [switch_type(int32)] */;
1271 struct drsuapi_DsGetMemberships2Request1
{
1272 uint32_t num_req
;/* [range(1,10000)] */
1273 struct drsuapi_DsGetMembershipsRequest1
**req_array
;/* [unique,size_is(num_req)] */
1276 union drsuapi_DsGetMemberships2Request
{
1277 struct drsuapi_DsGetMemberships2Request1 req1
;/* [case] */
1278 }/* [switch_type(int32)] */;
1280 struct drsuapi_DsSiteCostInfo
{
1285 struct drsuapi_QuerySitesByCostCtr1
{
1286 uint32_t num_info
;/* [range(0,10000)] */
1287 struct drsuapi_DsSiteCostInfo
*info
;/* [unique,size_is(num_info)] */
1291 union drsuapi_QuerySitesByCostCtr
{
1292 struct drsuapi_QuerySitesByCostCtr1 ctr1
;/* [case] */
1293 }/* [switch_type(int32)] */;
1295 struct drsuapi_QuerySitesByCostRequest1
{
1296 const char *site_from
;/* [unique,charset(UTF16)] */
1297 uint32_t num_req
;/* [range(1,10000)] */
1298 const char **site_to
;/* [unique,charset(UTF16),size_is(num_req)] */
1302 union drsuapi_QuerySitesByCostRequest
{
1303 struct drsuapi_QuerySitesByCostRequest1 req1
;/* [case] */
1304 }/* [switch_type(int32)] */;
1307 struct drsuapi_DsBind
{
1309 struct GUID
*bind_guid
;/* [unique] */
1310 struct drsuapi_DsBindInfoCtr
*bind_info
;/* [unique] */
1314 struct policy_handle
*bind_handle
;/* [ref] */
1315 struct drsuapi_DsBindInfoCtr
*bind_info
;/* [unique] */
1322 struct drsuapi_DsUnbind
{
1324 struct policy_handle
*bind_handle
;/* [ref] */
1328 struct policy_handle
*bind_handle
;/* [ref] */
1335 struct drsuapi_DsReplicaSync
{
1337 struct policy_handle
*bind_handle
;/* [ref] */
1339 union drsuapi_DsReplicaSyncRequest req
;/* [switch_is(level)] */
1349 struct drsuapi_DsGetNCChanges
{
1351 struct policy_handle
*bind_handle
;/* [ref] */
1352 union drsuapi_DsGetNCChangesRequest
*req
;/* [ref,switch_is(*level)] */
1353 int32_t *level
;/* [ref] */
1357 union drsuapi_DsGetNCChangesCtr
*ctr
;/* [ref,switch_is(*level)] */
1358 int32_t *level
;/* [ref] */
1365 struct drsuapi_DsReplicaUpdateRefs
{
1367 struct policy_handle
*bind_handle
;/* [ref] */
1369 union drsuapi_DsReplicaUpdateRefsRequest req
;/* [switch_is(level)] */
1379 struct DRSUAPI_REPLICA_ADD
{
1387 struct DRSUAPI_REPLICA_DEL
{
1395 struct DRSUAPI_REPLICA_MODIFY
{
1403 struct DRSUAPI_VERIFY_NAMES
{
1411 struct drsuapi_DsGetMemberships
{
1413 struct policy_handle
*bind_handle
;/* [ref] */
1415 union drsuapi_DsGetMembershipsRequest
*req
;/* [ref,switch_is(level)] */
1419 int32_t *level_out
;/* [ref] */
1420 union drsuapi_DsGetMembershipsCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1427 struct DRSUAPI_INTER_DOMAIN_MOVE
{
1435 struct drsuapi_DsGetNT4ChangeLog
{
1437 struct policy_handle
*bind_handle
;/* [ref] */
1439 union drsuapi_DsGetNT4ChangeLogRequest
*req
;/* [ref,switch_is(level)] */
1443 uint32_t *level_out
;/* [ref] */
1444 union drsuapi_DsGetNT4ChangeLogInfo
*info
;/* [ref,switch_is(*level_out)] */
1451 struct drsuapi_DsCrackNames
{
1453 struct policy_handle
*bind_handle
;/* [ref] */
1455 union drsuapi_DsNameRequest
*req
;/* [ref,switch_is(level)] */
1459 int32_t *level_out
;/* [ref] */
1460 union drsuapi_DsNameCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1467 struct drsuapi_DsWriteAccountSpn
{
1469 struct policy_handle
*bind_handle
;/* [ref] */
1471 union drsuapi_DsWriteAccountSpnRequest
*req
;/* [ref,switch_is(level)] */
1475 int32_t *level_out
;/* [ref] */
1476 union drsuapi_DsWriteAccountSpnResult
*res
;/* [ref,switch_is(*level_out)] */
1483 struct drsuapi_DsRemoveDSServer
{
1485 struct policy_handle
*bind_handle
;/* [ref] */
1487 union drsuapi_DsRemoveDSServerRequest
*req
;/* [ref,switch_is(level)] */
1491 int32_t *level_out
;/* [ref] */
1492 union drsuapi_DsRemoveDSServerResult
*res
;/* [ref,switch_is(*level_out)] */
1499 struct DRSUAPI_REMOVE_DS_DOMAIN
{
1507 struct drsuapi_DsGetDomainControllerInfo
{
1509 struct policy_handle
*bind_handle
;/* [ref] */
1511 union drsuapi_DsGetDCInfoRequest
*req
;/* [ref,switch_is(level)] */
1515 int32_t *level_out
;/* [ref] */
1516 union drsuapi_DsGetDCInfoCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1523 struct drsuapi_DsAddEntry
{
1525 struct policy_handle
*bind_handle
;/* [ref] */
1527 union drsuapi_DsAddEntryRequest
*req
;/* [ref,switch_is(level)] */
1531 int32_t *level_out
;/* [ref] */
1532 union drsuapi_DsAddEntryCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1539 struct DRSUAPI_EXECUTE_KCC
{
1547 struct drsuapi_DsReplicaGetInfo
{
1549 struct policy_handle
*bind_handle
;/* [ref] */
1550 enum drsuapi_DsReplicaGetInfoLevel level
;
1551 union drsuapi_DsReplicaGetInfoRequest
*req
;/* [ref,switch_is(level)] */
1555 enum drsuapi_DsReplicaInfoType
*info_type
;/* [ref] */
1556 union drsuapi_DsReplicaInfo
*info
;/* [ref,switch_is(*info_type)] */
1563 struct DRSUAPI_ADD_SID_HISTORY
{
1571 struct drsuapi_DsGetMemberships2
{
1573 struct policy_handle
*bind_handle
;/* [ref] */
1575 union drsuapi_DsGetMemberships2Request
*req
;/* [ref,switch_is(level)] */
1579 int32_t *level_out
;/* [ref] */
1580 union drsuapi_DsGetMemberships2Ctr
*ctr
;/* [ref,switch_is(*level_out)] */
1587 struct DRSUAPI_REPLICA_VERIFY_OBJECTS
{
1595 struct DRSUAPI_GET_OBJECT_EXISTENCE
{
1603 struct drsuapi_QuerySitesByCost
{
1605 struct policy_handle
*bind_handle
;/* [ref] */
1607 union drsuapi_QuerySitesByCostRequest
*req
;/* [ref,switch_is(level)] */
1611 int32_t *level_out
;/* [ref] */
1612 union drsuapi_QuerySitesByCostCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1618 #endif /* _HEADER_drsuapi */