Re-generated idl files with () for enum values.
[Samba/aatanasov.git] / librpc / gen_ndr / drsuapi.h
blob258c2731bd3ea36b782e07082746e5b1574044d0
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/security.h"
8 #include "librpc/gen_ndr/misc.h"
9 #include "librpc/gen_ndr/samr.h"
10 #ifndef _HEADER_drsuapi
11 #define _HEADER_drsuapi
13 #define DRSUAPI_DS_BIND_GUID ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" )
14 #define DRSUAPI_DS_BIND_GUID_W2K ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" )
15 #define DRSUAPI_DS_BIND_GUID_W2K3 ( "6afab99c-6e26-464a-975f-f58f105218bc" )
16 #define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR ( 0x1 )
17 #define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
18 /* bitmap drsuapi_SupportedExtensions */
19 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
20 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
21 #define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
22 #define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
23 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
24 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
25 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
26 #define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
27 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
28 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
29 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
30 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
31 #define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
32 #define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
33 #define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
34 #define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
35 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
36 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
37 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
38 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
39 #define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
40 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
41 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
42 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
43 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
44 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
45 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
46 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
47 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
48 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
49 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
50 #define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
51 #define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
52 #define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
54 /* bitmap drsuapi_SupportedExtensionsExt */
55 #define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
56 #define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
58 struct drsuapi_DsBindInfo24 {
59 uint32_t supported_extensions;
60 struct GUID site_guid;
61 uint32_t pid;
64 struct drsuapi_DsBindInfo28 {
65 uint32_t supported_extensions;
66 struct GUID site_guid;
67 uint32_t pid;
68 uint32_t repl_epoch;
71 struct drsuapi_DsBindInfo48 {
72 uint32_t supported_extensions;
73 struct GUID site_guid;
74 uint32_t pid;
75 uint32_t repl_epoch;
76 uint32_t supported_extensions_ext;
77 struct GUID config_dn_guid;
80 struct drsuapi_DsBindInfoFallBack {
81 DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
84 union drsuapi_DsBindInfo {
85 struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
86 struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
87 struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
88 struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
89 }/* [nodiscriminant] */;
91 struct drsuapi_DsBindInfoCtr {
92 uint32_t length;/* [range(1,10000)] */
93 union drsuapi_DsBindInfo info;/* [switch_is(length)] */
96 struct drsuapi_DsReplicaObjectIdentifier {
97 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */
98 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
99 struct GUID guid;
100 struct dom_sid28 sid;
101 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
102 const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
103 }/* [gensize,public] */;
105 /* bitmap drsuapi_DsReplicaSyncOptions */
106 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
107 #define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
108 #define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
109 #define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
110 #define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
111 #define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
112 #define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
113 #define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
114 #define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
115 #define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
116 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
117 #define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
118 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
119 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
120 #define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
121 #define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
122 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
123 #define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
124 #define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
125 #define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
126 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
127 #define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
128 #define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
129 #define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
131 struct drsuapi_DsReplicaSyncRequest1 {
132 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
133 struct GUID source_dsa_guid;
134 const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
135 uint32_t options;
138 union drsuapi_DsReplicaSyncRequest {
139 struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
140 }/* [switch_type(int32)] */;
142 struct drsuapi_DsReplicaHighWaterMark {
143 uint64_t tmp_highest_usn;
144 uint64_t reserved_usn;
145 uint64_t highest_usn;
146 }/* [public] */;
148 struct drsuapi_DsReplicaCursor {
149 struct GUID source_dsa_invocation_id;
150 uint64_t highest_usn;
151 }/* [public] */;
153 struct drsuapi_DsReplicaCursorCtrEx {
154 uint32_t version;/* [value] */
155 uint32_t reserved1;/* [value(0)] */
156 uint32_t count;/* [range(0,0x100000)] */
157 uint32_t reserved2;/* [value(0)] */
158 struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
161 /* bitmap drsuapi_DsReplicaNeighbourFlags */
162 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
163 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
164 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
165 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
166 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
167 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
168 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
169 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
170 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
171 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
172 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
173 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
174 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
175 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
176 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
178 enum drsuapi_DsExtendedOperation
179 #ifndef USE_UINT_ENUMS
181 DRSUAPI_EXOP_NONE=(int)(0x00000000),
182 DRSUAPI_EXOP_FSMO_REQ_ROLE=(int)(0x00000001),
183 DRSUAPI_EXOP_FSMO_RID_ALLOC=(int)(0x00000002),
184 DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=(int)(0x00000003),
185 DRSUAPI_EXOP_FSMO_REQ_PDC=(int)(0x00000004),
186 DRSUAPI_EXOP_FSMO_ABANDON_ROLE=(int)(0x00000005),
187 DRSUAPI_EXOP_REPL_OBJ=(int)(0x00000006),
188 DRSUAPI_EXOP_REPL_SECRET=(int)(0x00000007)
190 #else
191 { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
192 #define DRSUAPI_EXOP_NONE ( 0x00000000 )
193 #define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
194 #define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
195 #define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
196 #define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
197 #define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
198 #define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
199 #define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
200 #endif
203 enum drsuapi_DsExtendedError
204 #ifndef USE_UINT_ENUMS
206 DRSUAPI_EXOP_ERR_NONE=(int)(0x00000000),
207 DRSUAPI_EXOP_ERR_SUCCESS=(int)(0x00000001),
208 DRSUAPI_EXOP_ERR_UNKNOWN_OP=(int)(0x00000002),
209 DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=(int)(0x00000003),
210 DRSUAPI_EXOP_ERR_UPDATE_ERR=(int)(0x00000004),
211 DRSUAPI_EXOP_ERR_EXCEPTION=(int)(0x00000005),
212 DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=(int)(0x00000006),
213 DRSUAPI_EXOP_ERR_RID_ALLOC=(int)(0x00000007),
214 DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=(int)(0x00000008),
215 DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=(int)(0x00000009),
216 DRSUAPI_EXOP_ERR_MISMATCH=(int)(0x0000000A),
217 DRSUAPI_EXOP_ERR_COULDNT_CONTACT=(int)(0x0000000B),
218 DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=(int)(0x0000000C),
219 DRSUAPI_EXOP_ERR_DIR_ERROR=(int)(0x0000000D),
220 DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=(int)(0x0000000E),
221 DRSUAPI_EXOP_ERR_ACCESS_DENIED=(int)(0x0000000F),
222 DRSUAPI_EXOP_ERR_PARAM_ERROR=(int)(0x00000010)
224 #else
225 { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
226 #define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
227 #define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
228 #define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
229 #define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
230 #define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
231 #define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
232 #define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
233 #define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
234 #define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
235 #define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
236 #define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
237 #define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
238 #define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
239 #define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
240 #define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
241 #define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
242 #define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
243 #endif
246 struct drsuapi_DsGetNCChangesRequest5 {
247 struct GUID destination_dsa_guid;
248 struct GUID source_dsa_invocation_id;
249 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
250 struct drsuapi_DsReplicaHighWaterMark highwatermark;
251 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
252 uint32_t replica_flags;
253 uint32_t max_object_count;
254 uint32_t max_ndr_size;
255 enum drsuapi_DsExtendedOperation extended_op;
256 uint64_t fsmo_info;
259 struct drsuapi_DsReplicaOID {
260 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
261 const char *oid;/* [unique,charset(DOS),size_is(__ndr_size)] */
262 }/* [nopush,nopull] */;
264 struct drsuapi_DsReplicaOIDMapping {
265 uint32_t id_prefix;
266 struct drsuapi_DsReplicaOID oid;
269 struct drsuapi_DsReplicaOIDMapping_Ctr {
270 uint32_t num_mappings;/* [range(0,0x100000)] */
271 struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */
272 }/* [public] */;
274 enum drsuapi_DsObjectClassId
275 #ifndef USE_UINT_ENUMS
277 DRSUAPI_OBJECTCLASS_top=(int)(0x00010000),
278 DRSUAPI_OBJECTCLASS_classSchema=(int)(0x0003000d),
279 DRSUAPI_OBJECTCLASS_attributeSchema=(int)(0x0003000e)
281 #else
282 { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
283 #define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
284 #define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
285 #define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
286 #endif
289 enum drsuapi_DsAttributeId
290 #ifndef USE_UINT_ENUMS
292 DRSUAPI_ATTRIBUTE_objectClass=(int)(0x00000000),
293 DRSUAPI_ATTRIBUTE_description=(int)(0x0000000d),
294 DRSUAPI_ATTRIBUTE_member=(int)(0x0000001f),
295 DRSUAPI_ATTRIBUTE_instanceType=(int)(0x00020001),
296 DRSUAPI_ATTRIBUTE_whenCreated=(int)(0x00020002),
297 DRSUAPI_ATTRIBUTE_possSuperiors=(int)(0x00020008),
298 DRSUAPI_ATTRIBUTE_hasMasterNCs=(int)(0x0002000e),
299 DRSUAPI_ATTRIBUTE_subClassOf=(int)(0x00020015),
300 DRSUAPI_ATTRIBUTE_governsID=(int)(0x00020016),
301 DRSUAPI_ATTRIBUTE_mustContain=(int)(0x00020018),
302 DRSUAPI_ATTRIBUTE_mayContain=(int)(0x00020019),
303 DRSUAPI_ATTRIBUTE_attributeID=(int)(0x0002001e),
304 DRSUAPI_ATTRIBUTE_attributeSyntax=(int)(0x00020020),
305 DRSUAPI_ATTRIBUTE_isSingleValued=(int)(0x00020021),
306 DRSUAPI_ATTRIBUTE_rangeLower=(int)(0x00020022),
307 DRSUAPI_ATTRIBUTE_rangeUpper=(int)(0x00020023),
308 DRSUAPI_ATTRIBUTE_dMDLocation=(int)(0x00020024),
309 DRSUAPI_ATTRIBUTE_objectVersion=(int)(0x0002004c),
310 DRSUAPI_ATTRIBUTE_invocationId=(int)(0x00020073),
311 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=(int)(0x000200a9),
312 DRSUAPI_ATTRIBUTE_adminDisplayName=(int)(0x000200c2),
313 DRSUAPI_ATTRIBUTE_adminDescription=(int)(0x000200e2),
314 DRSUAPI_ATTRIBUTE_oMSyntax=(int)(0x000200e7),
315 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=(int)(0x00020119),
316 DRSUAPI_ATTRIBUTE_searchFlags=(int)(0x0002014e),
317 DRSUAPI_ATTRIBUTE_auxiliaryClass=(int)(0x0002015f),
318 DRSUAPI_ATTRIBUTE_lDAPDisplayName=(int)(0x000201cc),
319 DRSUAPI_ATTRIBUTE_name=(int)(0x00090001),
320 DRSUAPI_ATTRIBUTE_userAccountControl=(int)(0x00090008),
321 DRSUAPI_ATTRIBUTE_currentValue=(int)(0x0009001b),
322 DRSUAPI_ATTRIBUTE_homeDirectory=(int)(0x0009002c),
323 DRSUAPI_ATTRIBUTE_homeDrive=(int)(0x0009002d),
324 DRSUAPI_ATTRIBUTE_scriptPath=(int)(0x0009003e),
325 DRSUAPI_ATTRIBUTE_profilePath=(int)(0x0009008b),
326 DRSUAPI_ATTRIBUTE_objectSid=(int)(0x00090092),
327 DRSUAPI_ATTRIBUTE_schemaIDGUID=(int)(0x00090094),
328 DRSUAPI_ATTRIBUTE_dBCSPwd=(int)(0x00090037),
329 DRSUAPI_ATTRIBUTE_logonHours=(int)(0x00090040),
330 DRSUAPI_ATTRIBUTE_userWorkstations=(int)(0x00090056),
331 DRSUAPI_ATTRIBUTE_unicodePwd=(int)(0x0009005a),
332 DRSUAPI_ATTRIBUTE_ntPwdHistory=(int)(0x0009005e),
333 DRSUAPI_ATTRIBUTE_priorValue=(int)(0x00090064),
334 DRSUAPI_ATTRIBUTE_supplementalCredentials=(int)(0x0009007d),
335 DRSUAPI_ATTRIBUTE_trustAuthIncoming=(int)(0x00090081),
336 DRSUAPI_ATTRIBUTE_trustAuthOutgoing=(int)(0x00090087),
337 DRSUAPI_ATTRIBUTE_lmPwdHistory=(int)(0x000900a0),
338 DRSUAPI_ATTRIBUTE_systemPossSuperiors=(int)(0x000900c3),
339 DRSUAPI_ATTRIBUTE_systemMayContain=(int)(0x000900c4),
340 DRSUAPI_ATTRIBUTE_systemMustContain=(int)(0x000900c5),
341 DRSUAPI_ATTRIBUTE_sAMAccountName=(int)(0x000900dd),
342 DRSUAPI_ATTRIBUTE_sAMAccountType=(int)(0x0009012e),
343 DRSUAPI_ATTRIBUTE_fSMORoleOwner=(int)(0x00090171),
344 DRSUAPI_ATTRIBUTE_systemFlags=(int)(0x00090177),
345 DRSUAPI_ATTRIBUTE_serverReference=(int)(0x00090203),
346 DRSUAPI_ATTRIBUTE_serverReferenceBL=(int)(0x00090204),
347 DRSUAPI_ATTRIBUTE_initialAuthIncoming=(int)(0x0009021b),
348 DRSUAPI_ATTRIBUTE_initialAuthOutgoing=(int)(0x0009021c),
349 DRSUAPI_ATTRIBUTE_wellKnownObjects=(int)(0x0009026a),
350 DRSUAPI_ATTRIBUTE_dNSHostName=(int)(0x0009026b),
351 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=(int)(0x0009027f),
352 DRSUAPI_ATTRIBUTE_userPrincipalName=(int)(0x00090290),
353 DRSUAPI_ATTRIBUTE_groupType=(int)(0x000902ee),
354 DRSUAPI_ATTRIBUTE_servicePrincipalName=(int)(0x00090303),
355 DRSUAPI_ATTRIBUTE_objectCategory=(int)(0x0009030e),
356 DRSUAPI_ATTRIBUTE_gPLink=(int)(0x0009037b),
357 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=(int)(0x000905b3),
358 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=(int)(0x000906f6),
359 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=(int)(0x0009071c),
360 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c)
362 #else
363 { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
364 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
365 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
366 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
367 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
368 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
369 #define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 )
370 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
371 #define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 )
372 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
373 #define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
374 #define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
375 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
376 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
377 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
378 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
379 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
380 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
381 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
382 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
383 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
384 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
385 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
386 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
387 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
388 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
389 #define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f )
390 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
391 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
392 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
393 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
394 #define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
395 #define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
396 #define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
397 #define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
398 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
399 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
400 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
401 #define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
402 #define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
403 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
404 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
405 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
406 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
407 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
408 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
409 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
410 #define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
411 #define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
412 #define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
413 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
414 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
415 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
416 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
417 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
418 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
419 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
420 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
421 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
422 #define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
423 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
424 #define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
425 #define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
426 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
427 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
428 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
429 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
430 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
431 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
432 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
433 #endif
436 struct drsuapi_DsPartialAttributeSet {
437 uint32_t version;/* [value] */
438 uint32_t reserved1;/* [value(0)] */
439 uint32_t num_attids;/* [range(1,0x100000)] */
440 enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */
443 struct drsuapi_DsGetNCChangesRequest8 {
444 struct GUID destination_dsa_guid;
445 struct GUID source_dsa_invocation_id;
446 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
447 struct drsuapi_DsReplicaHighWaterMark highwatermark;
448 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
449 uint32_t replica_flags;
450 uint32_t max_object_count;
451 uint32_t max_ndr_size;
452 enum drsuapi_DsExtendedOperation extended_op;
453 uint64_t fsmo_info;
454 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
455 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
456 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
459 struct drsuapi_DsGetNCChangesRequest10 {
460 struct GUID destination_dsa_guid;
461 struct GUID source_dsa_invocation_id;
462 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
463 struct drsuapi_DsReplicaHighWaterMark highwatermark;
464 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
465 uint32_t replica_flags;
466 uint32_t max_object_count;
467 uint32_t max_ndr_size;
468 enum drsuapi_DsExtendedOperation extended_op;
469 uint64_t fsmo_info;
470 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
471 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
472 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
473 uint32_t more_flags;
476 union drsuapi_DsGetNCChangesRequest {
477 struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
478 struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
479 struct drsuapi_DsGetNCChangesRequest10 req10;/* [case(10)] */
480 }/* [switch_type(int32)] */;
482 struct drsuapi_DsReplicaCursor2 {
483 struct GUID source_dsa_invocation_id;
484 uint64_t highest_usn;
485 NTTIME last_sync_success;
486 }/* [public] */;
488 struct drsuapi_DsReplicaCursor2CtrEx {
489 uint32_t version;/* [value(2)] */
490 uint32_t reserved1;/* [value(0)] */
491 uint32_t count;/* [range(0,0x100000)] */
492 uint32_t reserved2;/* [value(0)] */
493 struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */
496 struct drsuapi_DsAttributeValue {
497 uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
498 DATA_BLOB *blob;/* [unique] */
501 struct drsuapi_DsAttributeValueCtr {
502 uint32_t num_values;/* [range(0,10485760)] */
503 struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */
506 struct drsuapi_DsReplicaObjectIdentifier3 {
507 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
508 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
509 struct GUID guid;
510 struct dom_sid28 sid;
511 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
512 const char *dn;/* [charset(UTF16)] */
513 }/* [gensize,public] */;
515 struct drsuapi_DsReplicaObjectIdentifier3Binary {
516 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->iconv_convenience,ndr->flags))] */
517 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
518 struct GUID guid;
519 struct dom_sid28 sid;
520 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
521 const char *dn;/* [charset(UTF16)] */
522 uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
523 DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
524 }/* [gensize,public] */;
526 struct drsuapi_DsReplicaAttribute {
527 enum drsuapi_DsAttributeId attid;
528 struct drsuapi_DsAttributeValueCtr value_ctr;
529 }/* [public] */;
531 struct drsuapi_DsReplicaAttributeCtr {
532 uint32_t num_attributes;/* [range(0,1048576)] */
533 struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */
536 /* bitmap drsuapi_DsReplicaObjectFlags */
537 #define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
538 #define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
539 #define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
541 struct drsuapi_DsReplicaObject {
542 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
543 uint32_t flags;
544 struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
545 }/* [public] */;
547 struct drsuapi_DsReplicaMetaData {
548 uint32_t version;
549 NTTIME originating_change_time;
550 struct GUID originating_invocation_id;
551 uint64_t originating_usn;
554 struct drsuapi_DsReplicaMetaDataCtr {
555 uint32_t count;/* [range(0,1048576)] */
556 struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */
557 }/* [public] */;
559 struct drsuapi_DsReplicaObjectListItemEx {
560 struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
561 struct drsuapi_DsReplicaObject object;
562 uint32_t is_nc_prefix;
563 struct GUID *parent_object_guid;/* [unique] */
564 struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */
565 }/* [noprint,public] */;
567 struct drsuapi_DsGetNCChangesCtr1 {
568 struct GUID source_dsa_guid;
569 struct GUID source_dsa_invocation_id;
570 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
571 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
572 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
573 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
574 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
575 enum drsuapi_DsExtendedError extended_ret;
576 uint32_t object_count;
577 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
578 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
579 uint32_t more_data;
580 }/* [gensize,public] */;
582 /* bitmap drsuapi_DsLinkedAttributeFlags */
583 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
585 struct drsuapi_DsReplicaLinkedAttribute {
586 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
587 enum drsuapi_DsAttributeId attid;
588 struct drsuapi_DsAttributeValue value;
589 uint32_t flags;
590 NTTIME originating_add_time;
591 struct drsuapi_DsReplicaMetaData meta_data;
592 }/* [public] */;
594 struct drsuapi_DsGetNCChangesCtr6 {
595 struct GUID source_dsa_guid;
596 struct GUID source_dsa_invocation_id;
597 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
598 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
599 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
600 struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */
601 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
602 enum drsuapi_DsExtendedError extended_ret;
603 uint32_t object_count;
604 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
605 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
606 uint32_t more_data;
607 uint32_t nc_object_count;
608 uint32_t nc_linked_attributes_count;
609 uint32_t linked_attributes_count;/* [range(0,1048576)] */
610 struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
611 WERROR drs_error;
612 }/* [gensize,public] */;
614 struct drsuapi_DsGetNCChangesCtr1TS {
615 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */
616 }/* [public] */;
618 struct drsuapi_DsGetNCChangesCtr6TS {
619 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */
620 }/* [public] */;
622 struct drsuapi_DsGetNCChangesMSZIPCtr1 {
623 uint32_t decompressed_length;
624 uint32_t compressed_length;
625 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
626 }/* [nopush] */;
628 struct drsuapi_DsGetNCChangesMSZIPCtr6 {
629 uint32_t decompressed_length;
630 uint32_t compressed_length;
631 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
632 }/* [nopush] */;
634 struct drsuapi_DsGetNCChangesXPRESSCtr1 {
635 uint32_t decompressed_length;
636 uint32_t compressed_length;
637 struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
638 }/* [nopush] */;
640 struct drsuapi_DsGetNCChangesXPRESSCtr6 {
641 uint32_t decompressed_length;
642 uint32_t compressed_length;
643 struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
644 }/* [nopush] */;
646 enum drsuapi_DsGetNCChangesCompressionType
647 #ifndef USE_UINT_ENUMS
649 DRSUAPI_COMPRESSION_TYPE_MSZIP=(int)(2),
650 DRSUAPI_COMPRESSION_TYPE_XPRESS=(int)(3)
652 #else
653 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
654 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
655 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
656 #endif
659 union drsuapi_DsGetNCChangesCompressedCtr {
660 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
661 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
662 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
663 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
664 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
666 struct drsuapi_DsGetNCChangesCtr2 {
667 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;
670 struct drsuapi_DsGetNCChangesCtr7 {
671 int32_t level;/* [range(0,6)] */
672 enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */
673 union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */
676 union drsuapi_DsGetNCChangesCtr {
677 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */
678 struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */
679 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */
680 struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
681 }/* [switch_type(int32)] */;
683 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
684 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
685 #define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
686 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
687 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
688 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
690 struct drsuapi_DsReplicaUpdateRefsRequest1 {
691 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
692 const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
693 struct GUID dest_dsa_guid;
694 uint32_t options;
697 union drsuapi_DsReplicaUpdateRefsRequest {
698 struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
699 }/* [switch_type(int32)] */;
701 /* bitmap drsuapi_DsReplicaAddOptions */
702 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
703 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
705 struct drsuapi_DsReplicaAddRequest1 {
706 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
707 const char *source_dsa_address;/* [unique,charset(UTF16)] */
708 uint8_t schedule[84];
709 uint32_t options;
712 struct drsuapi_DsReplicaAddRequest2 {
713 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
714 struct drsuapi_DsReplicaObjectIdentifier *source_dsa_dn;/* [unique] */
715 struct drsuapi_DsReplicaObjectIdentifier *transport_dn;/* [unique] */
716 const char *source_dsa_address;/* [unique,charset(UTF16)] */
717 uint8_t schedule[84];
718 uint32_t options;
721 union drsuapi_DsReplicaAddRequest {
722 struct drsuapi_DsReplicaAddRequest1 req1;/* [case] */
723 struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
724 }/* [switch_type(int32)] */;
726 /* bitmap drsuapi_DsReplicaDeleteOptions */
727 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
728 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
730 struct drsuapi_DsReplicaDelRequest1 {
731 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
732 const char *source_dsa_address;/* [unique,charset(UTF16)] */
733 uint32_t options;
736 union drsuapi_DsReplicaDelRequest {
737 struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
738 }/* [switch_type(int32)] */;
740 /* bitmap drsuapi_DsReplicaModifyOptions */
741 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
742 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
744 struct drsuapi_DsReplicaModRequest1 {
745 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
746 struct GUID source_dra;
747 const char *source_dra_address;/* [unique,charset(UTF16)] */
748 uint8_t schedule[84];
749 uint32_t replica_flags;
750 uint32_t modify_fields;
751 uint32_t options;
754 union drsuapi_DsReplicaModRequest {
755 struct drsuapi_DsReplicaModRequest1 req1;/* [case] */
756 }/* [switch_type(int32)] */;
758 enum drsuapi_DsMembershipType
759 #ifndef USE_UINT_ENUMS
761 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=(int)(1),
762 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=(int)(2),
763 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=(int)(3),
764 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=(int)(4),
765 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=(int)(5),
766 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=(int)(6),
767 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=(int)(7)
769 #else
770 { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
771 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
772 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
773 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
774 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
775 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
776 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
777 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
778 #endif
781 struct drsuapi_DsGetMembershipsCtr1 {
782 NTSTATUS status;
783 uint32_t num_memberships;/* [range(0,10000)] */
784 uint32_t num_sids;/* [range(0,10000)] */
785 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */
786 uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */
787 struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */
790 union drsuapi_DsGetMembershipsCtr {
791 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
792 }/* [switch_type(int32)] */;
794 struct drsuapi_DsGetMembershipsRequest1 {
795 uint32_t count;/* [range(1,10000)] */
796 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
797 uint32_t flags;
798 enum drsuapi_DsMembershipType type;
799 struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
802 union drsuapi_DsGetMembershipsRequest {
803 struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */
804 }/* [switch_type(int32)] */;
806 struct drsuapi_DsGetNT4ChangeLogRequest1 {
807 uint32_t unknown1;
808 uint32_t unknown2;
809 uint32_t length;/* [range(0,0x00A00000)] */
810 uint8_t *data;/* [unique,size_is(length)] */
813 union drsuapi_DsGetNT4ChangeLogRequest {
814 struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */
815 }/* [switch_type(uint32)] */;
817 struct drsuapi_DsGetNT4ChangeLogInfo1 {
818 uint32_t length1;/* [range(0,0x00A00000)] */
819 uint32_t length2;/* [range(0,0x00A00000)] */
820 uint64_t unknown1;
821 NTTIME time2;
822 uint64_t unknown3;
823 NTTIME time4;
824 uint64_t unknown5;
825 NTTIME time6;
826 NTSTATUS status;
827 uint8_t *data1;/* [unique,size_is(length1)] */
828 uint8_t *data2;/* [unique,size_is(length2)] */
831 union drsuapi_DsGetNT4ChangeLogInfo {
832 struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */
833 }/* [switch_type(uint32)] */;
835 enum drsuapi_DsNameStatus
836 #ifndef USE_UINT_ENUMS
838 DRSUAPI_DS_NAME_STATUS_OK=(int)(0),
839 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=(int)(1),
840 DRSUAPI_DS_NAME_STATUS_NOT_FOUND=(int)(2),
841 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=(int)(3),
842 DRSUAPI_DS_NAME_STATUS_NO_MAPPING=(int)(4),
843 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=(int)(5),
844 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=(int)(6),
845 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=(int)(7)
847 #else
848 { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
849 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
850 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
851 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
852 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
853 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
854 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
855 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
856 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
857 #endif
860 enum drsuapi_DsNameFlags
861 #ifndef USE_UINT_ENUMS
863 DRSUAPI_DS_NAME_FLAG_NO_FLAGS=(int)(0x0),
864 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=(int)(0x1),
865 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=(int)(0x2),
866 DRSUAPI_DS_NAME_FLAG_GCVERIFY=(int)(0x4),
867 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=(int)(0x8)
869 #else
870 { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
871 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
872 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
873 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
874 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
875 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
876 #endif
879 enum drsuapi_DsNameFormat
880 #ifndef USE_UINT_ENUMS
882 DRSUAPI_DS_NAME_FORMAT_UNKNOWN=(int)(0),
883 DRSUAPI_DS_NAME_FORMAT_FQDN_1779=(int)(1),
884 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=(int)(2),
885 DRSUAPI_DS_NAME_FORMAT_DISPLAY=(int)(3),
886 DRSUAPI_DS_NAME_FORMAT_GUID=(int)(6),
887 DRSUAPI_DS_NAME_FORMAT_CANONICAL=(int)(7),
888 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=(int)(8),
889 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=(int)(9),
890 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=(int)(10),
891 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=(int)(11),
892 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=(int)(12)
894 #else
895 { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
896 #define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
897 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
898 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
899 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
900 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
901 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
902 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
903 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
904 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
905 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
906 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
907 #endif
910 struct drsuapi_DsNameString {
911 const char *str;/* [unique,charset(UTF16)] */
914 struct drsuapi_DsNameRequest1 {
915 uint32_t codepage;
916 uint32_t language;
917 enum drsuapi_DsNameFlags format_flags;
918 enum drsuapi_DsNameFormat format_offered;
919 enum drsuapi_DsNameFormat format_desired;
920 uint32_t count;/* [range(1,10000)] */
921 struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */
924 union drsuapi_DsNameRequest {
925 struct drsuapi_DsNameRequest1 req1;/* [case] */
926 }/* [switch_type(int32)] */;
928 struct drsuapi_DsNameInfo1 {
929 enum drsuapi_DsNameStatus status;
930 const char *dns_domain_name;/* [unique,charset(UTF16)] */
931 const char *result_name;/* [unique,charset(UTF16)] */
934 struct drsuapi_DsNameCtr1 {
935 uint32_t count;
936 struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */
939 union drsuapi_DsNameCtr {
940 struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */
941 }/* [switch_type(int32)] */;
943 enum drsuapi_DsSpnOperation
944 #ifndef USE_UINT_ENUMS
946 DRSUAPI_DS_SPN_OPERATION_ADD=(int)(0),
947 DRSUAPI_DS_SPN_OPERATION_REPLACE=(int)(1),
948 DRSUAPI_DS_SPN_OPERATION_DELETE=(int)(2)
950 #else
951 { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
952 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
953 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
954 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
955 #endif
958 struct drsuapi_DsWriteAccountSpnRequest1 {
959 enum drsuapi_DsSpnOperation operation;
960 uint32_t unknown1;
961 const char *object_dn;/* [unique,charset(UTF16)] */
962 uint32_t count;/* [range(0,10000)] */
963 struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */
966 union drsuapi_DsWriteAccountSpnRequest {
967 struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */
968 }/* [switch_type(int32)] */;
970 struct drsuapi_DsWriteAccountSpnResult1 {
971 WERROR status;
974 union drsuapi_DsWriteAccountSpnResult {
975 struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */
976 }/* [switch_type(int32)] */;
978 struct drsuapi_DsRemoveDSServerRequest1 {
979 const char *server_dn;/* [unique,charset(UTF16)] */
980 const char *domain_dn;/* [unique,charset(UTF16)] */
981 uint32_t commit;
984 union drsuapi_DsRemoveDSServerRequest {
985 struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
986 }/* [switch_type(int32)] */;
988 struct drsuapi_DsRemoveDSServerResult1 {
989 uint32_t last_dc_in_domain;
992 union drsuapi_DsRemoveDSServerResult {
993 struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */
994 }/* [switch_type(int32)] */;
996 struct drsuapi_DsGetDCInfoRequest1 {
997 const char *domain_name;/* [unique,charset(UTF16)] */
998 int32_t level;
1001 union drsuapi_DsGetDCInfoRequest {
1002 struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */
1003 }/* [switch_type(int32)] */;
1005 struct drsuapi_DsGetDCInfo1 {
1006 const char *netbios_name;/* [unique,charset(UTF16)] */
1007 const char *dns_name;/* [unique,charset(UTF16)] */
1008 const char *site_name;/* [unique,charset(UTF16)] */
1009 const char *computer_dn;/* [unique,charset(UTF16)] */
1010 const char *server_dn;/* [unique,charset(UTF16)] */
1011 uint32_t is_pdc;
1012 uint32_t is_enabled;
1015 struct drsuapi_DsGetDCInfoCtr1 {
1016 uint32_t count;/* [range(0,10000)] */
1017 struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */
1020 struct drsuapi_DsGetDCInfo2 {
1021 const char *netbios_name;/* [unique,charset(UTF16)] */
1022 const char *dns_name;/* [unique,charset(UTF16)] */
1023 const char *site_name;/* [unique,charset(UTF16)] */
1024 const char *site_dn;/* [unique,charset(UTF16)] */
1025 const char *computer_dn;/* [unique,charset(UTF16)] */
1026 const char *server_dn;/* [unique,charset(UTF16)] */
1027 const char *ntds_dn;/* [unique,charset(UTF16)] */
1028 uint32_t is_pdc;
1029 uint32_t is_enabled;
1030 uint32_t is_gc;
1031 struct GUID site_guid;
1032 struct GUID computer_guid;
1033 struct GUID server_guid;
1034 struct GUID ntds_guid;
1037 struct drsuapi_DsGetDCInfoCtr2 {
1038 uint32_t count;/* [range(0,10000)] */
1039 struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */
1042 struct drsuapi_DsGetDCInfo3 {
1043 const char *netbios_name;/* [unique,charset(UTF16)] */
1044 const char *dns_name;/* [unique,charset(UTF16)] */
1045 const char *site_name;/* [unique,charset(UTF16)] */
1046 const char *site_dn;/* [unique,charset(UTF16)] */
1047 const char *computer_dn;/* [unique,charset(UTF16)] */
1048 const char *server_dn;/* [unique,charset(UTF16)] */
1049 const char *ntds_dn;/* [unique,charset(UTF16)] */
1050 uint32_t is_pdc;
1051 uint32_t is_enabled;
1052 uint32_t is_gc;
1053 uint32_t is_rodc;
1054 struct GUID site_guid;
1055 struct GUID computer_guid;
1056 struct GUID server_guid;
1057 struct GUID ntds_guid;
1060 struct drsuapi_DsGetDCInfoCtr3 {
1061 uint32_t count;/* [range(0,10000)] */
1062 struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
1065 struct drsuapi_DsGetDCConnection01 {
1066 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1067 uint32_t unknown2;
1068 uint32_t connection_time;
1069 uint32_t unknown4;
1070 uint32_t unknown5;
1071 uint32_t unknown6;
1072 const char *client_account;/* [unique,charset(UTF16)] */
1075 struct drsuapi_DsGetDCConnectionCtr01 {
1076 uint32_t count;/* [range(0,10000)] */
1077 struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
1080 enum drsuapi_DsGetDCInfoCtrLevels
1081 #ifndef USE_UINT_ENUMS
1083 DRSUAPI_DC_INFO_CTR_1=(int)(1),
1084 DRSUAPI_DC_INFO_CTR_2=(int)(2),
1085 DRSUAPI_DC_INFO_CTR_3=(int)(3),
1086 DRSUAPI_DC_CONNECTION_CTR_01=(int)(-1)
1088 #else
1089 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
1090 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1091 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1092 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1093 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1094 #endif
1097 union drsuapi_DsGetDCInfoCtr {
1098 struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1099 struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1100 struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1101 struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1102 }/* [switch_type(int32)] */;
1104 struct drsuapi_DsReplicaObjectListItem {
1105 struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
1106 struct drsuapi_DsReplicaObject object;
1107 }/* [noprint,public] */;
1109 struct drsuapi_DsAddEntryRequest2 {
1110 struct drsuapi_DsReplicaObjectListItem first_object;
1113 union drsuapi_DsAddEntryRequest {
1114 struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
1115 }/* [switch_type(int32)] */;
1117 struct drsuapi_DsAddEntryErrorInfoX {
1118 uint32_t unknown1;
1119 WERROR status;
1120 uint32_t unknown2;
1121 uint16_t unknown3;
1124 struct drsuapi_DsAddEntryExtraErrorBuffer {
1125 uint32_t size;/* [range(0,10485760)] */
1126 uint8_t *data;/* [unique,size_is(size)] */
1129 struct drsuapi_DsAddEntryExtraError1 {
1130 struct drsuapi_DsAddEntryErrorInfoX error;
1131 enum drsuapi_DsAttributeId attid;
1132 uint32_t unknown2;
1133 struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
1136 struct drsuapi_DsAddEntryErrorListItem1 {
1137 struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
1138 struct drsuapi_DsAddEntryExtraError1 error;
1141 struct drsuapi_DsAddEntryErrorInfo1 {
1142 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1143 WERROR status;
1144 struct drsuapi_DsAddEntryErrorListItem1 first;
1147 union drsuapi_DsAddEntryErrorInfo {
1148 struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
1149 struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
1150 }/* [switch_type(uint32)] */;
1152 struct drsuapi_DsAddEntryError1 {
1153 WERROR status;
1154 uint32_t level;
1155 union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
1158 union drsuapi_DsAddEntryError {
1159 struct drsuapi_DsAddEntryError1 info1;/* [case] */
1160 }/* [switch_type(uint32)] */;
1162 struct drsuapi_DsReplicaObjectIdentifier2 {
1163 struct GUID guid;
1164 struct dom_sid28 sid;
1167 struct drsuapi_DsAddEntryCtr2 {
1168 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1169 uint32_t unknown1;
1170 struct drsuapi_DsAddEntryErrorInfoX error;
1171 uint32_t count;/* [range(0,10000)] */
1172 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1175 struct drsuapi_DsAddEntryCtr3 {
1176 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1177 uint32_t level;
1178 union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
1179 uint32_t count;/* [range(0,10000)] */
1180 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1183 union drsuapi_DsAddEntryCtr {
1184 struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
1185 struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
1186 }/* [switch_type(int32)] */;
1188 /* bitmap drsuapi_DsExecuteKCCFlags */
1189 #define DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
1190 #define DRSUAPI_DS_EXECUTE_KCC_DAMPED ( 0x00000002 )
1192 struct drsuapi_DsExecuteKCC1 {
1193 uint32_t taskID;
1194 uint32_t flags;
1197 union drsuapi_DsExecuteKCCRequest {
1198 struct drsuapi_DsExecuteKCC1 ctr1;/* [case] */
1199 }/* [switch_type(uint32)] */;
1201 enum drsuapi_DsReplicaGetInfoLevel
1202 #ifndef USE_UINT_ENUMS
1204 DRSUAPI_DS_REPLICA_GET_INFO=(int)(1),
1205 DRSUAPI_DS_REPLICA_GET_INFO2=(int)(2)
1207 #else
1208 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
1209 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1210 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1211 #endif
1214 enum drsuapi_DsReplicaInfoType
1215 #ifndef USE_UINT_ENUMS
1217 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=(int)(0),
1218 DRSUAPI_DS_REPLICA_INFO_CURSORS=(int)(1),
1219 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=(int)(2),
1220 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=(int)(3),
1221 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=(int)(4),
1222 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=(int)(5),
1223 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=(int)(6),
1224 DRSUAPI_DS_REPLICA_INFO_CURSORS2=(int)(7),
1225 DRSUAPI_DS_REPLICA_INFO_CURSORS3=(int)(8),
1226 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=(int)(9),
1227 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=(int)(10),
1228 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=(int)(-2),
1229 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=(int)(-4),
1230 DRSUAPI_DS_REPLICA_INFO_CURSORS05=(int)(-5),
1231 DRSUAPI_DS_REPLICA_INFO_06=(int)(-6)
1233 #else
1234 { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1235 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1236 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1237 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1238 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1239 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1240 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1241 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1242 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1243 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1244 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1245 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1246 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1247 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1248 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1249 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1250 #endif
1253 struct drsuapi_DsReplicaGetInfoRequest1 {
1254 enum drsuapi_DsReplicaInfoType info_type;
1255 const char *object_dn;/* [unique,charset(UTF16)] */
1256 struct GUID guid1;
1259 struct drsuapi_DsReplicaGetInfoRequest2 {
1260 enum drsuapi_DsReplicaInfoType info_type;
1261 const char *object_dn;/* [unique,charset(UTF16)] */
1262 struct GUID guid1;
1263 uint32_t unknown1;
1264 const char *string1;/* [unique,charset(UTF16)] */
1265 const char *string2;/* [unique,charset(UTF16)] */
1266 uint32_t unknown2;
1269 union drsuapi_DsReplicaGetInfoRequest {
1270 struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1271 struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1272 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1274 struct drsuapi_DsReplicaNeighbour {
1275 const char *naming_context_dn;/* [unique,charset(UTF16)] */
1276 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1277 const char *source_dsa_address;/* [unique,charset(UTF16)] */
1278 const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1279 uint32_t replica_flags;
1280 uint32_t reserved;
1281 struct GUID naming_context_obj_guid;
1282 struct GUID source_dsa_obj_guid;
1283 struct GUID source_dsa_invocation_id;
1284 struct GUID transport_obj_guid;
1285 uint64_t tmp_highest_usn;
1286 uint64_t highest_usn;
1287 NTTIME last_success;
1288 NTTIME last_attempt;
1289 WERROR result_last_attempt;
1290 uint32_t consecutive_sync_failures;
1293 struct drsuapi_DsReplicaNeighbourCtr {
1294 uint32_t count;
1295 uint32_t reserved;
1296 struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1299 struct drsuapi_DsReplicaCursorCtr {
1300 uint32_t count;
1301 uint32_t reserved;
1302 struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1305 struct drsuapi_DsReplicaObjMetaData {
1306 const char *attribute_name;/* [unique,charset(UTF16)] */
1307 uint32_t version;
1308 NTTIME originating_change_time;
1309 struct GUID originating_invocation_id;
1310 uint64_t originating_usn;
1311 uint64_t local_usn;
1314 struct drsuapi_DsReplicaObjMetaDataCtr {
1315 uint32_t count;
1316 uint32_t reserved;
1317 struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1320 struct drsuapi_DsReplicaKccDsaFailure {
1321 const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1322 struct GUID dsa_obj_guid;
1323 NTTIME first_failure;
1324 uint32_t num_failures;
1325 WERROR last_result;
1328 struct drsuapi_DsReplicaKccDsaFailuresCtr {
1329 uint32_t count;
1330 uint32_t reserved;
1331 struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1334 enum drsuapi_DsReplicaOpType
1335 #ifndef USE_UINT_ENUMS
1337 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=(int)(0),
1338 DRSUAPI_DS_REPLICA_OP_TYPE_ADD=(int)(1),
1339 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=(int)(2),
1340 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=(int)(3),
1341 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=(int)(4)
1343 #else
1344 { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1345 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1346 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1347 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1348 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1349 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1350 #endif
1353 union drsuapi_DsRplicaOpOptions {
1354 uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1355 uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1356 uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1357 uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1358 uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1359 uint32_t unknown;/* [default] */
1360 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1362 struct drsuapi_DsReplicaOp {
1363 NTTIME operation_start;
1364 uint32_t serial_num;
1365 uint32_t priority;
1366 enum drsuapi_DsReplicaOpType operation_type;
1367 union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1368 const char *nc_dn;/* [unique,charset(UTF16)] */
1369 const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1370 const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1371 struct GUID nc_obj_guid;
1372 struct GUID remote_dsa_obj_guid;
1375 struct drsuapi_DsReplicaOpCtr {
1376 NTTIME time;
1377 uint32_t count;
1378 struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1381 struct drsuapi_DsReplicaAttrValMetaData {
1382 const char *attribute_name;/* [unique,charset(UTF16)] */
1383 const char *object_dn;/* [unique,charset(UTF16)] */
1384 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1385 DATA_BLOB *binary;/* [unique] */
1386 NTTIME deleted;
1387 NTTIME created;
1388 uint32_t version;
1389 NTTIME originating_change_time;
1390 struct GUID originating_invocation_id;
1391 uint64_t originating_usn;
1392 uint64_t local_usn;
1395 struct drsuapi_DsReplicaAttrValMetaDataCtr {
1396 uint32_t count;
1397 int32_t enumeration_context;
1398 struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1401 struct drsuapi_DsReplicaCursor2Ctr {
1402 uint32_t count;
1403 int32_t enumeration_context;
1404 struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1407 struct drsuapi_DsReplicaCursor3 {
1408 struct GUID source_dsa_invocation_id;
1409 uint64_t highest_usn;
1410 NTTIME last_sync_success;
1411 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1414 struct drsuapi_DsReplicaCursor3Ctr {
1415 uint32_t count;
1416 int32_t enumeration_context;
1417 struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1420 struct drsuapi_DsReplicaObjMetaData2 {
1421 const char *attribute_name;/* [unique,charset(UTF16)] */
1422 uint32_t version;
1423 NTTIME originating_change_time;
1424 struct GUID originating_invocation_id;
1425 uint64_t originating_usn;
1426 uint64_t local_usn;
1427 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1430 struct drsuapi_DsReplicaObjMetaData2Ctr {
1431 uint32_t count;
1432 int32_t enumeration_context;
1433 struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1436 struct drsuapi_DsReplicaAttrValMetaData2 {
1437 const char *attribute_name;/* [unique,charset(UTF16)] */
1438 const char *object_dn;/* [unique,charset(UTF16)] */
1439 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1440 DATA_BLOB *binary;/* [unique] */
1441 NTTIME deleted;
1442 NTTIME created;
1443 uint32_t version;
1444 NTTIME originating_change_time;
1445 struct GUID originating_invocation_id;
1446 uint64_t originating_usn;
1447 uint64_t local_usn;
1448 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1451 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1452 uint32_t count;
1453 int32_t enumeration_context;
1454 struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1457 struct drsuapi_DsReplicaConnection04 {
1458 uint64_t u1;
1459 uint32_t u2;
1460 uint32_t u3;
1461 struct GUID bind_guid;
1462 NTTIME bind_time;
1463 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1464 uint32_t u5;
1467 struct drsuapi_DsReplicaConnection04Ctr {
1468 uint32_t count;/* [range(0,10000)] */
1469 uint32_t reserved;
1470 struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1473 struct drsuapi_DsReplica06 {
1474 const char *str1;/* [unique,charset(UTF16)] */
1475 uint32_t u1;
1476 uint32_t u2;
1477 uint32_t u3;
1478 uint32_t u4;
1479 uint32_t u5;
1480 uint64_t u6;
1481 uint32_t u7;
1484 struct drsuapi_DsReplica06Ctr {
1485 uint32_t count;/* [range(0,256)] */
1486 uint32_t reserved;
1487 struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1490 union drsuapi_DsReplicaInfo {
1491 struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1492 struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1493 struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1494 struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1495 struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1496 struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1497 struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1498 struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1499 struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1500 struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1501 struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1502 struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1503 struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1504 struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1505 struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1506 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1508 struct drsuapi_DsGetMemberships2Ctr1 {
1509 uint32_t num_entries;/* [range(0,10000)] */
1510 struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1513 union drsuapi_DsGetMemberships2Ctr {
1514 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1515 }/* [switch_type(int32)] */;
1517 struct drsuapi_DsGetMemberships2Request1 {
1518 uint32_t num_req;/* [range(1,10000)] */
1519 struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1522 union drsuapi_DsGetMemberships2Request {
1523 struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1524 }/* [switch_type(int32)] */;
1526 struct drsuapi_DsSiteCostInfo {
1527 WERROR error_code;
1528 uint32_t site_cost;
1531 struct drsuapi_QuerySitesByCostCtr1 {
1532 uint32_t num_info;/* [range(0,10000)] */
1533 struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1534 uint32_t unknown;
1537 union drsuapi_QuerySitesByCostCtr {
1538 struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1539 }/* [switch_type(int32)] */;
1541 struct drsuapi_QuerySitesByCostRequest1 {
1542 const char *site_from;/* [unique,charset(UTF16)] */
1543 uint32_t num_req;/* [range(1,10000)] */
1544 const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1545 uint32_t flags;
1548 union drsuapi_QuerySitesByCostRequest {
1549 struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1550 }/* [switch_type(int32)] */;
1553 struct drsuapi_DsBind {
1554 struct {
1555 struct GUID *bind_guid;/* [unique] */
1556 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1557 } in;
1559 struct {
1560 struct policy_handle *bind_handle;/* [ref] */
1561 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1562 WERROR result;
1563 } out;
1568 struct drsuapi_DsUnbind {
1569 struct {
1570 struct policy_handle *bind_handle;/* [ref] */
1571 } in;
1573 struct {
1574 struct policy_handle *bind_handle;/* [ref] */
1575 WERROR result;
1576 } out;
1581 struct drsuapi_DsReplicaSync {
1582 struct {
1583 struct policy_handle *bind_handle;/* [ref] */
1584 int32_t level;
1585 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1586 } in;
1588 struct {
1589 WERROR result;
1590 } out;
1595 struct drsuapi_DsGetNCChanges {
1596 struct {
1597 struct policy_handle *bind_handle;/* [ref] */
1598 int32_t level;
1599 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */
1600 } in;
1602 struct {
1603 int32_t *level_out;/* [ref] */
1604 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */
1605 WERROR result;
1606 } out;
1611 struct drsuapi_DsReplicaUpdateRefs {
1612 struct {
1613 struct policy_handle *bind_handle;/* [ref] */
1614 int32_t level;
1615 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1616 } in;
1618 struct {
1619 WERROR result;
1620 } out;
1625 struct drsuapi_DsReplicaAdd {
1626 struct {
1627 struct policy_handle *bind_handle;/* [ref] */
1628 int32_t level;
1629 union drsuapi_DsReplicaAddRequest req;/* [switch_is(level)] */
1630 } in;
1632 struct {
1633 WERROR result;
1634 } out;
1639 struct drsuapi_DsReplicaDel {
1640 struct {
1641 struct policy_handle *bind_handle;/* [ref] */
1642 int32_t level;
1643 union drsuapi_DsReplicaDelRequest req;/* [switch_is(level)] */
1644 } in;
1646 struct {
1647 WERROR result;
1648 } out;
1653 struct drsuapi_DsReplicaMod {
1654 struct {
1655 struct policy_handle *bind_handle;/* [ref] */
1656 int32_t level;
1657 union drsuapi_DsReplicaModRequest req;/* [switch_is(level)] */
1658 } in;
1660 struct {
1661 WERROR result;
1662 } out;
1667 struct DRSUAPI_VERIFY_NAMES {
1668 struct {
1669 WERROR result;
1670 } out;
1675 struct drsuapi_DsGetMemberships {
1676 struct {
1677 struct policy_handle *bind_handle;/* [ref] */
1678 int32_t level;
1679 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1680 } in;
1682 struct {
1683 int32_t *level_out;/* [ref] */
1684 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1685 WERROR result;
1686 } out;
1691 struct DRSUAPI_INTER_DOMAIN_MOVE {
1692 struct {
1693 WERROR result;
1694 } out;
1699 struct drsuapi_DsGetNT4ChangeLog {
1700 struct {
1701 struct policy_handle *bind_handle;/* [ref] */
1702 uint32_t level;
1703 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1704 } in;
1706 struct {
1707 uint32_t *level_out;/* [ref] */
1708 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1709 WERROR result;
1710 } out;
1715 struct drsuapi_DsCrackNames {
1716 struct {
1717 struct policy_handle *bind_handle;/* [ref] */
1718 int32_t level;
1719 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1720 } in;
1722 struct {
1723 int32_t *level_out;/* [ref] */
1724 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1725 WERROR result;
1726 } out;
1731 struct drsuapi_DsWriteAccountSpn {
1732 struct {
1733 struct policy_handle *bind_handle;/* [ref] */
1734 int32_t level;
1735 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1736 } in;
1738 struct {
1739 int32_t *level_out;/* [ref] */
1740 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1741 WERROR result;
1742 } out;
1747 struct drsuapi_DsRemoveDSServer {
1748 struct {
1749 struct policy_handle *bind_handle;/* [ref] */
1750 int32_t level;
1751 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1752 } in;
1754 struct {
1755 int32_t *level_out;/* [ref] */
1756 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1757 WERROR result;
1758 } out;
1763 struct DRSUAPI_REMOVE_DS_DOMAIN {
1764 struct {
1765 WERROR result;
1766 } out;
1771 struct drsuapi_DsGetDomainControllerInfo {
1772 struct {
1773 struct policy_handle *bind_handle;/* [ref] */
1774 int32_t level;
1775 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1776 } in;
1778 struct {
1779 int32_t *level_out;/* [ref] */
1780 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1781 WERROR result;
1782 } out;
1787 struct drsuapi_DsAddEntry {
1788 struct {
1789 struct policy_handle *bind_handle;/* [ref] */
1790 int32_t level;
1791 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1792 } in;
1794 struct {
1795 int32_t *level_out;/* [ref] */
1796 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1797 WERROR result;
1798 } out;
1803 struct drsuapi_DsExecuteKCC {
1804 struct {
1805 struct policy_handle *bind_handle;/* [ref] */
1806 uint32_t level;
1807 union drsuapi_DsExecuteKCCRequest *req;/* [ref,switch_is(level)] */
1808 } in;
1810 struct {
1811 WERROR result;
1812 } out;
1817 struct drsuapi_DsReplicaGetInfo {
1818 struct {
1819 struct policy_handle *bind_handle;/* [ref] */
1820 enum drsuapi_DsReplicaGetInfoLevel level;
1821 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1822 } in;
1824 struct {
1825 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1826 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1827 WERROR result;
1828 } out;
1833 struct DRSUAPI_ADD_SID_HISTORY {
1834 struct {
1835 WERROR result;
1836 } out;
1841 struct drsuapi_DsGetMemberships2 {
1842 struct {
1843 struct policy_handle *bind_handle;/* [ref] */
1844 int32_t level;
1845 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1846 } in;
1848 struct {
1849 int32_t *level_out;/* [ref] */
1850 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1851 WERROR result;
1852 } out;
1857 struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1858 struct {
1859 WERROR result;
1860 } out;
1865 struct DRSUAPI_GET_OBJECT_EXISTENCE {
1866 struct {
1867 WERROR result;
1868 } out;
1873 struct drsuapi_QuerySitesByCost {
1874 struct {
1875 struct policy_handle *bind_handle;/* [ref] */
1876 int32_t level;
1877 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1878 } in;
1880 struct {
1881 int32_t *level_out;/* [ref] */
1882 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1883 WERROR result;
1884 } out;
1888 #endif /* _HEADER_drsuapi */