source: branches/samba-3.3.x/source/librpc/gen_ndr/drsuapi.h

Last change on this file was 206, checked in by Herwig Bauernfeind, 16 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 57.2 KB
Line 
1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
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
10
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 )
51
52/* bitmap drsuapi_SupportedExtensionsExt */
53#define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
54#define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
55
56struct drsuapi_DsBindInfo24 {
57 uint32_t supported_extensions;
58 struct GUID site_guid;
59 uint32_t pid;
60};
61
62struct drsuapi_DsBindInfo28 {
63 uint32_t supported_extensions;
64 struct GUID site_guid;
65 uint32_t pid;
66 uint32_t repl_epoch;
67};
68
69struct drsuapi_DsBindInfo48 {
70 uint32_t supported_extensions;
71 struct GUID site_guid;
72 uint32_t pid;
73 uint32_t repl_epoch;
74 uint32_t supported_extensions_ext;
75 struct GUID config_dn_guid;
76};
77
78struct drsuapi_DsBindInfoFallBack {
79 DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
80};
81
82union drsuapi_DsBindInfo {
83 struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
84 struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
85 struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
86 struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
87}/* [nodiscriminant] */;
88
89struct drsuapi_DsBindInfoCtr {
90 uint32_t length;/* [range(1,10000)] */
91 union drsuapi_DsBindInfo info;/* [switch_is(length)] */
92};
93
94struct drsuapi_DsReplicaObjectIdentifier {
95 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->flags)-4)] */
96 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
97 struct GUID guid;
98 struct dom_sid28 sid;
99 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
100 const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
101}/* [gensize,public] */;
102
103/* bitmap drsuapi_DsReplicaSyncOptions */
104#define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
105#define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
106#define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
107#define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
108#define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
109#define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
110#define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
111#define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
112#define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
113#define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
114#define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
115#define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
116#define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
117#define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
118#define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
119#define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
120#define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
121#define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
122#define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
123#define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
124#define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
125#define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
126#define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
127#define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
128
129struct drsuapi_DsReplicaSyncRequest1 {
130 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
131 struct GUID source_dsa_guid;
132 const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
133 uint32_t options;
134};
135
136union drsuapi_DsReplicaSyncRequest {
137 struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
138}/* [switch_type(int32)] */;
139
140struct drsuapi_DsReplicaHighWaterMark {
141 uint64_t tmp_highest_usn;
142 uint64_t reserved_usn;
143 uint64_t highest_usn;
144}/* [public] */;
145
146struct drsuapi_DsReplicaCursor {
147 struct GUID source_dsa_invocation_id;
148 uint64_t highest_usn;
149}/* [public] */;
150
151struct drsuapi_DsReplicaCursorCtrEx {
152 uint32_t version;/* [value] */
153 uint32_t reserved1;/* [value(0)] */
154 uint32_t count;/* [range(0,0x100000)] */
155 uint32_t reserved2;/* [value(0)] */
156 struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
157};
158
159/* bitmap drsuapi_DsReplicaNeighbourFlags */
160#define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
161#define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
162#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
163#define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
164#define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
165#define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
166#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
167#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
168#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
169#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
170#define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
171#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
172#define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
173#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
174#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
175
176enum drsuapi_DsExtendedOperation
177#ifndef USE_UINT_ENUMS
178 {
179 DRSUAPI_EXOP_NONE=0x00000000,
180 DRSUAPI_EXOP_FSMO_REQ_ROLE=0x00000001,
181 DRSUAPI_EXOP_FSMO_RID_ALLOC=0x00000002,
182 DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=0x00000003,
183 DRSUAPI_EXOP_FSMO_REQ_PDC=0x00000004,
184 DRSUAPI_EXOP_FSMO_ABANDON_ROLE=0x00000005,
185 DRSUAPI_EXOP_REPL_OBJ=0x00000006,
186 DRSUAPI_EXOP_REPL_SECRET=0x00000007
187}
188#else
189 { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
190#define DRSUAPI_EXOP_NONE ( 0x00000000 )
191#define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
192#define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
193#define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
194#define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
195#define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
196#define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
197#define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
198#endif
199;
200
201enum drsuapi_DsExtendedError
202#ifndef USE_UINT_ENUMS
203 {
204 DRSUAPI_EXOP_ERR_NONE=0x00000000,
205 DRSUAPI_EXOP_ERR_SUCCESS=0x00000001,
206 DRSUAPI_EXOP_ERR_UNKNOWN_OP=0x00000002,
207 DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=0x00000003,
208 DRSUAPI_EXOP_ERR_UPDATE_ERR=0x00000004,
209 DRSUAPI_EXOP_ERR_EXCEPTION=0x00000005,
210 DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=0x00000006,
211 DRSUAPI_EXOP_ERR_RID_ALLOC=0x00000007,
212 DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=0x00000008,
213 DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=0x00000009,
214 DRSUAPI_EXOP_ERR_MISMATCH=0x0000000A,
215 DRSUAPI_EXOP_ERR_COULDNT_CONTACT=0x0000000B,
216 DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=0x0000000C,
217 DRSUAPI_EXOP_ERR_DIR_ERROR=0x0000000D,
218 DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=0x0000000E,
219 DRSUAPI_EXOP_ERR_ACCESS_DENIED=0x0000000F,
220 DRSUAPI_EXOP_ERR_PARAM_ERROR=0x00000010
221}
222#else
223 { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
224#define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
225#define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
226#define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
227#define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
228#define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
229#define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
230#define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
231#define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
232#define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
233#define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
234#define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
235#define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
236#define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
237#define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
238#define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
239#define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
240#define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
241#endif
242;
243
244struct drsuapi_DsGetNCChangesRequest5 {
245 struct GUID destination_dsa_guid;
246 struct GUID source_dsa_invocation_id;
247 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
248 struct drsuapi_DsReplicaHighWaterMark highwatermark;
249 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
250 uint32_t replica_flags;
251 uint32_t max_object_count;
252 uint32_t max_ndr_size;
253 enum drsuapi_DsExtendedOperation extended_op;
254 uint64_t fsmo_info;
255};
256
257struct drsuapi_DsReplicaOID {
258 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
259 const char *oid;/* [unique,charset(DOS),size_is(__ndr_size)] */
260}/* [nopush,nopull] */;
261
262struct drsuapi_DsReplicaOIDMapping {
263 uint32_t id_prefix;
264 struct drsuapi_DsReplicaOID oid;
265};
266
267struct drsuapi_DsReplicaOIDMapping_Ctr {
268 uint32_t num_mappings;/* [range(0,0x100000)] */
269 struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */
270}/* [public] */;
271
272enum drsuapi_DsObjectClassId
273#ifndef USE_UINT_ENUMS
274 {
275 DRSUAPI_OBJECTCLASS_top=0x00010000,
276 DRSUAPI_OBJECTCLASS_classSchema=0x0003000d,
277 DRSUAPI_OBJECTCLASS_attributeSchema=0x0003000e
278}
279#else
280 { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
281#define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
282#define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
283#define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
284#endif
285;
286
287enum drsuapi_DsAttributeId
288#ifndef USE_UINT_ENUMS
289 {
290 DRSUAPI_ATTRIBUTE_objectClass=0x00000000,
291 DRSUAPI_ATTRIBUTE_description=0x0000000d,
292 DRSUAPI_ATTRIBUTE_member=0x0000001f,
293 DRSUAPI_ATTRIBUTE_instanceType=0x00020001,
294 DRSUAPI_ATTRIBUTE_whenCreated=0x00020002,
295 DRSUAPI_ATTRIBUTE_hasMasterNCs=0x0002000e,
296 DRSUAPI_ATTRIBUTE_governsID=0x00020016,
297 DRSUAPI_ATTRIBUTE_attributeID=0x0002001e,
298 DRSUAPI_ATTRIBUTE_attributeSyntax=0x00020020,
299 DRSUAPI_ATTRIBUTE_isSingleValued=0x00020021,
300 DRSUAPI_ATTRIBUTE_rangeLower=0x00020022,
301 DRSUAPI_ATTRIBUTE_rangeUpper=0x00020023,
302 DRSUAPI_ATTRIBUTE_dMDLocation=0x00020024,
303 DRSUAPI_ATTRIBUTE_objectVersion=0x0002004c,
304 DRSUAPI_ATTRIBUTE_invocationId=0x00020073,
305 DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=0x000200a9,
306 DRSUAPI_ATTRIBUTE_adminDisplayName=0x000200c2,
307 DRSUAPI_ATTRIBUTE_adminDescription=0x000200e2,
308 DRSUAPI_ATTRIBUTE_oMSyntax=0x000200e7,
309 DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=0x00020119,
310 DRSUAPI_ATTRIBUTE_searchFlags=0x0002014e,
311 DRSUAPI_ATTRIBUTE_lDAPDisplayName=0x000201cc,
312 DRSUAPI_ATTRIBUTE_name=0x00090001,
313 DRSUAPI_ATTRIBUTE_userAccountControl=0x00090008,
314 DRSUAPI_ATTRIBUTE_currentValue=0x0009001b,
315 DRSUAPI_ATTRIBUTE_homeDirectory=0x0009002c,
316 DRSUAPI_ATTRIBUTE_homeDrive=0x0009002d,
317 DRSUAPI_ATTRIBUTE_scriptPath=0x0009003e,
318 DRSUAPI_ATTRIBUTE_profilePath=0x0009008b,
319 DRSUAPI_ATTRIBUTE_objectSid=0x00090092,
320 DRSUAPI_ATTRIBUTE_schemaIDGUID=0x00090094,
321 DRSUAPI_ATTRIBUTE_dBCSPwd=0x00090037,
322 DRSUAPI_ATTRIBUTE_logonHours=0x00090040,
323 DRSUAPI_ATTRIBUTE_userWorkstations=0x00090056,
324 DRSUAPI_ATTRIBUTE_unicodePwd=0x0009005a,
325 DRSUAPI_ATTRIBUTE_ntPwdHistory=0x0009005e,
326 DRSUAPI_ATTRIBUTE_priorValue=0x00090064,
327 DRSUAPI_ATTRIBUTE_supplementalCredentials=0x0009007d,
328 DRSUAPI_ATTRIBUTE_trustAuthIncoming=0x00090081,
329 DRSUAPI_ATTRIBUTE_trustAuthOutgoing=0x00090087,
330 DRSUAPI_ATTRIBUTE_lmPwdHistory=0x000900a0,
331 DRSUAPI_ATTRIBUTE_sAMAccountName=0x000900dd,
332 DRSUAPI_ATTRIBUTE_sAMAccountType=0x0009012e,
333 DRSUAPI_ATTRIBUTE_fSMORoleOwner=0x00090171,
334 DRSUAPI_ATTRIBUTE_systemFlags=0x00090177,
335 DRSUAPI_ATTRIBUTE_serverReference=0x00090203,
336 DRSUAPI_ATTRIBUTE_serverReferenceBL=0x00090204,
337 DRSUAPI_ATTRIBUTE_initialAuthIncoming=0x0009021b,
338 DRSUAPI_ATTRIBUTE_initialAuthOutgoing=0x0009021c,
339 DRSUAPI_ATTRIBUTE_wellKnownObjects=0x0009026a,
340 DRSUAPI_ATTRIBUTE_dNSHostName=0x0009026b,
341 DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=0x0009027f,
342 DRSUAPI_ATTRIBUTE_userPrincipalName=0x00090290,
343 DRSUAPI_ATTRIBUTE_groupType=0x000902ee,
344 DRSUAPI_ATTRIBUTE_servicePrincipalName=0x00090303,
345 DRSUAPI_ATTRIBUTE_objectCategory=0x0009030e,
346 DRSUAPI_ATTRIBUTE_gPLink=0x0009037b,
347 DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=0x000905b3,
348 DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=0x000906f6,
349 DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=0x0009071c,
350 DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=0x0009072c
351}
352#else
353 { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
354#define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
355#define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
356#define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
357#define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
358#define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
359#define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
360#define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
361#define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
362#define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
363#define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
364#define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
365#define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
366#define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
367#define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
368#define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
369#define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
370#define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
371#define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
372#define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
373#define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
374#define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
375#define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
376#define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
377#define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
378#define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
379#define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
380#define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
381#define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
382#define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
383#define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
384#define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
385#define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
386#define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
387#define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
388#define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
389#define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
390#define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
391#define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
392#define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
393#define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
394#define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
395#define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
396#define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
397#define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
398#define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
399#define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
400#define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
401#define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
402#define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
403#define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
404#define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
405#define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
406#define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
407#define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
408#define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
409#define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
410#define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
411#define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
412#define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
413#define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
414#define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
415#endif
416;
417
418struct drsuapi_DsPartialAttributeSet {
419 uint32_t version;/* [value] */
420 uint32_t reserved1;/* [value(0)] */
421 uint32_t num_attids;/* [range(1,0x100000)] */
422 enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */
423};
424
425struct drsuapi_DsGetNCChangesRequest8 {
426 struct GUID destination_dsa_guid;
427 struct GUID source_dsa_invocation_id;
428 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
429 struct drsuapi_DsReplicaHighWaterMark highwatermark;
430 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
431 uint32_t replica_flags;
432 uint32_t max_object_count;
433 uint32_t max_ndr_size;
434 enum drsuapi_DsExtendedOperation extended_op;
435 uint64_t fsmo_info;
436 struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
437 struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
438 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
439};
440
441union drsuapi_DsGetNCChangesRequest {
442 struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
443 struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
444}/* [switch_type(int32)] */;
445
446struct drsuapi_DsReplicaCursor2 {
447 struct GUID source_dsa_invocation_id;
448 uint64_t highest_usn;
449 NTTIME last_sync_success;
450}/* [public] */;
451
452struct drsuapi_DsReplicaCursor2CtrEx {
453 uint32_t version;/* [value(2)] */
454 uint32_t reserved1;/* [value(0)] */
455 uint32_t count;/* [range(0,0x100000)] */
456 uint32_t reserved2;/* [value(0)] */
457 struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */
458};
459
460struct drsuapi_DsAttributeValue {
461 uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
462 DATA_BLOB *blob;/* [unique] */
463};
464
465struct drsuapi_DsAttributeValueCtr {
466 uint32_t num_values;/* [range(0,10485760)] */
467 struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */
468};
469
470struct drsuapi_DsReplicaObjectIdentifier3 {
471 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->flags))] */
472 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
473 struct GUID guid;
474 struct dom_sid28 sid;
475 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
476 const char *dn;/* [charset(UTF16)] */
477}/* [gensize,public] */;
478
479struct drsuapi_DsReplicaObjectIdentifier3Binary {
480 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->flags))] */
481 uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
482 struct GUID guid;
483 struct dom_sid28 sid;
484 uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
485 const char *dn;/* [charset(UTF16)] */
486 uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
487 DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
488}/* [gensize,public] */;
489
490struct drsuapi_DsReplicaAttribute {
491 enum drsuapi_DsAttributeId attid;
492 struct drsuapi_DsAttributeValueCtr value_ctr;
493}/* [public] */;
494
495struct drsuapi_DsReplicaAttributeCtr {
496 uint32_t num_attributes;/* [range(0,1048576)] */
497 struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */
498};
499
500/* bitmap drsuapi_DsReplicaObjectFlags */
501#define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
502#define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
503#define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
504
505struct drsuapi_DsReplicaObject {
506 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
507 uint32_t flags;
508 struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
509}/* [public] */;
510
511struct drsuapi_DsReplicaMetaData {
512 uint32_t version;
513 NTTIME originating_change_time;
514 struct GUID originating_invocation_id;
515 uint64_t originating_usn;
516};
517
518struct drsuapi_DsReplicaMetaDataCtr {
519 uint32_t count;/* [range(0,1048576)] */
520 struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */
521}/* [public] */;
522
523struct drsuapi_DsReplicaObjectListItemEx {
524 struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
525 struct drsuapi_DsReplicaObject object;
526 uint32_t is_nc_prefix;
527 struct GUID *parent_object_guid;/* [unique] */
528 struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */
529}/* [noprint,public] */;
530
531struct drsuapi_DsGetNCChangesCtr1 {
532 struct GUID source_dsa_guid;
533 struct GUID source_dsa_invocation_id;
534 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
535 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
536 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
537 struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
538 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
539 enum drsuapi_DsExtendedError extended_ret;
540 uint32_t object_count;
541 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->flags)+55)] */
542 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
543 uint32_t more_data;
544}/* [gensize,public] */;
545
546/* bitmap drsuapi_DsLinkedAttributeFlags */
547#define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
548
549struct drsuapi_DsReplicaLinkedAttribute {
550 struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
551 enum drsuapi_DsAttributeId attid;
552 struct drsuapi_DsAttributeValue value;
553 uint32_t flags;
554 NTTIME originating_add_time;
555 struct drsuapi_DsReplicaMetaData meta_data;
556}/* [public] */;
557
558struct drsuapi_DsGetNCChangesCtr6 {
559 struct GUID source_dsa_guid;
560 struct GUID source_dsa_invocation_id;
561 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
562 struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
563 struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
564 struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */
565 struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
566 enum drsuapi_DsExtendedError extended_ret;
567 uint32_t object_count;
568 uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->flags)+55)] */
569 struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
570 uint32_t more_data;
571 uint32_t nc_object_count;
572 uint32_t nc_linked_attributes_count;
573 uint32_t linked_attributes_count;/* [range(0,1048576)] */
574 struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
575 WERROR drs_error;
576}/* [gensize,public] */;
577
578struct drsuapi_DsGetNCChangesMSZIPCtr1 {
579 uint32_t decompressed_length;
580 uint32_t compressed_length;
581 struct drsuapi_DsGetNCChangesCtr1 *ctr1;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
582};
583
584struct drsuapi_DsGetNCChangesMSZIPCtr6 {
585 uint32_t decompressed_length;
586 uint32_t compressed_length;
587 struct drsuapi_DsGetNCChangesCtr6 *ctr6;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
588};
589
590struct drsuapi_DsGetNCChangesXPRESSCtr1 {
591 uint32_t decompressed_length;
592 uint32_t compressed_length;
593 struct drsuapi_DsGetNCChangesCtr1 *ctr1;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
594};
595
596struct drsuapi_DsGetNCChangesXPRESSCtr6 {
597 uint32_t decompressed_length;
598 uint32_t compressed_length;
599 struct drsuapi_DsGetNCChangesCtr6 *ctr6;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
600};
601
602enum drsuapi_DsGetNCChangesCompressionType
603#ifndef USE_UINT_ENUMS
604 {
605 DRSUAPI_COMPRESSION_TYPE_MSZIP=2,
606 DRSUAPI_COMPRESSION_TYPE_XPRESS=3
607}
608#else
609 { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
610#define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
611#define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
612#endif
613;
614
615union drsuapi_DsGetNCChangesCompressedCtr {
616 struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
617 struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
618 struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
619 struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
620}/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
621
622struct drsuapi_DsGetNCChangesCtr2 {
623 union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
624};
625
626struct drsuapi_DsGetNCChangesCtr7 {
627 int32_t level;/* [range(0,6)] */
628 enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */
629 union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */
630};
631
632union drsuapi_DsGetNCChangesCtr {
633 struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */
634 struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */
635 struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */
636 struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
637}/* [switch_type(int32)] */;
638
639/* bitmap drsuapi_DsReplicaUpdateRefsOptions */
640#define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
641#define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000002 )
642#define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
643#define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
644#define DRSUAPI_DS_REPLICA_UPDATE_0x00000010 ( 0x00000010 )
645
646struct drsuapi_DsReplicaUpdateRefsRequest1 {
647 struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
648 const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
649 struct GUID dest_dsa_guid;
650 uint32_t options;
651};
652
653union drsuapi_DsReplicaUpdateRefsRequest {
654 struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
655}/* [switch_type(int32)] */;
656
657/* bitmap drsuapi_DsReplicaAddOptions */
658#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
659#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
660
661/* bitmap drsuapi_DsReplicaDeleteOptions */
662#define DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
663#define DRSUAPI_DS_REPLICA_DELETE_WRITEABLE ( 0x00000002 )
664
665/* bitmap drsuapi_DsReplicaModifyOptions */
666#define DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION ( 0x00000001 )
667#define DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE ( 0x00000002 )
668
669enum drsuapi_DsMembershipType
670#ifndef USE_UINT_ENUMS
671 {
672 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=1,
673 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=2,
674 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=3,
675 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=4,
676 DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=5,
677 DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=6,
678 DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=7
679}
680#else
681 { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
682#define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
683#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
684#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
685#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
686#define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
687#define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
688#define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
689#endif
690;
691
692struct drsuapi_DsGetMembershipsCtr1 {
693 NTSTATUS status;
694 uint32_t num_memberships;/* [range(0,10000)] */
695 uint32_t num_sids;/* [range(0,10000)] */
696 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */
697 uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */
698 struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */
699};
700
701union drsuapi_DsGetMembershipsCtr {
702 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
703}/* [switch_type(int32)] */;
704
705struct drsuapi_DsGetMembershipsRequest1 {
706 uint32_t count;/* [range(1,10000)] */
707 struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
708 uint32_t flags;
709 enum drsuapi_DsMembershipType type;
710 struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
711};
712
713union drsuapi_DsGetMembershipsRequest {
714 struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */
715}/* [switch_type(int32)] */;
716
717struct drsuapi_DsGetNT4ChangeLogRequest1 {
718 uint32_t unknown1;
719 uint32_t unknown2;
720 uint32_t length;/* [range(0,0x00A00000)] */
721 uint8_t *data;/* [unique,size_is(length)] */
722};
723
724union drsuapi_DsGetNT4ChangeLogRequest {
725 struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */
726}/* [switch_type(uint32)] */;
727
728struct drsuapi_DsGetNT4ChangeLogInfo1 {
729 uint32_t length1;/* [range(0,0x00A00000)] */
730 uint32_t length2;/* [range(0,0x00A00000)] */
731 uint64_t unknown1;
732 NTTIME time2;
733 uint64_t unknown3;
734 NTTIME time4;
735 uint64_t unknown5;
736 NTTIME time6;
737 NTSTATUS status;
738 uint8_t *data1;/* [unique,size_is(length1)] */
739 uint8_t *data2;/* [unique,size_is(length2)] */
740};
741
742union drsuapi_DsGetNT4ChangeLogInfo {
743 struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */
744}/* [switch_type(uint32)] */;
745
746enum drsuapi_DsNameStatus
747#ifndef USE_UINT_ENUMS
748 {
749 DRSUAPI_DS_NAME_STATUS_OK=0,
750 DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=1,
751 DRSUAPI_DS_NAME_STATUS_NOT_FOUND=2,
752 DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=3,
753 DRSUAPI_DS_NAME_STATUS_NO_MAPPING=4,
754 DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=5,
755 DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=6,
756 DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=7
757}
758#else
759 { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
760#define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
761#define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
762#define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
763#define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
764#define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
765#define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
766#define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
767#define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
768#endif
769;
770
771enum drsuapi_DsNameFlags
772#ifndef USE_UINT_ENUMS
773 {
774 DRSUAPI_DS_NAME_FLAG_NO_FLAGS=0x0,
775 DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=0x1,
776 DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=0x2,
777 DRSUAPI_DS_NAME_FLAG_GCVERIFY=0x4,
778 DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=0x8
779}
780#else
781 { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
782#define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
783#define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
784#define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
785#define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
786#define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
787#endif
788;
789
790enum drsuapi_DsNameFormat
791#ifndef USE_UINT_ENUMS
792 {
793 DRSUAPI_DS_NAME_FORMAT_UKNOWN=0,
794 DRSUAPI_DS_NAME_FORMAT_FQDN_1779=1,
795 DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=2,
796 DRSUAPI_DS_NAME_FORMAT_DISPLAY=3,
797 DRSUAPI_DS_NAME_FORMAT_GUID=6,
798 DRSUAPI_DS_NAME_FORMAT_CANONICAL=7,
799 DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=8,
800 DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=9,
801 DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=10,
802 DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=11,
803 DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=12
804}
805#else
806 { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
807#define DRSUAPI_DS_NAME_FORMAT_UKNOWN ( 0 )
808#define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
809#define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
810#define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
811#define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
812#define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
813#define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
814#define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
815#define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
816#define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
817#define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
818#endif
819;
820
821struct drsuapi_DsNameString {
822 const char *str;/* [unique,charset(UTF16)] */
823};
824
825struct drsuapi_DsNameRequest1 {
826 uint32_t codepage;
827 uint32_t language;
828 enum drsuapi_DsNameFlags format_flags;
829 enum drsuapi_DsNameFormat format_offered;
830 enum drsuapi_DsNameFormat format_desired;
831 uint32_t count;/* [range(1,10000)] */
832 struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */
833};
834
835union drsuapi_DsNameRequest {
836 struct drsuapi_DsNameRequest1 req1;/* [case] */
837}/* [switch_type(int32)] */;
838
839struct drsuapi_DsNameInfo1 {
840 enum drsuapi_DsNameStatus status;
841 const char *dns_domain_name;/* [unique,charset(UTF16)] */
842 const char *result_name;/* [unique,charset(UTF16)] */
843};
844
845struct drsuapi_DsNameCtr1 {
846 uint32_t count;
847 struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */
848};
849
850union drsuapi_DsNameCtr {
851 struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */
852}/* [switch_type(int32)] */;
853
854enum drsuapi_DsSpnOperation
855#ifndef USE_UINT_ENUMS
856 {
857 DRSUAPI_DS_SPN_OPERATION_ADD=0,
858 DRSUAPI_DS_SPN_OPERATION_REPLACE=1,
859 DRSUAPI_DS_SPN_OPERATION_DELETE=2
860}
861#else
862 { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
863#define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
864#define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
865#define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
866#endif
867;
868
869struct drsuapi_DsWriteAccountSpnRequest1 {
870 enum drsuapi_DsSpnOperation operation;
871 uint32_t unknown1;
872 const char *object_dn;/* [unique,charset(UTF16)] */
873 uint32_t count;/* [range(0,10000)] */
874 struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */
875};
876
877union drsuapi_DsWriteAccountSpnRequest {
878 struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */
879}/* [switch_type(int32)] */;
880
881struct drsuapi_DsWriteAccountSpnResult1 {
882 WERROR status;
883};
884
885union drsuapi_DsWriteAccountSpnResult {
886 struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */
887}/* [switch_type(int32)] */;
888
889struct drsuapi_DsRemoveDSServerRequest1 {
890 const char *server_dn;/* [unique,charset(UTF16)] */
891 const char *domain_dn;/* [unique,charset(UTF16)] */
892 uint32_t unknown;
893};
894
895union drsuapi_DsRemoveDSServerRequest {
896 struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
897}/* [switch_type(int32)] */;
898
899struct drsuapi_DsRemoveDSServerResult1 {
900 WERROR status;
901};
902
903union drsuapi_DsRemoveDSServerResult {
904 struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */
905}/* [switch_type(int32)] */;
906
907struct drsuapi_DsGetDCInfoRequest1 {
908 const char *domain_name;/* [unique,charset(UTF16)] */
909 int32_t level;
910};
911
912union drsuapi_DsGetDCInfoRequest {
913 struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */
914}/* [switch_type(int32)] */;
915
916struct drsuapi_DsGetDCInfo1 {
917 const char *netbios_name;/* [unique,charset(UTF16)] */
918 const char *dns_name;/* [unique,charset(UTF16)] */
919 const char *site_name;/* [unique,charset(UTF16)] */
920 const char *computer_dn;/* [unique,charset(UTF16)] */
921 const char *server_dn;/* [unique,charset(UTF16)] */
922 uint32_t is_pdc;
923 uint32_t is_enabled;
924};
925
926struct drsuapi_DsGetDCInfoCtr1 {
927 uint32_t count;/* [range(0,10000)] */
928 struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */
929};
930
931struct drsuapi_DsGetDCInfo2 {
932 const char *netbios_name;/* [unique,charset(UTF16)] */
933 const char *dns_name;/* [unique,charset(UTF16)] */
934 const char *site_name;/* [unique,charset(UTF16)] */
935 const char *site_dn;/* [unique,charset(UTF16)] */
936 const char *computer_dn;/* [unique,charset(UTF16)] */
937 const char *server_dn;/* [unique,charset(UTF16)] */
938 const char *ntds_dn;/* [unique,charset(UTF16)] */
939 uint32_t is_pdc;
940 uint32_t is_enabled;
941 uint32_t is_gc;
942 struct GUID site_guid;
943 struct GUID computer_guid;
944 struct GUID server_guid;
945 struct GUID ntds_guid;
946};
947
948struct drsuapi_DsGetDCInfoCtr2 {
949 uint32_t count;/* [range(0,10000)] */
950 struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */
951};
952
953struct drsuapi_DsGetDCInfo3 {
954 const char *netbios_name;/* [unique,charset(UTF16)] */
955 const char *dns_name;/* [unique,charset(UTF16)] */
956 const char *site_name;/* [unique,charset(UTF16)] */
957 const char *site_dn;/* [unique,charset(UTF16)] */
958 const char *computer_dn;/* [unique,charset(UTF16)] */
959 const char *server_dn;/* [unique,charset(UTF16)] */
960 const char *ntds_dn;/* [unique,charset(UTF16)] */
961 uint32_t is_pdc;
962 uint32_t is_enabled;
963 uint32_t is_gc;
964 uint32_t is_rodc;
965 struct GUID site_guid;
966 struct GUID computer_guid;
967 struct GUID server_guid;
968 struct GUID ntds_guid;
969};
970
971struct drsuapi_DsGetDCInfoCtr3 {
972 uint32_t count;/* [range(0,10000)] */
973 struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
974};
975
976struct drsuapi_DsGetDCConnection01 {
977 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
978 uint32_t unknown2;
979 uint32_t connection_time;
980 uint32_t unknown4;
981 uint32_t unknown5;
982 uint32_t unknown6;
983 const char *client_account;/* [unique,charset(UTF16)] */
984};
985
986struct drsuapi_DsGetDCConnectionCtr01 {
987 uint32_t count;/* [range(0,10000)] */
988 struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
989};
990
991enum drsuapi_DsGetDCInfoCtrLevels
992#ifndef USE_UINT_ENUMS
993 {
994 DRSUAPI_DC_INFO_CTR_1=1,
995 DRSUAPI_DC_INFO_CTR_2=2,
996 DRSUAPI_DC_INFO_CTR_3=3,
997 DRSUAPI_DC_CONNECTION_CTR_01=-1
998}
999#else
1000 { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
1001#define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1002#define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1003#define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1004#define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1005#endif
1006;
1007
1008union drsuapi_DsGetDCInfoCtr {
1009 struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1010 struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1011 struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1012 struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1013}/* [switch_type(int32)] */;
1014
1015struct drsuapi_DsReplicaObjectListItem {
1016 struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
1017 struct drsuapi_DsReplicaObject object;
1018}/* [noprint,public] */;
1019
1020struct drsuapi_DsAddEntryRequest2 {
1021 struct drsuapi_DsReplicaObjectListItem first_object;
1022};
1023
1024union drsuapi_DsAddEntryRequest {
1025 struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
1026}/* [switch_type(int32)] */;
1027
1028struct drsuapi_DsAddEntryErrorInfoX {
1029 uint32_t unknown1;
1030 WERROR status;
1031 uint32_t unknown2;
1032 uint16_t unknown3;
1033};
1034
1035struct drsuapi_DsAddEntryExtraErrorBuffer {
1036 uint32_t size;/* [range(0,10485760)] */
1037 uint8_t *data;/* [unique,size_is(size)] */
1038};
1039
1040struct drsuapi_DsAddEntryExtraError1 {
1041 struct drsuapi_DsAddEntryErrorInfoX error;
1042 enum drsuapi_DsAttributeId attid;
1043 uint32_t unknown2;
1044 struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
1045};
1046
1047struct drsuapi_DsAddEntryErrorListItem1 {
1048 struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
1049 struct drsuapi_DsAddEntryExtraError1 error;
1050};
1051
1052struct drsuapi_DsAddEntryErrorInfo1 {
1053 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1054 WERROR status;
1055 struct drsuapi_DsAddEntryErrorListItem1 first;
1056};
1057
1058union drsuapi_DsAddEntryErrorInfo {
1059 struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
1060 struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
1061}/* [switch_type(uint32)] */;
1062
1063struct drsuapi_DsAddEntryError1 {
1064 WERROR status;
1065 uint32_t level;
1066 union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
1067};
1068
1069union drsuapi_DsAddEntryError {
1070 struct drsuapi_DsAddEntryError1 info1;/* [case] */
1071}/* [switch_type(uint32)] */;
1072
1073struct drsuapi_DsReplicaObjectIdentifier2 {
1074 struct GUID guid;
1075 struct dom_sid28 sid;
1076};
1077
1078struct drsuapi_DsAddEntryCtr2 {
1079 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1080 uint32_t unknown1;
1081 struct drsuapi_DsAddEntryErrorInfoX error;
1082 uint32_t count;/* [range(0,10000)] */
1083 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1084};
1085
1086struct drsuapi_DsAddEntryCtr3 {
1087 struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1088 uint32_t level;
1089 union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
1090 uint32_t count;/* [range(0,10000)] */
1091 struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1092};
1093
1094union drsuapi_DsAddEntryCtr {
1095 struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
1096 struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
1097}/* [switch_type(int32)] */;
1098
1099enum drsuapi_DsReplicaGetInfoLevel
1100#ifndef USE_UINT_ENUMS
1101 {
1102 DRSUAPI_DS_REPLICA_GET_INFO=1,
1103 DRSUAPI_DS_REPLICA_GET_INFO2=2
1104}
1105#else
1106 { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
1107#define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1108#define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1109#endif
1110;
1111
1112enum drsuapi_DsReplicaInfoType
1113#ifndef USE_UINT_ENUMS
1114 {
1115 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=0,
1116 DRSUAPI_DS_REPLICA_INFO_CURSORS=1,
1117 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=2,
1118 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=3,
1119 DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=4,
1120 DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=5,
1121 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=6,
1122 DRSUAPI_DS_REPLICA_INFO_CURSORS2=7,
1123 DRSUAPI_DS_REPLICA_INFO_CURSORS3=8,
1124 DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=9,
1125 DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=10,
1126 DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=-2,
1127 DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=-4,
1128 DRSUAPI_DS_REPLICA_INFO_CURSORS05=-5,
1129 DRSUAPI_DS_REPLICA_INFO_06=-6
1130}
1131#else
1132 { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1133#define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1134#define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1135#define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1136#define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1137#define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1138#define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1139#define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1140#define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1141#define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1142#define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1143#define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1144#define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1145#define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1146#define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1147#define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1148#endif
1149;
1150
1151struct drsuapi_DsReplicaGetInfoRequest1 {
1152 enum drsuapi_DsReplicaInfoType info_type;
1153 const char *object_dn;/* [unique,charset(UTF16)] */
1154 struct GUID guid1;
1155};
1156
1157struct drsuapi_DsReplicaGetInfoRequest2 {
1158 enum drsuapi_DsReplicaInfoType info_type;
1159 const char *object_dn;/* [unique,charset(UTF16)] */
1160 struct GUID guid1;
1161 uint32_t unknown1;
1162 const char *string1;/* [unique,charset(UTF16)] */
1163 const char *string2;/* [unique,charset(UTF16)] */
1164 uint32_t unknown2;
1165};
1166
1167union drsuapi_DsReplicaGetInfoRequest {
1168 struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1169 struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1170}/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1171
1172struct drsuapi_DsReplicaNeighbour {
1173 const char *naming_context_dn;/* [unique,charset(UTF16)] */
1174 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1175 const char *source_dsa_address;/* [unique,charset(UTF16)] */
1176 const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1177 uint32_t replica_flags;
1178 uint32_t reserved;
1179 struct GUID naming_context_obj_guid;
1180 struct GUID source_dsa_obj_guid;
1181 struct GUID source_dsa_invocation_id;
1182 struct GUID transport_obj_guid;
1183 uint64_t tmp_highest_usn;
1184 uint64_t highest_usn;
1185 NTTIME last_success;
1186 NTTIME last_attempt;
1187 WERROR result_last_attempt;
1188 uint32_t consecutive_sync_failures;
1189};
1190
1191struct drsuapi_DsReplicaNeighbourCtr {
1192 uint32_t count;
1193 uint32_t reserved;
1194 struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1195};
1196
1197struct drsuapi_DsReplicaCursorCtr {
1198 uint32_t count;
1199 uint32_t reserved;
1200 struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1201};
1202
1203struct drsuapi_DsReplicaObjMetaData {
1204 const char *attribute_name;/* [unique,charset(UTF16)] */
1205 uint32_t version;
1206 NTTIME originating_change_time;
1207 struct GUID originating_invocation_id;
1208 uint64_t originating_usn;
1209 uint64_t local_usn;
1210};
1211
1212struct drsuapi_DsReplicaObjMetaDataCtr {
1213 uint32_t count;
1214 uint32_t reserved;
1215 struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1216};
1217
1218struct drsuapi_DsReplicaKccDsaFailure {
1219 const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1220 struct GUID dsa_obj_guid;
1221 NTTIME first_failure;
1222 uint32_t num_failures;
1223 WERROR last_result;
1224};
1225
1226struct drsuapi_DsReplicaKccDsaFailuresCtr {
1227 uint32_t count;
1228 uint32_t reserved;
1229 struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1230};
1231
1232enum drsuapi_DsReplicaOpType
1233#ifndef USE_UINT_ENUMS
1234 {
1235 DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=0,
1236 DRSUAPI_DS_REPLICA_OP_TYPE_ADD=1,
1237 DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=2,
1238 DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=3,
1239 DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=4
1240}
1241#else
1242 { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1243#define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1244#define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1245#define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1246#define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1247#define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1248#endif
1249;
1250
1251union drsuapi_DsRplicaOpOptions {
1252 uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1253 uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1254 uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1255 uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1256 uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1257 uint32_t unknown;/* [default] */
1258}/* [switch_type(drsuapi_DsReplicaOpType)] */;
1259
1260struct drsuapi_DsReplicaOp {
1261 NTTIME operation_start;
1262 uint32_t serial_num;
1263 uint32_t priority;
1264 enum drsuapi_DsReplicaOpType operation_type;
1265 union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1266 const char *nc_dn;/* [unique,charset(UTF16)] */
1267 const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1268 const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1269 struct GUID nc_obj_guid;
1270 struct GUID remote_dsa_obj_guid;
1271};
1272
1273struct drsuapi_DsReplicaOpCtr {
1274 NTTIME time;
1275 uint32_t count;
1276 struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1277};
1278
1279struct drsuapi_DsReplicaAttrValMetaData {
1280 const char *attribute_name;/* [unique,charset(UTF16)] */
1281 const char *object_dn;/* [unique,charset(UTF16)] */
1282 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1283 DATA_BLOB *binary;/* [unique] */
1284 NTTIME deleted;
1285 NTTIME created;
1286 uint32_t version;
1287 NTTIME originating_change_time;
1288 struct GUID originating_invocation_id;
1289 uint64_t originating_usn;
1290 uint64_t local_usn;
1291};
1292
1293struct drsuapi_DsReplicaAttrValMetaDataCtr {
1294 uint32_t count;
1295 int32_t enumeration_context;
1296 struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1297};
1298
1299struct drsuapi_DsReplicaCursor2Ctr {
1300 uint32_t count;
1301 int32_t enumeration_context;
1302 struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1303};
1304
1305struct drsuapi_DsReplicaCursor3 {
1306 struct GUID source_dsa_invocation_id;
1307 uint64_t highest_usn;
1308 NTTIME last_sync_success;
1309 const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1310};
1311
1312struct drsuapi_DsReplicaCursor3Ctr {
1313 uint32_t count;
1314 int32_t enumeration_context;
1315 struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1316};
1317
1318struct drsuapi_DsReplicaObjMetaData2 {
1319 const char *attribute_name;/* [unique,charset(UTF16)] */
1320 uint32_t version;
1321 NTTIME originating_change_time;
1322 struct GUID originating_invocation_id;
1323 uint64_t originating_usn;
1324 uint64_t local_usn;
1325 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1326};
1327
1328struct drsuapi_DsReplicaObjMetaData2Ctr {
1329 uint32_t count;
1330 int32_t enumeration_context;
1331 struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1332};
1333
1334struct drsuapi_DsReplicaAttrValMetaData2 {
1335 const char *attribute_name;/* [unique,charset(UTF16)] */
1336 const char *object_dn;/* [unique,charset(UTF16)] */
1337 uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1338 DATA_BLOB *binary;/* [unique] */
1339 NTTIME deleted;
1340 NTTIME created;
1341 uint32_t version;
1342 NTTIME originating_change_time;
1343 struct GUID originating_invocation_id;
1344 uint64_t originating_usn;
1345 uint64_t local_usn;
1346 const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1347};
1348
1349struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1350 uint32_t count;
1351 int32_t enumeration_context;
1352 struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1353};
1354
1355struct drsuapi_DsReplicaConnection04 {
1356 uint64_t u1;
1357 uint32_t u2;
1358 uint32_t u3;
1359 struct GUID bind_guid;
1360 NTTIME bind_time;
1361 const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1362 uint32_t u5;
1363};
1364
1365struct drsuapi_DsReplicaConnection04Ctr {
1366 uint32_t count;/* [range(0,10000)] */
1367 uint32_t reserved;
1368 struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1369};
1370
1371struct drsuapi_DsReplica06 {
1372 const char *str1;/* [unique,charset(UTF16)] */
1373 uint32_t u1;
1374 uint32_t u2;
1375 uint32_t u3;
1376 uint32_t u4;
1377 uint32_t u5;
1378 uint64_t u6;
1379 uint32_t u7;
1380};
1381
1382struct drsuapi_DsReplica06Ctr {
1383 uint32_t count;/* [range(0,256)] */
1384 uint32_t reserved;
1385 struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1386};
1387
1388union drsuapi_DsReplicaInfo {
1389 struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1390 struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1391 struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1392 struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1393 struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1394 struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1395 struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1396 struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1397 struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1398 struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1399 struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1400 struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1401 struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1402 struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1403 struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1404}/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1405
1406struct drsuapi_DsGetMemberships2Ctr1 {
1407 uint32_t num_entries;/* [range(0,10000)] */
1408 struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1409};
1410
1411union drsuapi_DsGetMemberships2Ctr {
1412 struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1413}/* [switch_type(int32)] */;
1414
1415struct drsuapi_DsGetMemberships2Request1 {
1416 uint32_t num_req;/* [range(1,10000)] */
1417 struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1418};
1419
1420union drsuapi_DsGetMemberships2Request {
1421 struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1422}/* [switch_type(int32)] */;
1423
1424struct drsuapi_DsSiteCostInfo {
1425 WERROR error_code;
1426 uint32_t site_cost;
1427};
1428
1429struct drsuapi_QuerySitesByCostCtr1 {
1430 uint32_t num_info;/* [range(0,10000)] */
1431 struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1432 uint32_t unknown;
1433};
1434
1435union drsuapi_QuerySitesByCostCtr {
1436 struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1437}/* [switch_type(int32)] */;
1438
1439struct drsuapi_QuerySitesByCostRequest1 {
1440 const char *site_from;/* [unique,charset(UTF16)] */
1441 uint32_t num_req;/* [range(1,10000)] */
1442 const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1443 uint32_t flags;
1444};
1445
1446union drsuapi_QuerySitesByCostRequest {
1447 struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1448}/* [switch_type(int32)] */;
1449
1450
1451struct drsuapi_DsBind {
1452 struct {
1453 struct GUID *bind_guid;/* [unique] */
1454 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1455 } in;
1456
1457 struct {
1458 struct policy_handle *bind_handle;/* [ref] */
1459 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1460 WERROR result;
1461 } out;
1462
1463};
1464
1465
1466struct drsuapi_DsUnbind {
1467 struct {
1468 struct policy_handle *bind_handle;/* [ref] */
1469 } in;
1470
1471 struct {
1472 struct policy_handle *bind_handle;/* [ref] */
1473 WERROR result;
1474 } out;
1475
1476};
1477
1478
1479struct drsuapi_DsReplicaSync {
1480 struct {
1481 struct policy_handle *bind_handle;/* [ref] */
1482 int32_t level;
1483 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1484 } in;
1485
1486 struct {
1487 WERROR result;
1488 } out;
1489
1490};
1491
1492
1493struct drsuapi_DsGetNCChanges {
1494 struct {
1495 struct policy_handle *bind_handle;/* [ref] */
1496 int32_t level;
1497 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */
1498 } in;
1499
1500 struct {
1501 int32_t *level_out;/* [ref] */
1502 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */
1503 WERROR result;
1504 } out;
1505
1506};
1507
1508
1509struct drsuapi_DsReplicaUpdateRefs {
1510 struct {
1511 struct policy_handle *bind_handle;/* [ref] */
1512 int32_t level;
1513 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1514 } in;
1515
1516 struct {
1517 WERROR result;
1518 } out;
1519
1520};
1521
1522
1523struct DRSUAPI_REPLICA_ADD {
1524 struct {
1525 WERROR result;
1526 } out;
1527
1528};
1529
1530
1531struct DRSUAPI_REPLICA_DEL {
1532 struct {
1533 WERROR result;
1534 } out;
1535
1536};
1537
1538
1539struct DRSUAPI_REPLICA_MODIFY {
1540 struct {
1541 WERROR result;
1542 } out;
1543
1544};
1545
1546
1547struct DRSUAPI_VERIFY_NAMES {
1548 struct {
1549 WERROR result;
1550 } out;
1551
1552};
1553
1554
1555struct drsuapi_DsGetMemberships {
1556 struct {
1557 struct policy_handle *bind_handle;/* [ref] */
1558 int32_t level;
1559 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1560 } in;
1561
1562 struct {
1563 int32_t *level_out;/* [ref] */
1564 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1565 WERROR result;
1566 } out;
1567
1568};
1569
1570
1571struct DRSUAPI_INTER_DOMAIN_MOVE {
1572 struct {
1573 WERROR result;
1574 } out;
1575
1576};
1577
1578
1579struct drsuapi_DsGetNT4ChangeLog {
1580 struct {
1581 struct policy_handle *bind_handle;/* [ref] */
1582 uint32_t level;
1583 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1584 } in;
1585
1586 struct {
1587 uint32_t *level_out;/* [ref] */
1588 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1589 WERROR result;
1590 } out;
1591
1592};
1593
1594
1595struct drsuapi_DsCrackNames {
1596 struct {
1597 struct policy_handle *bind_handle;/* [ref] */
1598 int32_t level;
1599 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1600 } in;
1601
1602 struct {
1603 int32_t *level_out;/* [ref] */
1604 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1605 WERROR result;
1606 } out;
1607
1608};
1609
1610
1611struct drsuapi_DsWriteAccountSpn {
1612 struct {
1613 struct policy_handle *bind_handle;/* [ref] */
1614 int32_t level;
1615 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1616 } in;
1617
1618 struct {
1619 int32_t *level_out;/* [ref] */
1620 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1621 WERROR result;
1622 } out;
1623
1624};
1625
1626
1627struct drsuapi_DsRemoveDSServer {
1628 struct {
1629 struct policy_handle *bind_handle;/* [ref] */
1630 int32_t level;
1631 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1632 } in;
1633
1634 struct {
1635 int32_t *level_out;/* [ref] */
1636 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1637 WERROR result;
1638 } out;
1639
1640};
1641
1642
1643struct DRSUAPI_REMOVE_DS_DOMAIN {
1644 struct {
1645 WERROR result;
1646 } out;
1647
1648};
1649
1650
1651struct drsuapi_DsGetDomainControllerInfo {
1652 struct {
1653 struct policy_handle *bind_handle;/* [ref] */
1654 int32_t level;
1655 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1656 } in;
1657
1658 struct {
1659 int32_t *level_out;/* [ref] */
1660 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1661 WERROR result;
1662 } out;
1663
1664};
1665
1666
1667struct drsuapi_DsAddEntry {
1668 struct {
1669 struct policy_handle *bind_handle;/* [ref] */
1670 int32_t level;
1671 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1672 } in;
1673
1674 struct {
1675 int32_t *level_out;/* [ref] */
1676 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1677 WERROR result;
1678 } out;
1679
1680};
1681
1682
1683struct DRSUAPI_EXECUTE_KCC {
1684 struct {
1685 WERROR result;
1686 } out;
1687
1688};
1689
1690
1691struct drsuapi_DsReplicaGetInfo {
1692 struct {
1693 struct policy_handle *bind_handle;/* [ref] */
1694 enum drsuapi_DsReplicaGetInfoLevel level;
1695 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1696 } in;
1697
1698 struct {
1699 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1700 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1701 WERROR result;
1702 } out;
1703
1704};
1705
1706
1707struct DRSUAPI_ADD_SID_HISTORY {
1708 struct {
1709 WERROR result;
1710 } out;
1711
1712};
1713
1714
1715struct drsuapi_DsGetMemberships2 {
1716 struct {
1717 struct policy_handle *bind_handle;/* [ref] */
1718 int32_t level;
1719 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1720 } in;
1721
1722 struct {
1723 int32_t *level_out;/* [ref] */
1724 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1725 WERROR result;
1726 } out;
1727
1728};
1729
1730
1731struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1732 struct {
1733 WERROR result;
1734 } out;
1735
1736};
1737
1738
1739struct DRSUAPI_GET_OBJECT_EXISTENCE {
1740 struct {
1741 WERROR result;
1742 } out;
1743
1744};
1745
1746
1747struct drsuapi_QuerySitesByCost {
1748 struct {
1749 struct policy_handle *bind_handle;/* [ref] */
1750 int32_t level;
1751 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1752 } in;
1753
1754 struct {
1755 int32_t *level_out;/* [ref] */
1756 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1757 WERROR result;
1758 } out;
1759
1760};
1761
1762#endif /* _HEADER_drsuapi */
Note: See TracBrowser for help on using the repository browser.