re-run make idl.
[Samba/gbeck.git] / source3 / librpc / gen_ndr / drsuapi.h
blob628131e4571d5558158c25f6a58b6ad017991ccf
1 /* header auto-generated by pidl */
3 #include <stdint.h>
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;
55 uint32_t u1;
58 struct drsuapi_DsBindInfo28 {
59 uint32_t supported_extensions;
60 struct GUID site_guid;
61 uint32_t u1;
62 uint32_t repl_epoch;
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))] */
83 struct GUID guid;
84 struct dom_sid28 sid;
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)] */
119 uint32_t options;
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;
130 }/* [public] */;
132 struct drsuapi_DsReplicaCursor {
133 struct GUID source_dsa_invocation_id;
134 uint64_t highest_usn;
135 }/* [public] */;
137 struct drsuapi_DsReplicaCursorCtrEx {
138 uint32_t u1;
139 uint32_t u2;
140 uint32_t count;/* [range(0,0x100000)] */
141 uint32_t u3;
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;
171 uint32_t unknown4;
172 uint64_t h1;
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 {
181 uint32_t id_prefix;
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)] */
188 }/* [public] */;
190 enum drsuapi_DsObjectClassId
191 #ifndef USE_UINT_ENUMS
193 DRSUAPI_OBJECTCLASS_top=0x00010000,
194 DRSUAPI_OBJECTCLASS_classSchema=0x0003000d,
195 DRSUAPI_OBJECTCLASS_attributeSchema=0x0003000e
197 #else
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 )
202 #endif
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
258 #else
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 )
309 #endif
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;
321 uint32_t unknown4;
322 uint64_t h1;
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;
337 }/* [public] */;
339 struct drsuapi_DsReplicaCursor2CtrEx {
340 uint32_t u1;
341 uint32_t u2;
342 uint32_t count;/* [range(0,0x100000)] */
343 uint32_t u3;
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))] */
360 struct GUID guid;
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))] */
369 struct GUID guid;
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;
380 }/* [public] */;
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] */
389 uint32_t unknown1;
390 struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
391 }/* [public] */;
393 struct drsuapi_DsReplicaMetaData {
394 uint32_t version;
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)] */
403 }/* [public] */;
405 struct drsuapi_DsReplicaObjectListItemEx {
406 struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
407 struct drsuapi_DsReplicaObject object;
408 uint32_t unknown1;
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] */
425 uint32_t unknown4;
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;
435 uint32_t flags;
436 NTTIME originating_add_time;
437 struct drsuapi_DsReplicaMetaData meta_data;
438 }/* [public] */;
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] */
452 uint32_t unknown4;
453 uint32_t unknown5;
454 uint32_t unknown6;
455 uint32_t linked_attributes_count;/* [range(0,1048576)] */
456 struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
457 uint32_t unknown7;
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
490 #else
491 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
492 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
493 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
494 #endif
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;
532 uint32_t options;
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
562 #else
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 )
571 #endif
574 struct drsuapi_DsGetMembershipsCtr1 {
575 NTSTATUS status;
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)] */
590 uint32_t flags;
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 {
600 uint32_t unknown1;
601 uint32_t unknown2;
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)] */
613 uint64_t unknown1;
614 NTTIME time2;
615 uint64_t unknown3;
616 NTTIME time4;
617 uint64_t unknown5;
618 NTTIME time6;
619 NTSTATUS status;
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
640 #else
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 )
650 #endif
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
662 #else
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 )
669 #endif
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
687 #else
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 )
700 #endif
703 struct drsuapi_DsNameString {
704 const char *str;/* [unique,charset(UTF16)] */
707 struct drsuapi_DsNameRequest1 {
708 uint32_t codepage;
709 uint32_t language;
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 {
728 uint32_t count;
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
743 #else
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 )
748 #endif
751 struct drsuapi_DsWriteAccountSpnRequest1 {
752 enum drsuapi_DsSpnOperation operation;
753 uint32_t unknown1;
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 {
764 WERROR status;
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)] */
774 uint32_t unknown;
777 union drsuapi_DsRemoveDSServerRequest {
778 struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
779 }/* [switch_type(int32)] */;
781 struct drsuapi_DsRemoveDSServerResult1 {
782 WERROR status;
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)] */
791 int32_t level;
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)] */
804 uint32_t is_pdc;
805 uint32_t is_enabled;
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)] */
821 uint32_t is_pdc;
822 uint32_t is_enabled;
823 uint32_t is_gc;
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_DsGetDCInfo3 {
836 const char *netbios_name;/* [unique,charset(UTF16)] */
837 const char *dns_name;/* [unique,charset(UTF16)] */
838 const char *site_name;/* [unique,charset(UTF16)] */
839 const char *site_dn;/* [unique,charset(UTF16)] */
840 const char *computer_dn;/* [unique,charset(UTF16)] */
841 const char *server_dn;/* [unique,charset(UTF16)] */
842 const char *ntds_dn;/* [unique,charset(UTF16)] */
843 uint32_t is_pdc;
844 uint32_t is_enabled;
845 uint32_t is_gc;
846 uint32_t is_rodc;
847 struct GUID site_guid;
848 struct GUID computer_guid;
849 struct GUID server_guid;
850 struct GUID ntds_guid;
853 struct drsuapi_DsGetDCInfoCtr3 {
854 uint32_t count;/* [range(0,10000)] */
855 struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
858 struct drsuapi_DsGetDCConnection01 {
859 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
860 uint32_t unknown2;
861 uint32_t connection_time;
862 uint32_t unknown4;
863 uint32_t unknown5;
864 uint32_t unknown6;
865 const char *client_account;/* [unique,charset(UTF16)] */
868 struct drsuapi_DsGetDCConnectionCtr01 {
869 uint32_t count;/* [range(0,10000)] */
870 struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
873 enum drsuapi_DsGetDCInfoCtrLevels
874 #ifndef USE_UINT_ENUMS
876 DRSUAPI_DC_INFO_CTR_1=1,
877 DRSUAPI_DC_INFO_CTR_2=2,
878 DRSUAPI_DC_INFO_CTR_3=3,
879 DRSUAPI_DC_CONNECTION_CTR_01=-1
881 #else
882 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
883 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
884 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
885 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
886 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
887 #endif
890 union drsuapi_DsGetDCInfoCtr {
891 struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
892 struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
893 struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
894 struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
895 }/* [switch_type(int32)] */;
897 struct drsuapi_DsReplicaObjectListItem {
898 struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
899 struct drsuapi_DsReplicaObject object;
900 }/* [noprint,public] */;
902 struct drsuapi_DsAddEntryRequest2 {
903 struct drsuapi_DsReplicaObjectListItem first_object;
906 union drsuapi_DsAddEntryRequest {
907 struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
908 }/* [switch_type(int32)] */;
910 struct drsuapi_DsAddEntryErrorInfoX {
911 uint32_t unknown1;
912 WERROR status;
913 uint32_t unknown2;
914 uint16_t unknown3;
917 struct drsuapi_DsAddEntryExtraErrorBuffer {
918 uint32_t size;/* [range(0,10485760)] */
919 uint8_t *data;/* [unique,size_is(size)] */
922 struct drsuapi_DsAddEntryExtraError1 {
923 struct drsuapi_DsAddEntryErrorInfoX error;
924 enum drsuapi_DsAttributeId attid;
925 uint32_t unknown2;
926 struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
929 struct drsuapi_DsAddEntryErrorListItem1 {
930 struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
931 struct drsuapi_DsAddEntryExtraError1 error;
934 struct drsuapi_DsAddEntryErrorInfo1 {
935 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
936 WERROR status;
937 struct drsuapi_DsAddEntryErrorListItem1 first;
940 union drsuapi_DsAddEntryErrorInfo {
941 struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
942 struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
943 }/* [switch_type(uint32)] */;
945 struct drsuapi_DsAddEntryError1 {
946 WERROR status;
947 uint32_t level;
948 union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
951 union drsuapi_DsAddEntryError {
952 struct drsuapi_DsAddEntryError1 info1;/* [case] */
953 }/* [switch_type(uint32)] */;
955 struct drsuapi_DsReplicaObjectIdentifier2 {
956 struct GUID guid;
957 struct dom_sid28 sid;
960 struct drsuapi_DsAddEntryCtr2 {
961 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
962 uint32_t unknown1;
963 struct drsuapi_DsAddEntryErrorInfoX error;
964 uint32_t count;/* [range(0,10000)] */
965 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
968 struct drsuapi_DsAddEntryCtr3 {
969 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
970 uint32_t level;
971 union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
972 uint32_t count;/* [range(0,10000)] */
973 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
976 union drsuapi_DsAddEntryCtr {
977 struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
978 struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
979 }/* [switch_type(int32)] */;
981 enum drsuapi_DsReplicaGetInfoLevel
982 #ifndef USE_UINT_ENUMS
984 DRSUAPI_DS_REPLICA_GET_INFO=1,
985 DRSUAPI_DS_REPLICA_GET_INFO2=2
987 #else
988 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
989 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
990 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
991 #endif
994 enum drsuapi_DsReplicaInfoType
995 #ifndef USE_UINT_ENUMS
997 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=0,
998 DRSUAPI_DS_REPLICA_INFO_CURSORS=1,
999 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=2,
1000 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=3,
1001 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=4,
1002 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=5,
1003 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=6,
1004 DRSUAPI_DS_REPLICA_INFO_CURSORS2=7,
1005 DRSUAPI_DS_REPLICA_INFO_CURSORS3=8,
1006 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=9,
1007 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=10,
1008 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=-2,
1009 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=-4,
1010 DRSUAPI_DS_REPLICA_INFO_CURSORS05=-5,
1011 DRSUAPI_DS_REPLICA_INFO_06=-6
1013 #else
1014 { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1015 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1016 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1017 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1018 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1019 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1020 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1021 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1022 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1023 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1024 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1025 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1026 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1027 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1028 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1029 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1030 #endif
1033 struct drsuapi_DsReplicaGetInfoRequest1 {
1034 enum drsuapi_DsReplicaInfoType info_type;
1035 const char *object_dn;/* [unique,charset(UTF16)] */
1036 struct GUID guid1;
1039 struct drsuapi_DsReplicaGetInfoRequest2 {
1040 enum drsuapi_DsReplicaInfoType info_type;
1041 const char *object_dn;/* [unique,charset(UTF16)] */
1042 struct GUID guid1;
1043 uint32_t unknown1;
1044 const char *string1;/* [unique,charset(UTF16)] */
1045 const char *string2;/* [unique,charset(UTF16)] */
1046 uint32_t unknown2;
1049 union drsuapi_DsReplicaGetInfoRequest {
1050 struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1051 struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1052 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1054 struct drsuapi_DsReplicaNeighbour {
1055 const char *naming_context_dn;/* [unique,charset(UTF16)] */
1056 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1057 const char *source_dsa_address;/* [unique,charset(UTF16)] */
1058 const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1059 uint32_t replica_flags;
1060 uint32_t reserved;
1061 struct GUID naming_context_obj_guid;
1062 struct GUID source_dsa_obj_guid;
1063 struct GUID source_dsa_invocation_id;
1064 struct GUID transport_obj_guid;
1065 uint64_t tmp_highest_usn;
1066 uint64_t highest_usn;
1067 NTTIME last_success;
1068 NTTIME last_attempt;
1069 WERROR result_last_attempt;
1070 uint32_t consecutive_sync_failures;
1073 struct drsuapi_DsReplicaNeighbourCtr {
1074 uint32_t count;
1075 uint32_t reserved;
1076 struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1079 struct drsuapi_DsReplicaCursorCtr {
1080 uint32_t count;
1081 uint32_t reserved;
1082 struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1085 struct drsuapi_DsReplicaObjMetaData {
1086 const char *attribute_name;/* [unique,charset(UTF16)] */
1087 uint32_t version;
1088 NTTIME originating_change_time;
1089 struct GUID originating_invocation_id;
1090 uint64_t originating_usn;
1091 uint64_t local_usn;
1094 struct drsuapi_DsReplicaObjMetaDataCtr {
1095 uint32_t count;
1096 uint32_t reserved;
1097 struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1100 struct drsuapi_DsReplicaKccDsaFailure {
1101 const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1102 struct GUID dsa_obj_guid;
1103 NTTIME first_failure;
1104 uint32_t num_failures;
1105 WERROR last_result;
1108 struct drsuapi_DsReplicaKccDsaFailuresCtr {
1109 uint32_t count;
1110 uint32_t reserved;
1111 struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1114 enum drsuapi_DsReplicaOpType
1115 #ifndef USE_UINT_ENUMS
1117 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=0,
1118 DRSUAPI_DS_REPLICA_OP_TYPE_ADD=1,
1119 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=2,
1120 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=3,
1121 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=4
1123 #else
1124 { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1125 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1126 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1127 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1128 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1129 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1130 #endif
1133 union drsuapi_DsRplicaOpOptions {
1134 uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1135 uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1136 uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1137 uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1138 uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1139 uint32_t unknown;/* [default] */
1140 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1142 struct drsuapi_DsReplicaOp {
1143 NTTIME operation_start;
1144 uint32_t serial_num;
1145 uint32_t priority;
1146 enum drsuapi_DsReplicaOpType operation_type;
1147 union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1148 const char *nc_dn;/* [unique,charset(UTF16)] */
1149 const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1150 const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1151 struct GUID nc_obj_guid;
1152 struct GUID remote_dsa_obj_guid;
1155 struct drsuapi_DsReplicaOpCtr {
1156 NTTIME time;
1157 uint32_t count;
1158 struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1161 struct drsuapi_DsReplicaAttrValMetaData {
1162 const char *attribute_name;/* [unique,charset(UTF16)] */
1163 const char *object_dn;/* [unique,charset(UTF16)] */
1164 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1165 DATA_BLOB *binary;/* [unique] */
1166 NTTIME deleted;
1167 NTTIME created;
1168 uint32_t version;
1169 NTTIME originating_change_time;
1170 struct GUID originating_invocation_id;
1171 uint64_t originating_usn;
1172 uint64_t local_usn;
1175 struct drsuapi_DsReplicaAttrValMetaDataCtr {
1176 uint32_t count;
1177 int32_t enumeration_context;
1178 struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1181 struct drsuapi_DsReplicaCursor2Ctr {
1182 uint32_t count;
1183 int32_t enumeration_context;
1184 struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1187 struct drsuapi_DsReplicaCursor3 {
1188 struct GUID source_dsa_invocation_id;
1189 uint64_t highest_usn;
1190 NTTIME last_sync_success;
1191 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1194 struct drsuapi_DsReplicaCursor3Ctr {
1195 uint32_t count;
1196 int32_t enumeration_context;
1197 struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1200 struct drsuapi_DsReplicaObjMetaData2 {
1201 const char *attribute_name;/* [unique,charset(UTF16)] */
1202 uint32_t version;
1203 NTTIME originating_change_time;
1204 struct GUID originating_invocation_id;
1205 uint64_t originating_usn;
1206 uint64_t local_usn;
1207 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1210 struct drsuapi_DsReplicaObjMetaData2Ctr {
1211 uint32_t count;
1212 int32_t enumeration_context;
1213 struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1216 struct drsuapi_DsReplicaAttrValMetaData2 {
1217 const char *attribute_name;/* [unique,charset(UTF16)] */
1218 const char *object_dn;/* [unique,charset(UTF16)] */
1219 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1220 DATA_BLOB *binary;/* [unique] */
1221 NTTIME deleted;
1222 NTTIME created;
1223 uint32_t version;
1224 NTTIME originating_change_time;
1225 struct GUID originating_invocation_id;
1226 uint64_t originating_usn;
1227 uint64_t local_usn;
1228 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1231 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1232 uint32_t count;
1233 int32_t enumeration_context;
1234 struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1237 struct drsuapi_DsReplicaConnection04 {
1238 uint64_t u1;
1239 uint32_t u2;
1240 uint32_t u3;
1241 struct GUID bind_guid;
1242 NTTIME bind_time;
1243 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1244 uint32_t u5;
1247 struct drsuapi_DsReplicaConnection04Ctr {
1248 uint32_t count;/* [range(0,10000)] */
1249 uint32_t reserved;
1250 struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1253 struct drsuapi_DsReplica06 {
1254 const char *str1;/* [unique,charset(UTF16)] */
1255 uint32_t u1;
1256 uint32_t u2;
1257 uint32_t u3;
1258 uint32_t u4;
1259 uint32_t u5;
1260 uint64_t u6;
1261 uint32_t u7;
1264 struct drsuapi_DsReplica06Ctr {
1265 uint32_t count;/* [range(0,256)] */
1266 uint32_t reserved;
1267 struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1270 union drsuapi_DsReplicaInfo {
1271 struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1272 struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1273 struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1274 struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1275 struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1276 struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1277 struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1278 struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1279 struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1280 struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1281 struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1282 struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1283 struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1284 struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1285 struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1286 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1288 struct drsuapi_DsGetMemberships2Ctr1 {
1289 uint32_t num_entries;/* [range(0,10000)] */
1290 struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1293 union drsuapi_DsGetMemberships2Ctr {
1294 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1295 }/* [switch_type(int32)] */;
1297 struct drsuapi_DsGetMemberships2Request1 {
1298 uint32_t num_req;/* [range(1,10000)] */
1299 struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1302 union drsuapi_DsGetMemberships2Request {
1303 struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1304 }/* [switch_type(int32)] */;
1306 struct drsuapi_DsSiteCostInfo {
1307 WERROR error_code;
1308 uint32_t site_cost;
1311 struct drsuapi_QuerySitesByCostCtr1 {
1312 uint32_t num_info;/* [range(0,10000)] */
1313 struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1314 uint32_t unknown;
1317 union drsuapi_QuerySitesByCostCtr {
1318 struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1319 }/* [switch_type(int32)] */;
1321 struct drsuapi_QuerySitesByCostRequest1 {
1322 const char *site_from;/* [unique,charset(UTF16)] */
1323 uint32_t num_req;/* [range(1,10000)] */
1324 const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1325 uint32_t flags;
1328 union drsuapi_QuerySitesByCostRequest {
1329 struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1330 }/* [switch_type(int32)] */;
1333 struct drsuapi_DsBind {
1334 struct {
1335 struct GUID *bind_guid;/* [unique] */
1336 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1337 } in;
1339 struct {
1340 struct policy_handle *bind_handle;/* [ref] */
1341 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1342 WERROR result;
1343 } out;
1348 struct drsuapi_DsUnbind {
1349 struct {
1350 struct policy_handle *bind_handle;/* [ref] */
1351 } in;
1353 struct {
1354 struct policy_handle *bind_handle;/* [ref] */
1355 WERROR result;
1356 } out;
1361 struct drsuapi_DsReplicaSync {
1362 struct {
1363 struct policy_handle *bind_handle;/* [ref] */
1364 int32_t level;
1365 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1366 } in;
1368 struct {
1369 WERROR result;
1370 } out;
1375 struct drsuapi_DsGetNCChanges {
1376 struct {
1377 struct policy_handle *bind_handle;/* [ref] */
1378 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(*level)] */
1379 int32_t *level;/* [ref] */
1380 } in;
1382 struct {
1383 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level)] */
1384 int32_t *level;/* [ref] */
1385 WERROR result;
1386 } out;
1391 struct drsuapi_DsReplicaUpdateRefs {
1392 struct {
1393 struct policy_handle *bind_handle;/* [ref] */
1394 int32_t level;
1395 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1396 } in;
1398 struct {
1399 WERROR result;
1400 } out;
1405 struct DRSUAPI_REPLICA_ADD {
1406 struct {
1407 WERROR result;
1408 } out;
1413 struct DRSUAPI_REPLICA_DEL {
1414 struct {
1415 WERROR result;
1416 } out;
1421 struct DRSUAPI_REPLICA_MODIFY {
1422 struct {
1423 WERROR result;
1424 } out;
1429 struct DRSUAPI_VERIFY_NAMES {
1430 struct {
1431 WERROR result;
1432 } out;
1437 struct drsuapi_DsGetMemberships {
1438 struct {
1439 struct policy_handle *bind_handle;/* [ref] */
1440 int32_t level;
1441 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1442 } in;
1444 struct {
1445 int32_t *level_out;/* [ref] */
1446 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1447 WERROR result;
1448 } out;
1453 struct DRSUAPI_INTER_DOMAIN_MOVE {
1454 struct {
1455 WERROR result;
1456 } out;
1461 struct drsuapi_DsGetNT4ChangeLog {
1462 struct {
1463 struct policy_handle *bind_handle;/* [ref] */
1464 uint32_t level;
1465 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1466 } in;
1468 struct {
1469 uint32_t *level_out;/* [ref] */
1470 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1471 WERROR result;
1472 } out;
1477 struct drsuapi_DsCrackNames {
1478 struct {
1479 struct policy_handle *bind_handle;/* [ref] */
1480 int32_t level;
1481 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1482 } in;
1484 struct {
1485 int32_t *level_out;/* [ref] */
1486 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1487 WERROR result;
1488 } out;
1493 struct drsuapi_DsWriteAccountSpn {
1494 struct {
1495 struct policy_handle *bind_handle;/* [ref] */
1496 int32_t level;
1497 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1498 } in;
1500 struct {
1501 int32_t *level_out;/* [ref] */
1502 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1503 WERROR result;
1504 } out;
1509 struct drsuapi_DsRemoveDSServer {
1510 struct {
1511 struct policy_handle *bind_handle;/* [ref] */
1512 int32_t level;
1513 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1514 } in;
1516 struct {
1517 int32_t *level_out;/* [ref] */
1518 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1519 WERROR result;
1520 } out;
1525 struct DRSUAPI_REMOVE_DS_DOMAIN {
1526 struct {
1527 WERROR result;
1528 } out;
1533 struct drsuapi_DsGetDomainControllerInfo {
1534 struct {
1535 struct policy_handle *bind_handle;/* [ref] */
1536 int32_t level;
1537 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1538 } in;
1540 struct {
1541 int32_t *level_out;/* [ref] */
1542 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1543 WERROR result;
1544 } out;
1549 struct drsuapi_DsAddEntry {
1550 struct {
1551 struct policy_handle *bind_handle;/* [ref] */
1552 int32_t level;
1553 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1554 } in;
1556 struct {
1557 int32_t *level_out;/* [ref] */
1558 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1559 WERROR result;
1560 } out;
1565 struct DRSUAPI_EXECUTE_KCC {
1566 struct {
1567 WERROR result;
1568 } out;
1573 struct drsuapi_DsReplicaGetInfo {
1574 struct {
1575 struct policy_handle *bind_handle;/* [ref] */
1576 enum drsuapi_DsReplicaGetInfoLevel level;
1577 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1578 } in;
1580 struct {
1581 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1582 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1583 WERROR result;
1584 } out;
1589 struct DRSUAPI_ADD_SID_HISTORY {
1590 struct {
1591 WERROR result;
1592 } out;
1597 struct drsuapi_DsGetMemberships2 {
1598 struct {
1599 struct policy_handle *bind_handle;/* [ref] */
1600 int32_t level;
1601 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1602 } in;
1604 struct {
1605 int32_t *level_out;/* [ref] */
1606 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1607 WERROR result;
1608 } out;
1613 struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1614 struct {
1615 WERROR result;
1616 } out;
1621 struct DRSUAPI_GET_OBJECT_EXISTENCE {
1622 struct {
1623 WERROR result;
1624 } out;
1629 struct drsuapi_QuerySitesByCost {
1630 struct {
1631 struct policy_handle *bind_handle;/* [ref] */
1632 int32_t level;
1633 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1634 } in;
1636 struct {
1637 int32_t *level_out;/* [ref] */
1638 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1639 WERROR result;
1640 } out;
1644 #endif /* _HEADER_drsuapi */