1 /* header auto-generated by pidl */
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
;
64 struct drsuapi_DsBindInfo28
{
65 uint32_t supported_extensions
;
66 struct GUID site_guid
;
71 struct drsuapi_DsBindInfo48
{
72 uint32_t supported_extensions
;
73 struct GUID site_guid
;
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))] */
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)] */
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
;
148 struct drsuapi_DsReplicaCursor
{
149 struct GUID source_dsa_invocation_id
;
150 uint64_t highest_usn
;
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
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 )
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
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 )
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
;
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
{
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)] */
274 enum drsuapi_DsObjectClassId
275 #ifndef USE_UINT_ENUMS
277 DRSUAPI_OBJECTCLASS_top
=0x00010000,
278 DRSUAPI_OBJECTCLASS_classSchema
=0x0003000d,
279 DRSUAPI_OBJECTCLASS_attributeSchema
=0x0003000e
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 )
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_hasMasterNCs
=0x0002000e,
298 DRSUAPI_ATTRIBUTE_governsID
=0x00020016,
299 DRSUAPI_ATTRIBUTE_attributeID
=0x0002001e,
300 DRSUAPI_ATTRIBUTE_attributeSyntax
=0x00020020,
301 DRSUAPI_ATTRIBUTE_isSingleValued
=0x00020021,
302 DRSUAPI_ATTRIBUTE_rangeLower
=0x00020022,
303 DRSUAPI_ATTRIBUTE_rangeUpper
=0x00020023,
304 DRSUAPI_ATTRIBUTE_dMDLocation
=0x00020024,
305 DRSUAPI_ATTRIBUTE_objectVersion
=0x0002004c,
306 DRSUAPI_ATTRIBUTE_invocationId
=0x00020073,
307 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly
=0x000200a9,
308 DRSUAPI_ATTRIBUTE_adminDisplayName
=0x000200c2,
309 DRSUAPI_ATTRIBUTE_adminDescription
=0x000200e2,
310 DRSUAPI_ATTRIBUTE_oMSyntax
=0x000200e7,
311 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor
=0x00020119,
312 DRSUAPI_ATTRIBUTE_searchFlags
=0x0002014e,
313 DRSUAPI_ATTRIBUTE_lDAPDisplayName
=0x000201cc,
314 DRSUAPI_ATTRIBUTE_name
=0x00090001,
315 DRSUAPI_ATTRIBUTE_userAccountControl
=0x00090008,
316 DRSUAPI_ATTRIBUTE_currentValue
=0x0009001b,
317 DRSUAPI_ATTRIBUTE_homeDirectory
=0x0009002c,
318 DRSUAPI_ATTRIBUTE_homeDrive
=0x0009002d,
319 DRSUAPI_ATTRIBUTE_scriptPath
=0x0009003e,
320 DRSUAPI_ATTRIBUTE_profilePath
=0x0009008b,
321 DRSUAPI_ATTRIBUTE_objectSid
=0x00090092,
322 DRSUAPI_ATTRIBUTE_schemaIDGUID
=0x00090094,
323 DRSUAPI_ATTRIBUTE_dBCSPwd
=0x00090037,
324 DRSUAPI_ATTRIBUTE_logonHours
=0x00090040,
325 DRSUAPI_ATTRIBUTE_userWorkstations
=0x00090056,
326 DRSUAPI_ATTRIBUTE_unicodePwd
=0x0009005a,
327 DRSUAPI_ATTRIBUTE_ntPwdHistory
=0x0009005e,
328 DRSUAPI_ATTRIBUTE_priorValue
=0x00090064,
329 DRSUAPI_ATTRIBUTE_supplementalCredentials
=0x0009007d,
330 DRSUAPI_ATTRIBUTE_trustAuthIncoming
=0x00090081,
331 DRSUAPI_ATTRIBUTE_trustAuthOutgoing
=0x00090087,
332 DRSUAPI_ATTRIBUTE_lmPwdHistory
=0x000900a0,
333 DRSUAPI_ATTRIBUTE_sAMAccountName
=0x000900dd,
334 DRSUAPI_ATTRIBUTE_sAMAccountType
=0x0009012e,
335 DRSUAPI_ATTRIBUTE_fSMORoleOwner
=0x00090171,
336 DRSUAPI_ATTRIBUTE_systemFlags
=0x00090177,
337 DRSUAPI_ATTRIBUTE_serverReference
=0x00090203,
338 DRSUAPI_ATTRIBUTE_serverReferenceBL
=0x00090204,
339 DRSUAPI_ATTRIBUTE_initialAuthIncoming
=0x0009021b,
340 DRSUAPI_ATTRIBUTE_initialAuthOutgoing
=0x0009021c,
341 DRSUAPI_ATTRIBUTE_wellKnownObjects
=0x0009026a,
342 DRSUAPI_ATTRIBUTE_dNSHostName
=0x0009026b,
343 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet
=0x0009027f,
344 DRSUAPI_ATTRIBUTE_userPrincipalName
=0x00090290,
345 DRSUAPI_ATTRIBUTE_groupType
=0x000902ee,
346 DRSUAPI_ATTRIBUTE_servicePrincipalName
=0x00090303,
347 DRSUAPI_ATTRIBUTE_objectCategory
=0x0009030e,
348 DRSUAPI_ATTRIBUTE_gPLink
=0x0009037b,
349 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version
=0x000905b3,
350 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber
=0x000906f6,
351 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs
=0x0009071c,
352 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs
=0x0009072c
355 { __donnot_use_enum_drsuapi_DsAttributeId
=0x7FFFFFFF}
356 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
357 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
358 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
359 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
360 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
361 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
362 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
363 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
364 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
365 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
366 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
367 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
368 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
369 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
370 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
371 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
372 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
373 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
374 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
375 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
376 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
377 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
378 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
379 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
380 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
381 #define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
382 #define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
383 #define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
384 #define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
385 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
386 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
387 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
388 #define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
389 #define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
390 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
391 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
392 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
393 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
394 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
395 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
396 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
397 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
398 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
399 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
400 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
401 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
402 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
403 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
404 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
405 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
406 #define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
407 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
408 #define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
409 #define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
410 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
411 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
412 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
413 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
414 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
415 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
416 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
420 struct drsuapi_DsPartialAttributeSet
{
421 uint32_t version
;/* [value] */
422 uint32_t reserved1
;/* [value(0)] */
423 uint32_t num_attids
;/* [range(1,0x100000)] */
424 enum drsuapi_DsAttributeId
*attids
;/* [size_is(num_attids)] */
427 struct drsuapi_DsGetNCChangesRequest8
{
428 struct GUID destination_dsa_guid
;
429 struct GUID source_dsa_invocation_id
;
430 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [ref] */
431 struct drsuapi_DsReplicaHighWaterMark highwatermark
;
432 struct drsuapi_DsReplicaCursorCtrEx
*uptodateness_vector
;/* [unique] */
433 uint32_t replica_flags
;
434 uint32_t max_object_count
;
435 uint32_t max_ndr_size
;
436 enum drsuapi_DsExtendedOperation extended_op
;
438 struct drsuapi_DsPartialAttributeSet
*partial_attribute_set
;/* [unique] */
439 struct drsuapi_DsPartialAttributeSet
*partial_attribute_set_ex
;/* [unique] */
440 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
443 union drsuapi_DsGetNCChangesRequest
{
444 struct drsuapi_DsGetNCChangesRequest5 req5
;/* [case(5)] */
445 struct drsuapi_DsGetNCChangesRequest8 req8
;/* [case(8)] */
446 }/* [switch_type(int32)] */;
448 struct drsuapi_DsReplicaCursor2
{
449 struct GUID source_dsa_invocation_id
;
450 uint64_t highest_usn
;
451 NTTIME last_sync_success
;
454 struct drsuapi_DsReplicaCursor2CtrEx
{
455 uint32_t version
;/* [value(2)] */
456 uint32_t reserved1
;/* [value(0)] */
457 uint32_t count
;/* [range(0,0x100000)] */
458 uint32_t reserved2
;/* [value(0)] */
459 struct drsuapi_DsReplicaCursor2
*cursors
;/* [size_is(count)] */
462 struct drsuapi_DsAttributeValue
{
463 uint32_t __ndr_size
;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
464 DATA_BLOB
*blob
;/* [unique] */
467 struct drsuapi_DsAttributeValueCtr
{
468 uint32_t num_values
;/* [range(0,10485760)] */
469 struct drsuapi_DsAttributeValue
*values
;/* [unique,size_is(num_values)] */
472 struct drsuapi_DsReplicaObjectIdentifier3
{
473 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
474 uint32_t __ndr_size_sid
;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
476 struct dom_sid28 sid
;
477 uint32_t __ndr_size_dn
;/* [value(strlen_m(dn))] */
478 const char *dn
;/* [charset(UTF16)] */
479 }/* [gensize,public] */;
481 struct drsuapi_DsReplicaObjectIdentifier3Binary
{
482 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->iconv_convenience,ndr->flags))] */
483 uint32_t __ndr_size_sid
;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
485 struct dom_sid28 sid
;
486 uint32_t __ndr_size_dn
;/* [value(strlen_m(dn))] */
487 const char *dn
;/* [charset(UTF16)] */
488 uint32_t __ndr_size_binary
;/* [value(binary.length+4)] */
489 DATA_BLOB binary
;/* [flag(LIBNDR_FLAG_REMAINING)] */
490 }/* [gensize,public] */;
492 struct drsuapi_DsReplicaAttribute
{
493 enum drsuapi_DsAttributeId attid
;
494 struct drsuapi_DsAttributeValueCtr value_ctr
;
497 struct drsuapi_DsReplicaAttributeCtr
{
498 uint32_t num_attributes
;/* [range(0,1048576)] */
499 struct drsuapi_DsReplicaAttribute
*attributes
;/* [unique,size_is(num_attributes)] */
502 /* bitmap drsuapi_DsReplicaObjectFlags */
503 #define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
504 #define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
505 #define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
507 struct drsuapi_DsReplicaObject
{
508 struct drsuapi_DsReplicaObjectIdentifier
*identifier
;/* [unique] */
510 struct drsuapi_DsReplicaAttributeCtr attribute_ctr
;
513 struct drsuapi_DsReplicaMetaData
{
515 NTTIME originating_change_time
;
516 struct GUID originating_invocation_id
;
517 uint64_t originating_usn
;
520 struct drsuapi_DsReplicaMetaDataCtr
{
521 uint32_t count
;/* [range(0,1048576)] */
522 struct drsuapi_DsReplicaMetaData
*meta_data
;/* [size_is(count)] */
525 struct drsuapi_DsReplicaObjectListItemEx
{
526 struct drsuapi_DsReplicaObjectListItemEx
*next_object
;/* [unique] */
527 struct drsuapi_DsReplicaObject object
;
528 uint32_t is_nc_prefix
;
529 struct GUID
*parent_object_guid
;/* [unique] */
530 struct drsuapi_DsReplicaMetaDataCtr
*meta_data_ctr
;/* [unique] */
531 }/* [noprint,public] */;
533 struct drsuapi_DsGetNCChangesCtr1
{
534 struct GUID source_dsa_guid
;
535 struct GUID source_dsa_invocation_id
;
536 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [unique] */
537 struct drsuapi_DsReplicaHighWaterMark old_highwatermark
;
538 struct drsuapi_DsReplicaHighWaterMark new_highwatermark
;
539 struct drsuapi_DsReplicaCursorCtrEx
*uptodateness_vector
;/* [unique] */
540 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
541 enum drsuapi_DsExtendedError extended_ret
;
542 uint32_t object_count
;
543 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
544 struct drsuapi_DsReplicaObjectListItemEx
*first_object
;/* [unique] */
546 }/* [gensize,public] */;
548 /* bitmap drsuapi_DsLinkedAttributeFlags */
549 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
551 struct drsuapi_DsReplicaLinkedAttribute
{
552 struct drsuapi_DsReplicaObjectIdentifier
*identifier
;/* [unique] */
553 enum drsuapi_DsAttributeId attid
;
554 struct drsuapi_DsAttributeValue value
;
556 NTTIME originating_add_time
;
557 struct drsuapi_DsReplicaMetaData meta_data
;
560 struct drsuapi_DsGetNCChangesCtr6
{
561 struct GUID source_dsa_guid
;
562 struct GUID source_dsa_invocation_id
;
563 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [unique] */
564 struct drsuapi_DsReplicaHighWaterMark old_highwatermark
;
565 struct drsuapi_DsReplicaHighWaterMark new_highwatermark
;
566 struct drsuapi_DsReplicaCursor2CtrEx
*uptodateness_vector
;/* [unique] */
567 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr
;
568 enum drsuapi_DsExtendedError extended_ret
;
569 uint32_t object_count
;
570 uint32_t __ndr_size
;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
571 struct drsuapi_DsReplicaObjectListItemEx
*first_object
;/* [unique] */
573 uint32_t nc_object_count
;
574 uint32_t nc_linked_attributes_count
;
575 uint32_t linked_attributes_count
;/* [range(0,1048576)] */
576 struct drsuapi_DsReplicaLinkedAttribute
*linked_attributes
;/* [unique,size_is(linked_attributes_count)] */
578 }/* [gensize,public] */;
580 struct drsuapi_DsGetNCChangesCtr1TS
{
581 struct drsuapi_DsGetNCChangesCtr1 ctr1
;/* [subcontext(0xFFFFFC01)] */
584 struct drsuapi_DsGetNCChangesCtr6TS
{
585 struct drsuapi_DsGetNCChangesCtr6 ctr6
;/* [subcontext(0xFFFFFC01)] */
588 struct drsuapi_DsGetNCChangesMSZIPCtr1
{
589 uint32_t decompressed_length
;
590 uint32_t compressed_length
;
591 struct drsuapi_DsGetNCChangesCtr1TS
*ts
;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
594 struct drsuapi_DsGetNCChangesMSZIPCtr6
{
595 uint32_t decompressed_length
;
596 uint32_t compressed_length
;
597 struct drsuapi_DsGetNCChangesCtr6TS
*ts
;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
600 struct drsuapi_DsGetNCChangesXPRESSCtr1
{
601 uint32_t decompressed_length
;
602 uint32_t compressed_length
;
603 struct drsuapi_DsGetNCChangesCtr1TS
*ts
;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
606 struct drsuapi_DsGetNCChangesXPRESSCtr6
{
607 uint32_t decompressed_length
;
608 uint32_t compressed_length
;
609 struct drsuapi_DsGetNCChangesCtr6TS
*ts
;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
612 enum drsuapi_DsGetNCChangesCompressionType
613 #ifndef USE_UINT_ENUMS
615 DRSUAPI_COMPRESSION_TYPE_MSZIP
=2,
616 DRSUAPI_COMPRESSION_TYPE_XPRESS
=3
619 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType
=0x7FFFFFFF}
620 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
621 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
625 union drsuapi_DsGetNCChangesCompressedCtr
{
626 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1
;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
627 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6
;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
628 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1
;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
629 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6
;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
630 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
632 struct drsuapi_DsGetNCChangesCtr2
{
633 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1
;
636 struct drsuapi_DsGetNCChangesCtr7
{
637 int32_t level
;/* [range(0,6)] */
638 enum drsuapi_DsGetNCChangesCompressionType type
;/* [range(2,3)] */
639 union drsuapi_DsGetNCChangesCompressedCtr ctr
;/* [switch_is(level|(type<<16))] */
642 union drsuapi_DsGetNCChangesCtr
{
643 struct drsuapi_DsGetNCChangesCtr1 ctr1
;/* [case] */
644 struct drsuapi_DsGetNCChangesCtr2 ctr2
;/* [case(2)] */
645 struct drsuapi_DsGetNCChangesCtr6 ctr6
;/* [case(6)] */
646 struct drsuapi_DsGetNCChangesCtr7 ctr7
;/* [case(7)] */
647 }/* [switch_type(int32)] */;
649 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
650 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
651 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000002 )
652 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
653 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
654 #define DRSUAPI_DS_REPLICA_UPDATE_0x00000010 ( 0x00000010 )
656 struct drsuapi_DsReplicaUpdateRefsRequest1
{
657 struct drsuapi_DsReplicaObjectIdentifier
*naming_context
;/* [ref] */
658 const char *dest_dsa_dns_name
;/* [ref,charset(DOS)] */
659 struct GUID dest_dsa_guid
;
663 union drsuapi_DsReplicaUpdateRefsRequest
{
664 struct drsuapi_DsReplicaUpdateRefsRequest1 req1
;/* [case] */
665 }/* [switch_type(int32)] */;
667 /* bitmap drsuapi_DsReplicaAddOptions */
668 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
669 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
671 /* bitmap drsuapi_DsReplicaDeleteOptions */
672 #define DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
673 #define DRSUAPI_DS_REPLICA_DELETE_WRITEABLE ( 0x00000002 )
675 /* bitmap drsuapi_DsReplicaModifyOptions */
676 #define DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION ( 0x00000001 )
677 #define DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE ( 0x00000002 )
679 enum drsuapi_DsMembershipType
680 #ifndef USE_UINT_ENUMS
682 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS
=1,
683 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS
=2,
684 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS
=3,
685 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2
=4,
686 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS
=5,
687 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS
=6,
688 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2
=7
691 { __donnot_use_enum_drsuapi_DsMembershipType
=0x7FFFFFFF}
692 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
693 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
694 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
695 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
696 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
697 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
698 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
702 struct drsuapi_DsGetMembershipsCtr1
{
704 uint32_t num_memberships
;/* [range(0,10000)] */
705 uint32_t num_sids
;/* [range(0,10000)] */
706 struct drsuapi_DsReplicaObjectIdentifier
**info_array
;/* [unique,size_is(num_memberships)] */
707 uint32_t *group_attrs
;/* [unique,size_is(num_memberships)] */
708 struct dom_sid28
**sids
;/* [unique,size_is(num_sids)] */
711 union drsuapi_DsGetMembershipsCtr
{
712 struct drsuapi_DsGetMembershipsCtr1 ctr1
;/* [case] */
713 }/* [switch_type(int32)] */;
715 struct drsuapi_DsGetMembershipsRequest1
{
716 uint32_t count
;/* [range(1,10000)] */
717 struct drsuapi_DsReplicaObjectIdentifier
**info_array
;/* [unique,size_is(count)] */
719 enum drsuapi_DsMembershipType type
;
720 struct drsuapi_DsReplicaObjectIdentifier
*domain
;/* [unique] */
723 union drsuapi_DsGetMembershipsRequest
{
724 struct drsuapi_DsGetMembershipsRequest1 req1
;/* [case] */
725 }/* [switch_type(int32)] */;
727 struct drsuapi_DsGetNT4ChangeLogRequest1
{
730 uint32_t length
;/* [range(0,0x00A00000)] */
731 uint8_t *data
;/* [unique,size_is(length)] */
734 union drsuapi_DsGetNT4ChangeLogRequest
{
735 struct drsuapi_DsGetNT4ChangeLogRequest1 req1
;/* [case] */
736 }/* [switch_type(uint32)] */;
738 struct drsuapi_DsGetNT4ChangeLogInfo1
{
739 uint32_t length1
;/* [range(0,0x00A00000)] */
740 uint32_t length2
;/* [range(0,0x00A00000)] */
748 uint8_t *data1
;/* [unique,size_is(length1)] */
749 uint8_t *data2
;/* [unique,size_is(length2)] */
752 union drsuapi_DsGetNT4ChangeLogInfo
{
753 struct drsuapi_DsGetNT4ChangeLogInfo1 info1
;/* [case] */
754 }/* [switch_type(uint32)] */;
756 enum drsuapi_DsNameStatus
757 #ifndef USE_UINT_ENUMS
759 DRSUAPI_DS_NAME_STATUS_OK
=0,
760 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR
=1,
761 DRSUAPI_DS_NAME_STATUS_NOT_FOUND
=2,
762 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE
=3,
763 DRSUAPI_DS_NAME_STATUS_NO_MAPPING
=4,
764 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY
=5,
765 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING
=6,
766 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL
=7
769 { __donnot_use_enum_drsuapi_DsNameStatus
=0x7FFFFFFF}
770 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
771 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
772 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
773 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
774 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
775 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
776 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
777 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
781 enum drsuapi_DsNameFlags
782 #ifndef USE_UINT_ENUMS
784 DRSUAPI_DS_NAME_FLAG_NO_FLAGS
=0x0,
785 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY
=0x1,
786 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC
=0x2,
787 DRSUAPI_DS_NAME_FLAG_GCVERIFY
=0x4,
788 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL
=0x8
791 { __donnot_use_enum_drsuapi_DsNameFlags
=0x7FFFFFFF}
792 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
793 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
794 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
795 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
796 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
800 enum drsuapi_DsNameFormat
801 #ifndef USE_UINT_ENUMS
803 DRSUAPI_DS_NAME_FORMAT_UNKNOWN
=0,
804 DRSUAPI_DS_NAME_FORMAT_FQDN_1779
=1,
805 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT
=2,
806 DRSUAPI_DS_NAME_FORMAT_DISPLAY
=3,
807 DRSUAPI_DS_NAME_FORMAT_GUID
=6,
808 DRSUAPI_DS_NAME_FORMAT_CANONICAL
=7,
809 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL
=8,
810 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX
=9,
811 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL
=10,
812 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY
=11,
813 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN
=12
816 { __donnot_use_enum_drsuapi_DsNameFormat
=0x7FFFFFFF}
817 #define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
818 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
819 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
820 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
821 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
822 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
823 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
824 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
825 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
826 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
827 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
831 struct drsuapi_DsNameString
{
832 const char *str
;/* [unique,charset(UTF16)] */
835 struct drsuapi_DsNameRequest1
{
838 enum drsuapi_DsNameFlags format_flags
;
839 enum drsuapi_DsNameFormat format_offered
;
840 enum drsuapi_DsNameFormat format_desired
;
841 uint32_t count
;/* [range(1,10000)] */
842 struct drsuapi_DsNameString
*names
;/* [unique,size_is(count)] */
845 union drsuapi_DsNameRequest
{
846 struct drsuapi_DsNameRequest1 req1
;/* [case] */
847 }/* [switch_type(int32)] */;
849 struct drsuapi_DsNameInfo1
{
850 enum drsuapi_DsNameStatus status
;
851 const char *dns_domain_name
;/* [unique,charset(UTF16)] */
852 const char *result_name
;/* [unique,charset(UTF16)] */
855 struct drsuapi_DsNameCtr1
{
857 struct drsuapi_DsNameInfo1
*array
;/* [unique,size_is(count)] */
860 union drsuapi_DsNameCtr
{
861 struct drsuapi_DsNameCtr1
*ctr1
;/* [unique,case] */
862 }/* [switch_type(int32)] */;
864 enum drsuapi_DsSpnOperation
865 #ifndef USE_UINT_ENUMS
867 DRSUAPI_DS_SPN_OPERATION_ADD
=0,
868 DRSUAPI_DS_SPN_OPERATION_REPLACE
=1,
869 DRSUAPI_DS_SPN_OPERATION_DELETE
=2
872 { __donnot_use_enum_drsuapi_DsSpnOperation
=0x7FFFFFFF}
873 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
874 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
875 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
879 struct drsuapi_DsWriteAccountSpnRequest1
{
880 enum drsuapi_DsSpnOperation operation
;
882 const char *object_dn
;/* [unique,charset(UTF16)] */
883 uint32_t count
;/* [range(0,10000)] */
884 struct drsuapi_DsNameString
*spn_names
;/* [unique,size_is(count)] */
887 union drsuapi_DsWriteAccountSpnRequest
{
888 struct drsuapi_DsWriteAccountSpnRequest1 req1
;/* [case] */
889 }/* [switch_type(int32)] */;
891 struct drsuapi_DsWriteAccountSpnResult1
{
895 union drsuapi_DsWriteAccountSpnResult
{
896 struct drsuapi_DsWriteAccountSpnResult1 res1
;/* [case] */
897 }/* [switch_type(int32)] */;
899 struct drsuapi_DsRemoveDSServerRequest1
{
900 const char *server_dn
;/* [unique,charset(UTF16)] */
901 const char *domain_dn
;/* [unique,charset(UTF16)] */
905 union drsuapi_DsRemoveDSServerRequest
{
906 struct drsuapi_DsRemoveDSServerRequest1 req1
;/* [case] */
907 }/* [switch_type(int32)] */;
909 struct drsuapi_DsRemoveDSServerResult1
{
910 uint32_t last_dc_in_domain
;
913 union drsuapi_DsRemoveDSServerResult
{
914 struct drsuapi_DsRemoveDSServerResult1 res1
;/* [case] */
915 }/* [switch_type(int32)] */;
917 struct drsuapi_DsGetDCInfoRequest1
{
918 const char *domain_name
;/* [unique,charset(UTF16)] */
922 union drsuapi_DsGetDCInfoRequest
{
923 struct drsuapi_DsGetDCInfoRequest1 req1
;/* [case] */
924 }/* [switch_type(int32)] */;
926 struct drsuapi_DsGetDCInfo1
{
927 const char *netbios_name
;/* [unique,charset(UTF16)] */
928 const char *dns_name
;/* [unique,charset(UTF16)] */
929 const char *site_name
;/* [unique,charset(UTF16)] */
930 const char *computer_dn
;/* [unique,charset(UTF16)] */
931 const char *server_dn
;/* [unique,charset(UTF16)] */
936 struct drsuapi_DsGetDCInfoCtr1
{
937 uint32_t count
;/* [range(0,10000)] */
938 struct drsuapi_DsGetDCInfo1
*array
;/* [unique,size_is(count)] */
941 struct drsuapi_DsGetDCInfo2
{
942 const char *netbios_name
;/* [unique,charset(UTF16)] */
943 const char *dns_name
;/* [unique,charset(UTF16)] */
944 const char *site_name
;/* [unique,charset(UTF16)] */
945 const char *site_dn
;/* [unique,charset(UTF16)] */
946 const char *computer_dn
;/* [unique,charset(UTF16)] */
947 const char *server_dn
;/* [unique,charset(UTF16)] */
948 const char *ntds_dn
;/* [unique,charset(UTF16)] */
952 struct GUID site_guid
;
953 struct GUID computer_guid
;
954 struct GUID server_guid
;
955 struct GUID ntds_guid
;
958 struct drsuapi_DsGetDCInfoCtr2
{
959 uint32_t count
;/* [range(0,10000)] */
960 struct drsuapi_DsGetDCInfo2
*array
;/* [unique,size_is(count)] */
963 struct drsuapi_DsGetDCInfo3
{
964 const char *netbios_name
;/* [unique,charset(UTF16)] */
965 const char *dns_name
;/* [unique,charset(UTF16)] */
966 const char *site_name
;/* [unique,charset(UTF16)] */
967 const char *site_dn
;/* [unique,charset(UTF16)] */
968 const char *computer_dn
;/* [unique,charset(UTF16)] */
969 const char *server_dn
;/* [unique,charset(UTF16)] */
970 const char *ntds_dn
;/* [unique,charset(UTF16)] */
975 struct GUID site_guid
;
976 struct GUID computer_guid
;
977 struct GUID server_guid
;
978 struct GUID ntds_guid
;
981 struct drsuapi_DsGetDCInfoCtr3
{
982 uint32_t count
;/* [range(0,10000)] */
983 struct drsuapi_DsGetDCInfo3
*array
;/* [unique,size_is(count)] */
986 struct drsuapi_DsGetDCConnection01
{
987 const char * client_ip_address
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
989 uint32_t connection_time
;
993 const char *client_account
;/* [unique,charset(UTF16)] */
996 struct drsuapi_DsGetDCConnectionCtr01
{
997 uint32_t count
;/* [range(0,10000)] */
998 struct drsuapi_DsGetDCConnection01
*array
;/* [unique,size_is(count)] */
1001 enum drsuapi_DsGetDCInfoCtrLevels
1002 #ifndef USE_UINT_ENUMS
1004 DRSUAPI_DC_INFO_CTR_1
=1,
1005 DRSUAPI_DC_INFO_CTR_2
=2,
1006 DRSUAPI_DC_INFO_CTR_3
=3,
1007 DRSUAPI_DC_CONNECTION_CTR_01
=-1
1010 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels
=0x7FFFFFFF}
1011 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1012 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1013 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1014 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1018 union drsuapi_DsGetDCInfoCtr
{
1019 struct drsuapi_DsGetDCInfoCtr1 ctr1
;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1020 struct drsuapi_DsGetDCInfoCtr2 ctr2
;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1021 struct drsuapi_DsGetDCInfoCtr3 ctr3
;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1022 struct drsuapi_DsGetDCConnectionCtr01 ctr01
;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1023 }/* [switch_type(int32)] */;
1025 struct drsuapi_DsReplicaObjectListItem
{
1026 struct drsuapi_DsReplicaObjectListItem
*next_object
;/* [unique] */
1027 struct drsuapi_DsReplicaObject object
;
1028 }/* [noprint,public] */;
1030 struct drsuapi_DsAddEntryRequest2
{
1031 struct drsuapi_DsReplicaObjectListItem first_object
;
1034 union drsuapi_DsAddEntryRequest
{
1035 struct drsuapi_DsAddEntryRequest2 req2
;/* [case(2)] */
1036 }/* [switch_type(int32)] */;
1038 struct drsuapi_DsAddEntryErrorInfoX
{
1045 struct drsuapi_DsAddEntryExtraErrorBuffer
{
1046 uint32_t size
;/* [range(0,10485760)] */
1047 uint8_t *data
;/* [unique,size_is(size)] */
1050 struct drsuapi_DsAddEntryExtraError1
{
1051 struct drsuapi_DsAddEntryErrorInfoX error
;
1052 enum drsuapi_DsAttributeId attid
;
1054 struct drsuapi_DsAddEntryExtraErrorBuffer buffer
;
1057 struct drsuapi_DsAddEntryErrorListItem1
{
1058 struct drsuapi_DsAddEntryErrorListItem1
*next
;/* [unique] */
1059 struct drsuapi_DsAddEntryExtraError1 error
;
1062 struct drsuapi_DsAddEntryErrorInfo1
{
1063 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
1065 struct drsuapi_DsAddEntryErrorListItem1 first
;
1068 union drsuapi_DsAddEntryErrorInfo
{
1069 struct drsuapi_DsAddEntryErrorInfo1 error1
;/* [case] */
1070 struct drsuapi_DsAddEntryErrorInfoX errorX
;/* [case(4)] */
1071 }/* [switch_type(uint32)] */;
1073 struct drsuapi_DsAddEntryError1
{
1076 union drsuapi_DsAddEntryErrorInfo
*info
;/* [unique,switch_is(level)] */
1079 union drsuapi_DsAddEntryError
{
1080 struct drsuapi_DsAddEntryError1 info1
;/* [case] */
1081 }/* [switch_type(uint32)] */;
1083 struct drsuapi_DsReplicaObjectIdentifier2
{
1085 struct dom_sid28 sid
;
1088 struct drsuapi_DsAddEntryCtr2
{
1089 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
1091 struct drsuapi_DsAddEntryErrorInfoX error
;
1092 uint32_t count
;/* [range(0,10000)] */
1093 struct drsuapi_DsReplicaObjectIdentifier2
*objects
;/* [unique,size_is(count)] */
1096 struct drsuapi_DsAddEntryCtr3
{
1097 struct drsuapi_DsReplicaObjectIdentifier
*id
;/* [unique] */
1099 union drsuapi_DsAddEntryError
*error
;/* [unique,switch_is(level)] */
1100 uint32_t count
;/* [range(0,10000)] */
1101 struct drsuapi_DsReplicaObjectIdentifier2
*objects
;/* [unique,size_is(count)] */
1104 union drsuapi_DsAddEntryCtr
{
1105 struct drsuapi_DsAddEntryCtr2 ctr2
;/* [case(2)] */
1106 struct drsuapi_DsAddEntryCtr3 ctr3
;/* [case(3)] */
1107 }/* [switch_type(int32)] */;
1109 enum drsuapi_DsReplicaGetInfoLevel
1110 #ifndef USE_UINT_ENUMS
1112 DRSUAPI_DS_REPLICA_GET_INFO
=1,
1113 DRSUAPI_DS_REPLICA_GET_INFO2
=2
1116 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel
=0x7FFFFFFF}
1117 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1118 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1122 enum drsuapi_DsReplicaInfoType
1123 #ifndef USE_UINT_ENUMS
1125 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS
=0,
1126 DRSUAPI_DS_REPLICA_INFO_CURSORS
=1,
1127 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA
=2,
1128 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES
=3,
1129 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES
=4,
1130 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS
=5,
1131 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA
=6,
1132 DRSUAPI_DS_REPLICA_INFO_CURSORS2
=7,
1133 DRSUAPI_DS_REPLICA_INFO_CURSORS3
=8,
1134 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2
=9,
1135 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2
=10,
1136 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02
=-2,
1137 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04
=-4,
1138 DRSUAPI_DS_REPLICA_INFO_CURSORS05
=-5,
1139 DRSUAPI_DS_REPLICA_INFO_06
=-6
1142 { __donnot_use_enum_drsuapi_DsReplicaInfoType
=0x7FFFFFFF}
1143 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1144 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1145 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1146 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1147 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1148 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1149 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1150 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1151 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1152 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1153 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1154 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1155 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1156 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1157 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1161 struct drsuapi_DsReplicaGetInfoRequest1
{
1162 enum drsuapi_DsReplicaInfoType info_type
;
1163 const char *object_dn
;/* [unique,charset(UTF16)] */
1167 struct drsuapi_DsReplicaGetInfoRequest2
{
1168 enum drsuapi_DsReplicaInfoType info_type
;
1169 const char *object_dn
;/* [unique,charset(UTF16)] */
1172 const char *string1
;/* [unique,charset(UTF16)] */
1173 const char *string2
;/* [unique,charset(UTF16)] */
1177 union drsuapi_DsReplicaGetInfoRequest
{
1178 struct drsuapi_DsReplicaGetInfoRequest1 req1
;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1179 struct drsuapi_DsReplicaGetInfoRequest2 req2
;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1180 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1182 struct drsuapi_DsReplicaNeighbour
{
1183 const char *naming_context_dn
;/* [unique,charset(UTF16)] */
1184 const char *source_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1185 const char *source_dsa_address
;/* [unique,charset(UTF16)] */
1186 const char *transport_obj_dn
;/* [unique,charset(UTF16)] */
1187 uint32_t replica_flags
;
1189 struct GUID naming_context_obj_guid
;
1190 struct GUID source_dsa_obj_guid
;
1191 struct GUID source_dsa_invocation_id
;
1192 struct GUID transport_obj_guid
;
1193 uint64_t tmp_highest_usn
;
1194 uint64_t highest_usn
;
1195 NTTIME last_success
;
1196 NTTIME last_attempt
;
1197 WERROR result_last_attempt
;
1198 uint32_t consecutive_sync_failures
;
1201 struct drsuapi_DsReplicaNeighbourCtr
{
1204 struct drsuapi_DsReplicaNeighbour
*array
;/* [size_is(count)] */
1207 struct drsuapi_DsReplicaCursorCtr
{
1210 struct drsuapi_DsReplicaCursor
*array
;/* [size_is(count)] */
1213 struct drsuapi_DsReplicaObjMetaData
{
1214 const char *attribute_name
;/* [unique,charset(UTF16)] */
1216 NTTIME originating_change_time
;
1217 struct GUID originating_invocation_id
;
1218 uint64_t originating_usn
;
1222 struct drsuapi_DsReplicaObjMetaDataCtr
{
1225 struct drsuapi_DsReplicaObjMetaData
*array
;/* [size_is(count)] */
1228 struct drsuapi_DsReplicaKccDsaFailure
{
1229 const char *dsa_obj_dn
;/* [unique,charset(UTF16)] */
1230 struct GUID dsa_obj_guid
;
1231 NTTIME first_failure
;
1232 uint32_t num_failures
;
1236 struct drsuapi_DsReplicaKccDsaFailuresCtr
{
1239 struct drsuapi_DsReplicaKccDsaFailure
*array
;/* [size_is(count)] */
1242 enum drsuapi_DsReplicaOpType
1243 #ifndef USE_UINT_ENUMS
1245 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC
=0,
1246 DRSUAPI_DS_REPLICA_OP_TYPE_ADD
=1,
1247 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE
=2,
1248 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY
=3,
1249 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS
=4
1252 { __donnot_use_enum_drsuapi_DsReplicaOpType
=0x7FFFFFFF}
1253 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1254 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1255 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1256 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1257 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1261 union drsuapi_DsRplicaOpOptions
{
1262 uint32_t sync
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1263 uint32_t add
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1264 uint32_t op_delete
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1265 uint32_t modify
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1266 uint32_t update_refs
;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1267 uint32_t unknown
;/* [default] */
1268 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1270 struct drsuapi_DsReplicaOp
{
1271 NTTIME operation_start
;
1272 uint32_t serial_num
;
1274 enum drsuapi_DsReplicaOpType operation_type
;
1275 union drsuapi_DsRplicaOpOptions options
;/* [switch_is(operation_type)] */
1276 const char *nc_dn
;/* [unique,charset(UTF16)] */
1277 const char *remote_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1278 const char *remote_dsa_address
;/* [unique,charset(UTF16)] */
1279 struct GUID nc_obj_guid
;
1280 struct GUID remote_dsa_obj_guid
;
1283 struct drsuapi_DsReplicaOpCtr
{
1286 struct drsuapi_DsReplicaOp
*array
;/* [size_is(count)] */
1289 struct drsuapi_DsReplicaAttrValMetaData
{
1290 const char *attribute_name
;/* [unique,charset(UTF16)] */
1291 const char *object_dn
;/* [unique,charset(UTF16)] */
1292 uint32_t __ndr_size_binary
;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1293 DATA_BLOB
*binary
;/* [unique] */
1297 NTTIME originating_change_time
;
1298 struct GUID originating_invocation_id
;
1299 uint64_t originating_usn
;
1303 struct drsuapi_DsReplicaAttrValMetaDataCtr
{
1305 int32_t enumeration_context
;
1306 struct drsuapi_DsReplicaAttrValMetaData
*array
;/* [size_is(count)] */
1309 struct drsuapi_DsReplicaCursor2Ctr
{
1311 int32_t enumeration_context
;
1312 struct drsuapi_DsReplicaCursor2
*array
;/* [size_is(count)] */
1315 struct drsuapi_DsReplicaCursor3
{
1316 struct GUID source_dsa_invocation_id
;
1317 uint64_t highest_usn
;
1318 NTTIME last_sync_success
;
1319 const char *source_dsa_obj_dn
;/* [unique,charset(UTF16)] */
1322 struct drsuapi_DsReplicaCursor3Ctr
{
1324 int32_t enumeration_context
;
1325 struct drsuapi_DsReplicaCursor3
*array
;/* [size_is(count)] */
1328 struct drsuapi_DsReplicaObjMetaData2
{
1329 const char *attribute_name
;/* [unique,charset(UTF16)] */
1331 NTTIME originating_change_time
;
1332 struct GUID originating_invocation_id
;
1333 uint64_t originating_usn
;
1335 const char *originating_dsa_dn
;/* [unique,charset(UTF16)] */
1338 struct drsuapi_DsReplicaObjMetaData2Ctr
{
1340 int32_t enumeration_context
;
1341 struct drsuapi_DsReplicaObjMetaData2
*array
;/* [size_is(count)] */
1344 struct drsuapi_DsReplicaAttrValMetaData2
{
1345 const char *attribute_name
;/* [unique,charset(UTF16)] */
1346 const char *object_dn
;/* [unique,charset(UTF16)] */
1347 uint32_t __ndr_size_binary
;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1348 DATA_BLOB
*binary
;/* [unique] */
1352 NTTIME originating_change_time
;
1353 struct GUID originating_invocation_id
;
1354 uint64_t originating_usn
;
1356 const char *originating_dsa_dn
;/* [unique,charset(UTF16)] */
1359 struct drsuapi_DsReplicaAttrValMetaData2Ctr
{
1361 int32_t enumeration_context
;
1362 struct drsuapi_DsReplicaAttrValMetaData2
*array
;/* [size_is(count)] */
1365 struct drsuapi_DsReplicaConnection04
{
1369 struct GUID bind_guid
;
1371 const char * client_ip_address
;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1375 struct drsuapi_DsReplicaConnection04Ctr
{
1376 uint32_t count
;/* [range(0,10000)] */
1378 struct drsuapi_DsReplicaConnection04
*array
;/* [size_is(count)] */
1381 struct drsuapi_DsReplica06
{
1382 const char *str1
;/* [unique,charset(UTF16)] */
1392 struct drsuapi_DsReplica06Ctr
{
1393 uint32_t count
;/* [range(0,256)] */
1395 struct drsuapi_DsReplica06
*array
;/* [size_is(count)] */
1398 union drsuapi_DsReplicaInfo
{
1399 struct drsuapi_DsReplicaNeighbourCtr
*neighbours
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1400 struct drsuapi_DsReplicaCursorCtr
*cursors
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1401 struct drsuapi_DsReplicaObjMetaDataCtr
*objmetadata
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1402 struct drsuapi_DsReplicaKccDsaFailuresCtr
*connectfailures
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1403 struct drsuapi_DsReplicaKccDsaFailuresCtr
*linkfailures
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1404 struct drsuapi_DsReplicaOpCtr
*pendingops
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1405 struct drsuapi_DsReplicaAttrValMetaDataCtr
*attrvalmetadata
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1406 struct drsuapi_DsReplicaCursor2Ctr
*cursors2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1407 struct drsuapi_DsReplicaCursor3Ctr
*cursors3
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1408 struct drsuapi_DsReplicaObjMetaData2Ctr
*objmetadata2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1409 struct drsuapi_DsReplicaAttrValMetaData2Ctr
*attrvalmetadata2
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1410 struct drsuapi_DsReplicaNeighbourCtr
*neighbours02
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1411 struct drsuapi_DsReplicaConnection04Ctr
*connections04
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1412 struct drsuapi_DsReplicaCursorCtrEx
*cursors05
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1413 struct drsuapi_DsReplica06Ctr
*i06
;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1414 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1416 struct drsuapi_DsGetMemberships2Ctr1
{
1417 uint32_t num_entries
;/* [range(0,10000)] */
1418 struct drsuapi_DsGetMembershipsCtr1
**ctrl_array
;/* [unique,size_is(num_entries)] */
1421 union drsuapi_DsGetMemberships2Ctr
{
1422 struct drsuapi_DsGetMembershipsCtr1 ctr1
;/* [case] */
1423 }/* [switch_type(int32)] */;
1425 struct drsuapi_DsGetMemberships2Request1
{
1426 uint32_t num_req
;/* [range(1,10000)] */
1427 struct drsuapi_DsGetMembershipsRequest1
**req_array
;/* [unique,size_is(num_req)] */
1430 union drsuapi_DsGetMemberships2Request
{
1431 struct drsuapi_DsGetMemberships2Request1 req1
;/* [case] */
1432 }/* [switch_type(int32)] */;
1434 struct drsuapi_DsSiteCostInfo
{
1439 struct drsuapi_QuerySitesByCostCtr1
{
1440 uint32_t num_info
;/* [range(0,10000)] */
1441 struct drsuapi_DsSiteCostInfo
*info
;/* [unique,size_is(num_info)] */
1445 union drsuapi_QuerySitesByCostCtr
{
1446 struct drsuapi_QuerySitesByCostCtr1 ctr1
;/* [case] */
1447 }/* [switch_type(int32)] */;
1449 struct drsuapi_QuerySitesByCostRequest1
{
1450 const char *site_from
;/* [unique,charset(UTF16)] */
1451 uint32_t num_req
;/* [range(1,10000)] */
1452 const char **site_to
;/* [unique,charset(UTF16),size_is(num_req)] */
1456 union drsuapi_QuerySitesByCostRequest
{
1457 struct drsuapi_QuerySitesByCostRequest1 req1
;/* [case] */
1458 }/* [switch_type(int32)] */;
1461 struct drsuapi_DsBind
{
1463 struct GUID
*bind_guid
;/* [unique] */
1464 struct drsuapi_DsBindInfoCtr
*bind_info
;/* [unique] */
1468 struct policy_handle
*bind_handle
;/* [ref] */
1469 struct drsuapi_DsBindInfoCtr
*bind_info
;/* [unique] */
1476 struct drsuapi_DsUnbind
{
1478 struct policy_handle
*bind_handle
;/* [ref] */
1482 struct policy_handle
*bind_handle
;/* [ref] */
1489 struct drsuapi_DsReplicaSync
{
1491 struct policy_handle
*bind_handle
;/* [ref] */
1493 union drsuapi_DsReplicaSyncRequest req
;/* [switch_is(level)] */
1503 struct drsuapi_DsGetNCChanges
{
1505 struct policy_handle
*bind_handle
;/* [ref] */
1507 union drsuapi_DsGetNCChangesRequest
*req
;/* [ref,switch_is(level)] */
1511 int32_t *level_out
;/* [ref] */
1512 union drsuapi_DsGetNCChangesCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1519 struct drsuapi_DsReplicaUpdateRefs
{
1521 struct policy_handle
*bind_handle
;/* [ref] */
1523 union drsuapi_DsReplicaUpdateRefsRequest req
;/* [switch_is(level)] */
1533 struct DRSUAPI_REPLICA_ADD
{
1541 struct DRSUAPI_REPLICA_DEL
{
1549 struct DRSUAPI_REPLICA_MODIFY
{
1557 struct DRSUAPI_VERIFY_NAMES
{
1565 struct drsuapi_DsGetMemberships
{
1567 struct policy_handle
*bind_handle
;/* [ref] */
1569 union drsuapi_DsGetMembershipsRequest
*req
;/* [ref,switch_is(level)] */
1573 int32_t *level_out
;/* [ref] */
1574 union drsuapi_DsGetMembershipsCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1581 struct DRSUAPI_INTER_DOMAIN_MOVE
{
1589 struct drsuapi_DsGetNT4ChangeLog
{
1591 struct policy_handle
*bind_handle
;/* [ref] */
1593 union drsuapi_DsGetNT4ChangeLogRequest
*req
;/* [ref,switch_is(level)] */
1597 uint32_t *level_out
;/* [ref] */
1598 union drsuapi_DsGetNT4ChangeLogInfo
*info
;/* [ref,switch_is(*level_out)] */
1605 struct drsuapi_DsCrackNames
{
1607 struct policy_handle
*bind_handle
;/* [ref] */
1609 union drsuapi_DsNameRequest
*req
;/* [ref,switch_is(level)] */
1613 int32_t *level_out
;/* [ref] */
1614 union drsuapi_DsNameCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1621 struct drsuapi_DsWriteAccountSpn
{
1623 struct policy_handle
*bind_handle
;/* [ref] */
1625 union drsuapi_DsWriteAccountSpnRequest
*req
;/* [ref,switch_is(level)] */
1629 int32_t *level_out
;/* [ref] */
1630 union drsuapi_DsWriteAccountSpnResult
*res
;/* [ref,switch_is(*level_out)] */
1637 struct drsuapi_DsRemoveDSServer
{
1639 struct policy_handle
*bind_handle
;/* [ref] */
1641 union drsuapi_DsRemoveDSServerRequest
*req
;/* [ref,switch_is(level)] */
1645 int32_t *level_out
;/* [ref] */
1646 union drsuapi_DsRemoveDSServerResult
*res
;/* [ref,switch_is(*level_out)] */
1653 struct DRSUAPI_REMOVE_DS_DOMAIN
{
1661 struct drsuapi_DsGetDomainControllerInfo
{
1663 struct policy_handle
*bind_handle
;/* [ref] */
1665 union drsuapi_DsGetDCInfoRequest
*req
;/* [ref,switch_is(level)] */
1669 int32_t *level_out
;/* [ref] */
1670 union drsuapi_DsGetDCInfoCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1677 struct drsuapi_DsAddEntry
{
1679 struct policy_handle
*bind_handle
;/* [ref] */
1681 union drsuapi_DsAddEntryRequest
*req
;/* [ref,switch_is(level)] */
1685 int32_t *level_out
;/* [ref] */
1686 union drsuapi_DsAddEntryCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1693 struct DRSUAPI_EXECUTE_KCC
{
1701 struct drsuapi_DsReplicaGetInfo
{
1703 struct policy_handle
*bind_handle
;/* [ref] */
1704 enum drsuapi_DsReplicaGetInfoLevel level
;
1705 union drsuapi_DsReplicaGetInfoRequest
*req
;/* [ref,switch_is(level)] */
1709 enum drsuapi_DsReplicaInfoType
*info_type
;/* [ref] */
1710 union drsuapi_DsReplicaInfo
*info
;/* [ref,switch_is(*info_type)] */
1717 struct DRSUAPI_ADD_SID_HISTORY
{
1725 struct drsuapi_DsGetMemberships2
{
1727 struct policy_handle
*bind_handle
;/* [ref] */
1729 union drsuapi_DsGetMemberships2Request
*req
;/* [ref,switch_is(level)] */
1733 int32_t *level_out
;/* [ref] */
1734 union drsuapi_DsGetMemberships2Ctr
*ctr
;/* [ref,switch_is(*level_out)] */
1741 struct DRSUAPI_REPLICA_VERIFY_OBJECTS
{
1749 struct DRSUAPI_GET_OBJECT_EXISTENCE
{
1757 struct drsuapi_QuerySitesByCost
{
1759 struct policy_handle
*bind_handle
;/* [ref] */
1761 union drsuapi_QuerySitesByCostRequest
*req
;/* [ref,switch_is(level)] */
1765 int32_t *level_out
;/* [ref] */
1766 union drsuapi_QuerySitesByCostCtr
*ctr
;/* [ref,switch_is(*level_out)] */
1772 #endif /* _HEADER_drsuapi */