2008-04-25 16:49:02 +04:00
/* header auto-generated by pidl */
# include <stdint.h>
2009-02-25 17:22:08 +03:00
# include "libcli/util/ntstatus.h"
2008-04-25 16:49:02 +04:00
# include "librpc/gen_ndr/security.h"
# include "librpc/gen_ndr/misc.h"
# include "librpc/gen_ndr/samr.h"
# ifndef _HEADER_drsuapi
# define _HEADER_drsuapi
# define DRSUAPI_DS_BIND_GUID ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" )
# define DRSUAPI_DS_BIND_GUID_W2K ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" )
# define DRSUAPI_DS_BIND_GUID_W2K3 ( "6afab99c-6e26-464a-975f-f58f105218bc" )
# define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR ( 0x1 )
# define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
2009-10-13 11:31:21 +04:00
/* bitmap drsuapi_DrsOptions */
# define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 )
# define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 )
# define DRSUAPI_DRS_ADD_REF ( 0x00000004 )
# define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 )
# define DRSUAPI_DRS_DEL_REF ( 0x00000008 )
# define DRSUAPI_DRS_WRIT_REP ( 0x00000010 )
# define DRSUAPI_DRS_INIT_SYNC ( 0x00000020 )
# define DRSUAPI_DRS_PER_SYNC ( 0x00000040 )
# define DRSUAPI_DRS_MAIL_REP ( 0x00000080 )
# define DRSUAPI_DRS_ASYNC_REP ( 0x00000100 )
# define DRSUAPI_DRS_IGNORE_ERROR ( 0x00000100 )
# define DRSUAPI_DRS_TWOWAY_SYNC ( 0x00000200 )
# define DRSUAPI_DRS_CRITICAL_ONLY ( 0x00000400 )
# define DRSUAPI_DRS_GET_ANC ( 0x00000800 )
# define DRSUAPI_DRS_GET_NC_SIZE ( 0x00001000 )
# define DRSUAPI_DRS_LOCAL_ONLY ( 0x00001000 )
# define DRSUAPI_DRS_SYNC_BYNAME ( 0x00004000 )
# define DRSUAPI_DRS_REF_OK ( 0x00004000 )
# define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 )
# define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 )
# define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 )
# define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 )
# define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
# define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 )
# define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 )
# define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 )
# define DRSUAPI_DRS_USE_COMPRESSION ( 0x10000000 )
# define DRSUAPI_DRS_NEVER_NOTIFY ( 0x20000000 )
# define DRSUAPI_DRS_SYNC_PAS ( 0x40000000 )
# define DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP ( 0x80000000 )
2008-04-25 16:49:02 +04:00
/* bitmap drsuapi_SupportedExtensions */
# define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
# define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
# define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
# define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
# define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
# define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
# define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
# define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
# define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
# define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
# define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
# define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
# define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
# define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
# define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
# define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
# define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
# define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
# define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
# define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
# define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
2008-07-22 15:23:18 +04:00
/* bitmap drsuapi_SupportedExtensionsExt */
# define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
# define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
2008-04-25 16:49:02 +04:00
struct drsuapi_DsBindInfo24 {
uint32_t supported_extensions ;
struct GUID site_guid ;
2008-07-22 18:15:15 +04:00
uint32_t pid ;
2008-04-25 16:49:02 +04:00
} ;
struct drsuapi_DsBindInfo28 {
uint32_t supported_extensions ;
struct GUID site_guid ;
2008-07-22 18:15:15 +04:00
uint32_t pid ;
2008-04-25 16:49:02 +04:00
uint32_t repl_epoch ;
} ;
2008-07-22 15:23:18 +04:00
struct drsuapi_DsBindInfo48 {
uint32_t supported_extensions ;
struct GUID site_guid ;
2008-07-22 18:15:15 +04:00
uint32_t pid ;
2008-07-22 15:23:18 +04:00
uint32_t repl_epoch ;
uint32_t supported_extensions_ext ;
struct GUID config_dn_guid ;
} ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsBindInfoFallBack {
DATA_BLOB info ; /* [flag(LIBNDR_FLAG_REMAINING)] */
} ;
union drsuapi_DsBindInfo {
struct drsuapi_DsBindInfo24 info24 ; /* [subcontext(4),case(24)] */
struct drsuapi_DsBindInfo28 info28 ; /* [subcontext(4),case(28)] */
2008-07-22 15:23:18 +04:00
struct drsuapi_DsBindInfo48 info48 ; /* [subcontext(4),case(48)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsBindInfoFallBack FallBack ; /* [subcontext(4),default] */
} /* [nodiscriminant] */ ;
struct drsuapi_DsBindInfoCtr {
uint32_t length ; /* [range(1,10000)] */
union drsuapi_DsBindInfo info ; /* [switch_is(length)] */
} ;
struct drsuapi_DsReplicaObjectIdentifier {
2009-01-01 06:45:33 +03:00
uint32_t __ndr_size ; /* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */
2008-04-25 16:49:02 +04:00
uint32_t __ndr_size_sid ; /* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
struct GUID guid ;
struct dom_sid28 sid ;
uint32_t __ndr_size_dn ; /* [value(strlen_m(dn))] */
const char * dn ; /* [charset(UTF16),size_is(__ndr_size_dn+1)] */
} /* [gensize,public] */ ;
/* bitmap drsuapi_DsReplicaSyncOptions */
# define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
# define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
# define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
# define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
# define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
# define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
# define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
# define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
# define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
# define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
# define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
# define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
# define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
# define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
# define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
# define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
# define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
# define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
# define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
# define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
# define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
# define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
# define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
# define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
struct drsuapi_DsReplicaSyncRequest1 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [unique] */
struct GUID source_dsa_guid ;
const char * other_info ; /* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
uint32_t options ;
} ;
union drsuapi_DsReplicaSyncRequest {
struct drsuapi_DsReplicaSyncRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsReplicaHighWaterMark {
uint64_t tmp_highest_usn ;
uint64_t reserved_usn ;
uint64_t highest_usn ;
} /* [public] */ ;
struct drsuapi_DsReplicaCursor {
struct GUID source_dsa_invocation_id ;
uint64_t highest_usn ;
} /* [public] */ ;
struct drsuapi_DsReplicaCursorCtrEx {
2008-07-16 17:26:55 +04:00
uint32_t version ; /* [value] */
uint32_t reserved1 ; /* [value(0)] */
2008-04-25 16:49:02 +04:00
uint32_t count ; /* [range(0,0x100000)] */
2008-07-16 17:26:55 +04:00
uint32_t reserved2 ; /* [value(0)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaCursor * cursors ; /* [size_is(count)] */
} ;
/* bitmap drsuapi_DsReplicaNeighbourFlags */
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
2009-09-24 02:48:10 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_ASYNC_REP ( 0x00000100 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR ( 0x00000100 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
2009-09-24 02:48:10 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY ( 0x00000400 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
2009-09-24 02:48:10 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00010000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET ( 0x00020000 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
2009-09-24 02:48:10 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
# define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
2008-07-16 17:26:55 +04:00
enum drsuapi_DsExtendedOperation
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_EXOP_NONE = ( int ) ( 0x00000000 ) ,
DRSUAPI_EXOP_FSMO_REQ_ROLE = ( int ) ( 0x00000001 ) ,
DRSUAPI_EXOP_FSMO_RID_ALLOC = ( int ) ( 0x00000002 ) ,
DRSUAPI_EXOP_FSMO_RID_REQ_ROLE = ( int ) ( 0x00000003 ) ,
DRSUAPI_EXOP_FSMO_REQ_PDC = ( int ) ( 0x00000004 ) ,
DRSUAPI_EXOP_FSMO_ABANDON_ROLE = ( int ) ( 0x00000005 ) ,
DRSUAPI_EXOP_REPL_OBJ = ( int ) ( 0x00000006 ) ,
DRSUAPI_EXOP_REPL_SECRET = ( int ) ( 0x00000007 )
2008-07-16 17:26:55 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsExtendedOperation = 0x7FFFFFFF }
# define DRSUAPI_EXOP_NONE ( 0x00000000 )
# define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
# define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
# define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
# define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
# define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
# define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
# define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
# endif
;
enum drsuapi_DsExtendedError
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_EXOP_ERR_NONE = ( int ) ( 0x00000000 ) ,
DRSUAPI_EXOP_ERR_SUCCESS = ( int ) ( 0x00000001 ) ,
DRSUAPI_EXOP_ERR_UNKNOWN_OP = ( int ) ( 0x00000002 ) ,
DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER = ( int ) ( 0x00000003 ) ,
DRSUAPI_EXOP_ERR_UPDATE_ERR = ( int ) ( 0x00000004 ) ,
DRSUAPI_EXOP_ERR_EXCEPTION = ( int ) ( 0x00000005 ) ,
DRSUAPI_EXOP_ERR_UNKNOWN_CALLER = ( int ) ( 0x00000006 ) ,
DRSUAPI_EXOP_ERR_RID_ALLOC = ( int ) ( 0x00000007 ) ,
DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED = ( int ) ( 0x00000008 ) ,
DRSUAPI_EXOP_ERR_FMSO_PENDING_OP = ( int ) ( 0x00000009 ) ,
DRSUAPI_EXOP_ERR_MISMATCH = ( int ) ( 0x0000000A ) ,
DRSUAPI_EXOP_ERR_COULDNT_CONTACT = ( int ) ( 0x0000000B ) ,
DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES = ( int ) ( 0x0000000C ) ,
DRSUAPI_EXOP_ERR_DIR_ERROR = ( int ) ( 0x0000000D ) ,
DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS = ( int ) ( 0x0000000E ) ,
DRSUAPI_EXOP_ERR_ACCESS_DENIED = ( int ) ( 0x0000000F ) ,
DRSUAPI_EXOP_ERR_PARAM_ERROR = ( int ) ( 0x00000010 )
2008-07-16 17:26:55 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsExtendedError = 0x7FFFFFFF }
# define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
# define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
# define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
# define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
# define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
# define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
# define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
# define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
# define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
# define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
# define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
# define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
# define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
# define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
# define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
# define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
# define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
# endif
;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesRequest5 {
struct GUID destination_dsa_guid ;
struct GUID source_dsa_invocation_id ;
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
struct drsuapi_DsReplicaHighWaterMark highwatermark ;
struct drsuapi_DsReplicaCursorCtrEx * uptodateness_vector ; /* [unique] */
uint32_t replica_flags ;
uint32_t max_object_count ;
uint32_t max_ndr_size ;
2008-07-16 17:26:55 +04:00
enum drsuapi_DsExtendedOperation extended_op ;
uint64_t fsmo_info ;
2008-04-25 16:49:02 +04:00
} ;
struct drsuapi_DsReplicaOID {
2009-10-02 19:30:14 +04:00
uint32_t length ; /* [range(0,10000)] */
uint8_t * binary_oid ; /* [unique,size_is(length)] */
} /* [noprint] */ ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaOIDMapping {
uint32_t id_prefix ;
struct drsuapi_DsReplicaOID oid ;
} ;
struct drsuapi_DsReplicaOIDMapping_Ctr {
uint32_t num_mappings ; /* [range(0,0x100000)] */
struct drsuapi_DsReplicaOIDMapping * mappings ; /* [unique,size_is(num_mappings)] */
} /* [public] */ ;
enum drsuapi_DsObjectClassId
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_OBJECTCLASS_top = ( int ) ( 0x00010000 ) ,
DRSUAPI_OBJECTCLASS_classSchema = ( int ) ( 0x0003000d ) ,
DRSUAPI_OBJECTCLASS_attributeSchema = ( int ) ( 0x0003000e )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsObjectClassId = 0x7FFFFFFF }
# define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
# define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
# define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
# endif
;
enum drsuapi_DsAttributeId
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_ATTRIBUTE_objectClass = ( int ) ( 0x00000000 ) ,
DRSUAPI_ATTRIBUTE_description = ( int ) ( 0x0000000d ) ,
DRSUAPI_ATTRIBUTE_member = ( int ) ( 0x0000001f ) ,
DRSUAPI_ATTRIBUTE_instanceType = ( int ) ( 0x00020001 ) ,
DRSUAPI_ATTRIBUTE_whenCreated = ( int ) ( 0x00020002 ) ,
DRSUAPI_ATTRIBUTE_possSuperiors = ( int ) ( 0x00020008 ) ,
DRSUAPI_ATTRIBUTE_hasMasterNCs = ( int ) ( 0x0002000e ) ,
DRSUAPI_ATTRIBUTE_subClassOf = ( int ) ( 0x00020015 ) ,
DRSUAPI_ATTRIBUTE_governsID = ( int ) ( 0x00020016 ) ,
DRSUAPI_ATTRIBUTE_mustContain = ( int ) ( 0x00020018 ) ,
DRSUAPI_ATTRIBUTE_mayContain = ( int ) ( 0x00020019 ) ,
DRSUAPI_ATTRIBUTE_attributeID = ( int ) ( 0x0002001e ) ,
DRSUAPI_ATTRIBUTE_attributeSyntax = ( int ) ( 0x00020020 ) ,
DRSUAPI_ATTRIBUTE_isSingleValued = ( int ) ( 0x00020021 ) ,
DRSUAPI_ATTRIBUTE_rangeLower = ( int ) ( 0x00020022 ) ,
DRSUAPI_ATTRIBUTE_rangeUpper = ( int ) ( 0x00020023 ) ,
DRSUAPI_ATTRIBUTE_dMDLocation = ( int ) ( 0x00020024 ) ,
DRSUAPI_ATTRIBUTE_objectVersion = ( int ) ( 0x0002004c ) ,
DRSUAPI_ATTRIBUTE_invocationId = ( int ) ( 0x00020073 ) ,
DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly = ( int ) ( 0x000200a9 ) ,
DRSUAPI_ATTRIBUTE_adminDisplayName = ( int ) ( 0x000200c2 ) ,
DRSUAPI_ATTRIBUTE_adminDescription = ( int ) ( 0x000200e2 ) ,
DRSUAPI_ATTRIBUTE_oMSyntax = ( int ) ( 0x000200e7 ) ,
DRSUAPI_ATTRIBUTE_ntSecurityDescriptor = ( int ) ( 0x00020119 ) ,
DRSUAPI_ATTRIBUTE_searchFlags = ( int ) ( 0x0002014e ) ,
DRSUAPI_ATTRIBUTE_auxiliaryClass = ( int ) ( 0x0002015f ) ,
DRSUAPI_ATTRIBUTE_lDAPDisplayName = ( int ) ( 0x000201cc ) ,
DRSUAPI_ATTRIBUTE_name = ( int ) ( 0x00090001 ) ,
DRSUAPI_ATTRIBUTE_userAccountControl = ( int ) ( 0x00090008 ) ,
DRSUAPI_ATTRIBUTE_currentValue = ( int ) ( 0x0009001b ) ,
DRSUAPI_ATTRIBUTE_homeDirectory = ( int ) ( 0x0009002c ) ,
DRSUAPI_ATTRIBUTE_homeDrive = ( int ) ( 0x0009002d ) ,
DRSUAPI_ATTRIBUTE_scriptPath = ( int ) ( 0x0009003e ) ,
DRSUAPI_ATTRIBUTE_profilePath = ( int ) ( 0x0009008b ) ,
DRSUAPI_ATTRIBUTE_objectSid = ( int ) ( 0x00090092 ) ,
DRSUAPI_ATTRIBUTE_schemaIDGUID = ( int ) ( 0x00090094 ) ,
DRSUAPI_ATTRIBUTE_dBCSPwd = ( int ) ( 0x00090037 ) ,
DRSUAPI_ATTRIBUTE_logonHours = ( int ) ( 0x00090040 ) ,
DRSUAPI_ATTRIBUTE_userWorkstations = ( int ) ( 0x00090056 ) ,
DRSUAPI_ATTRIBUTE_unicodePwd = ( int ) ( 0x0009005a ) ,
DRSUAPI_ATTRIBUTE_ntPwdHistory = ( int ) ( 0x0009005e ) ,
DRSUAPI_ATTRIBUTE_priorValue = ( int ) ( 0x00090064 ) ,
DRSUAPI_ATTRIBUTE_supplementalCredentials = ( int ) ( 0x0009007d ) ,
DRSUAPI_ATTRIBUTE_trustAuthIncoming = ( int ) ( 0x00090081 ) ,
DRSUAPI_ATTRIBUTE_trustAuthOutgoing = ( int ) ( 0x00090087 ) ,
DRSUAPI_ATTRIBUTE_lmPwdHistory = ( int ) ( 0x000900a0 ) ,
DRSUAPI_ATTRIBUTE_systemPossSuperiors = ( int ) ( 0x000900c3 ) ,
DRSUAPI_ATTRIBUTE_systemMayContain = ( int ) ( 0x000900c4 ) ,
DRSUAPI_ATTRIBUTE_systemMustContain = ( int ) ( 0x000900c5 ) ,
DRSUAPI_ATTRIBUTE_sAMAccountName = ( int ) ( 0x000900dd ) ,
DRSUAPI_ATTRIBUTE_sAMAccountType = ( int ) ( 0x0009012e ) ,
DRSUAPI_ATTRIBUTE_fSMORoleOwner = ( int ) ( 0x00090171 ) ,
DRSUAPI_ATTRIBUTE_systemFlags = ( int ) ( 0x00090177 ) ,
DRSUAPI_ATTRIBUTE_serverReference = ( int ) ( 0x00090203 ) ,
DRSUAPI_ATTRIBUTE_serverReferenceBL = ( int ) ( 0x00090204 ) ,
DRSUAPI_ATTRIBUTE_initialAuthIncoming = ( int ) ( 0x0009021b ) ,
DRSUAPI_ATTRIBUTE_initialAuthOutgoing = ( int ) ( 0x0009021c ) ,
DRSUAPI_ATTRIBUTE_wellKnownObjects = ( int ) ( 0x0009026a ) ,
DRSUAPI_ATTRIBUTE_dNSHostName = ( int ) ( 0x0009026b ) ,
DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet = ( int ) ( 0x0009027f ) ,
DRSUAPI_ATTRIBUTE_userPrincipalName = ( int ) ( 0x00090290 ) ,
DRSUAPI_ATTRIBUTE_groupType = ( int ) ( 0x000902ee ) ,
DRSUAPI_ATTRIBUTE_servicePrincipalName = ( int ) ( 0x00090303 ) ,
DRSUAPI_ATTRIBUTE_objectCategory = ( int ) ( 0x0009030e ) ,
DRSUAPI_ATTRIBUTE_gPLink = ( int ) ( 0x0009037b ) ,
DRSUAPI_ATTRIBUTE_msDS_Behavior_Version = ( int ) ( 0x000905b3 ) ,
DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber = ( int ) ( 0x000906f6 ) ,
DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs = ( int ) ( 0x0009071c ) ,
DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs = ( int ) ( 0x0009072c )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsAttributeId = 0x7FFFFFFF }
# define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
# define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
# define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
# define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
# define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
2009-09-10 06:09:01 +04:00
# define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
2009-09-10 06:09:01 +04:00
# define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
2009-09-10 06:09:01 +04:00
# define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
# define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
# define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
# define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
# define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
# define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
# define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
# define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
# define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
# define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
# define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
# define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
# define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
# define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
# define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
2009-09-10 06:09:01 +04:00
# define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
# define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
2008-06-18 14:42:27 +04:00
# define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
2008-06-24 22:57:17 +04:00
# define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
# define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
# define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
# define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
# define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
# define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
2008-06-24 22:57:17 +04:00
# define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
# define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
# define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
# define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
# define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
# define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
# define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
# define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
2009-09-10 06:09:01 +04:00
# define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
# define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
# define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
2008-06-18 14:42:27 +04:00
# define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
# define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
# define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
# define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
# define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
# define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
# define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
2008-06-24 22:57:17 +04:00
# define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
2008-06-24 22:57:17 +04:00
# define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
2008-06-18 14:42:27 +04:00
# define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
2008-06-24 22:57:17 +04:00
# define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
# define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
# define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
# define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
# define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
# define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
# endif
;
2008-07-16 17:26:55 +04:00
struct drsuapi_DsPartialAttributeSet {
uint32_t version ; /* [value] */
uint32_t reserved1 ; /* [value(0)] */
uint32_t num_attids ; /* [range(1,0x100000)] */
enum drsuapi_DsAttributeId * attids ; /* [size_is(num_attids)] */
} ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesRequest8 {
struct GUID destination_dsa_guid ;
struct GUID source_dsa_invocation_id ;
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
struct drsuapi_DsReplicaHighWaterMark highwatermark ;
struct drsuapi_DsReplicaCursorCtrEx * uptodateness_vector ; /* [unique] */
uint32_t replica_flags ;
uint32_t max_object_count ;
uint32_t max_ndr_size ;
2008-07-16 17:26:55 +04:00
enum drsuapi_DsExtendedOperation extended_op ;
uint64_t fsmo_info ;
struct drsuapi_DsPartialAttributeSet * partial_attribute_set ; /* [unique] */
struct drsuapi_DsPartialAttributeSet * partial_attribute_set_ex ; /* [unique] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr ;
} ;
2009-09-17 11:12:15 +04:00
struct drsuapi_DsGetNCChangesRequest10 {
struct GUID destination_dsa_guid ;
struct GUID source_dsa_invocation_id ;
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
struct drsuapi_DsReplicaHighWaterMark highwatermark ;
struct drsuapi_DsReplicaCursorCtrEx * uptodateness_vector ; /* [unique] */
uint32_t replica_flags ;
uint32_t max_object_count ;
uint32_t max_ndr_size ;
enum drsuapi_DsExtendedOperation extended_op ;
uint64_t fsmo_info ;
struct drsuapi_DsPartialAttributeSet * partial_attribute_set ; /* [unique] */
struct drsuapi_DsPartialAttributeSet * partial_attribute_set_ex ; /* [unique] */
struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr ;
uint32_t more_flags ;
} ;
2008-04-25 16:49:02 +04:00
union drsuapi_DsGetNCChangesRequest {
struct drsuapi_DsGetNCChangesRequest5 req5 ; /* [case(5)] */
struct drsuapi_DsGetNCChangesRequest8 req8 ; /* [case(8)] */
2009-09-17 11:12:15 +04:00
struct drsuapi_DsGetNCChangesRequest10 req10 ; /* [case(10)] */
2008-04-25 16:49:02 +04:00
} /* [switch_type(int32)] */ ;
struct drsuapi_DsReplicaCursor2 {
struct GUID source_dsa_invocation_id ;
uint64_t highest_usn ;
NTTIME last_sync_success ;
} /* [public] */ ;
struct drsuapi_DsReplicaCursor2CtrEx {
2008-07-16 17:26:55 +04:00
uint32_t version ; /* [value(2)] */
uint32_t reserved1 ; /* [value(0)] */
2008-04-25 16:49:02 +04:00
uint32_t count ; /* [range(0,0x100000)] */
2008-07-16 17:26:55 +04:00
uint32_t reserved2 ; /* [value(0)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaCursor2 * cursors ; /* [size_is(count)] */
} ;
struct drsuapi_DsAttributeValue {
uint32_t __ndr_size ; /* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
DATA_BLOB * blob ; /* [unique] */
} ;
struct drsuapi_DsAttributeValueCtr {
uint32_t num_values ; /* [range(0,10485760)] */
struct drsuapi_DsAttributeValue * values ; /* [unique,size_is(num_values)] */
} ;
struct drsuapi_DsReplicaObjectIdentifier3 {
2009-01-01 06:45:33 +03:00
uint32_t __ndr_size ; /* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
2008-04-25 16:49:02 +04:00
uint32_t __ndr_size_sid ; /* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
struct GUID guid ;
struct dom_sid28 sid ;
uint32_t __ndr_size_dn ; /* [value(strlen_m(dn))] */
const char * dn ; /* [charset(UTF16)] */
} /* [gensize,public] */ ;
struct drsuapi_DsReplicaObjectIdentifier3Binary {
2009-09-24 18:19:46 +04:00
uint32_t __ndr_size ; /* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
2008-04-25 16:49:02 +04:00
uint32_t __ndr_size_sid ; /* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
struct GUID guid ;
struct dom_sid28 sid ;
uint32_t __ndr_size_dn ; /* [value(strlen_m(dn))] */
const char * dn ; /* [charset(UTF16)] */
uint32_t __ndr_size_binary ; /* [value(binary.length+4)] */
DATA_BLOB binary ; /* [flag(LIBNDR_FLAG_REMAINING)] */
} /* [gensize,public] */ ;
struct drsuapi_DsReplicaAttribute {
enum drsuapi_DsAttributeId attid ;
struct drsuapi_DsAttributeValueCtr value_ctr ;
} /* [public] */ ;
struct drsuapi_DsReplicaAttributeCtr {
uint32_t num_attributes ; /* [range(0,1048576)] */
struct drsuapi_DsReplicaAttribute * attributes ; /* [unique,size_is(num_attributes)] */
} ;
2008-07-16 17:26:55 +04:00
/* bitmap drsuapi_DsReplicaObjectFlags */
# define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
# define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
# define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaObject {
struct drsuapi_DsReplicaObjectIdentifier * identifier ; /* [unique] */
2008-07-16 17:26:55 +04:00
uint32_t flags ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaAttributeCtr attribute_ctr ;
} /* [public] */ ;
struct drsuapi_DsReplicaMetaData {
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
} ;
struct drsuapi_DsReplicaMetaDataCtr {
uint32_t count ; /* [range(0,1048576)] */
struct drsuapi_DsReplicaMetaData * meta_data ; /* [size_is(count)] */
} /* [public] */ ;
struct drsuapi_DsReplicaObjectListItemEx {
struct drsuapi_DsReplicaObjectListItemEx * next_object ; /* [unique] */
struct drsuapi_DsReplicaObject object ;
2008-07-16 17:26:55 +04:00
uint32_t is_nc_prefix ;
2008-04-25 16:49:02 +04:00
struct GUID * parent_object_guid ; /* [unique] */
struct drsuapi_DsReplicaMetaDataCtr * meta_data_ctr ; /* [unique] */
} /* [noprint,public] */ ;
struct drsuapi_DsGetNCChangesCtr1 {
struct GUID source_dsa_guid ;
struct GUID source_dsa_invocation_id ;
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [unique] */
struct drsuapi_DsReplicaHighWaterMark old_highwatermark ;
struct drsuapi_DsReplicaHighWaterMark new_highwatermark ;
struct drsuapi_DsReplicaCursorCtrEx * uptodateness_vector ; /* [unique] */
struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr ;
2008-07-16 17:26:55 +04:00
enum drsuapi_DsExtendedError extended_ret ;
2008-04-25 16:49:02 +04:00
uint32_t object_count ;
2009-01-01 06:45:33 +03:00
uint32_t __ndr_size ; /* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaObjectListItemEx * first_object ; /* [unique] */
2008-07-16 17:26:55 +04:00
uint32_t more_data ;
2008-04-25 16:49:02 +04:00
} /* [gensize,public] */ ;
/* bitmap drsuapi_DsLinkedAttributeFlags */
# define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
struct drsuapi_DsReplicaLinkedAttribute {
struct drsuapi_DsReplicaObjectIdentifier * identifier ; /* [unique] */
enum drsuapi_DsAttributeId attid ;
struct drsuapi_DsAttributeValue value ;
uint32_t flags ;
NTTIME originating_add_time ;
struct drsuapi_DsReplicaMetaData meta_data ;
} /* [public] */ ;
struct drsuapi_DsGetNCChangesCtr6 {
struct GUID source_dsa_guid ;
struct GUID source_dsa_invocation_id ;
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [unique] */
struct drsuapi_DsReplicaHighWaterMark old_highwatermark ;
struct drsuapi_DsReplicaHighWaterMark new_highwatermark ;
struct drsuapi_DsReplicaCursor2CtrEx * uptodateness_vector ; /* [unique] */
struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr ;
2008-07-16 17:26:55 +04:00
enum drsuapi_DsExtendedError extended_ret ;
2008-04-25 16:49:02 +04:00
uint32_t object_count ;
2009-01-01 06:45:33 +03:00
uint32_t __ndr_size ; /* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaObjectListItemEx * first_object ; /* [unique] */
2008-07-16 17:26:55 +04:00
uint32_t more_data ;
uint32_t nc_object_count ;
uint32_t nc_linked_attributes_count ;
2008-04-25 16:49:02 +04:00
uint32_t linked_attributes_count ; /* [range(0,1048576)] */
struct drsuapi_DsReplicaLinkedAttribute * linked_attributes ; /* [unique,size_is(linked_attributes_count)] */
2008-07-16 17:26:55 +04:00
WERROR drs_error ;
2008-04-25 16:49:02 +04:00
} /* [gensize,public] */ ;
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesCtr1TS {
struct drsuapi_DsGetNCChangesCtr1 ctr1 ; /* [subcontext(0xFFFFFC01)] */
} /* [public] */ ;
struct drsuapi_DsGetNCChangesCtr6TS {
struct drsuapi_DsGetNCChangesCtr6 ctr6 ; /* [subcontext(0xFFFFFC01)] */
} /* [public] */ ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesMSZIPCtr1 {
uint32_t decompressed_length ;
uint32_t compressed_length ;
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesCtr1TS * ts ; /* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
} /* [nopush] */ ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesMSZIPCtr6 {
uint32_t decompressed_length ;
uint32_t compressed_length ;
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesCtr6TS * ts ; /* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
} /* [nopush] */ ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesXPRESSCtr1 {
uint32_t decompressed_length ;
uint32_t compressed_length ;
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesCtr1TS * ts ; /* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
} /* [nopush] */ ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetNCChangesXPRESSCtr6 {
uint32_t decompressed_length ;
uint32_t compressed_length ;
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesCtr6TS * ts ; /* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
} /* [nopush] */ ;
2008-04-25 16:49:02 +04:00
enum drsuapi_DsGetNCChangesCompressionType
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_COMPRESSION_TYPE_MSZIP = ( int ) ( 2 ) ,
DRSUAPI_COMPRESSION_TYPE_XPRESS = ( int ) ( 3 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType = 0x7FFFFFFF }
# define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
# define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
# endif
;
union drsuapi_DsGetNCChangesCompressedCtr {
struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1 ; /* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6 ; /* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1 ; /* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6 ; /* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
} /* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */ ;
struct drsuapi_DsGetNCChangesCtr2 {
2008-10-16 16:02:26 +04:00
struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1 ;
2008-04-25 16:49:02 +04:00
} ;
struct drsuapi_DsGetNCChangesCtr7 {
int32_t level ; /* [range(0,6)] */
enum drsuapi_DsGetNCChangesCompressionType type ; /* [range(2,3)] */
union drsuapi_DsGetNCChangesCompressedCtr ctr ; /* [switch_is(level|(type<<16))] */
} ;
union drsuapi_DsGetNCChangesCtr {
struct drsuapi_DsGetNCChangesCtr1 ctr1 ; /* [case] */
struct drsuapi_DsGetNCChangesCtr2 ctr2 ; /* [case(2)] */
struct drsuapi_DsGetNCChangesCtr6 ctr6 ; /* [case(6)] */
struct drsuapi_DsGetNCChangesCtr7 ctr7 ; /* [case(7)] */
} /* [switch_type(int32)] */ ;
/* bitmap drsuapi_DsReplicaUpdateRefsOptions */
# define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
2009-09-08 05:51:27 +04:00
# define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
# define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
2009-09-08 05:51:27 +04:00
# define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
2008-04-25 16:49:02 +04:00
struct drsuapi_DsReplicaUpdateRefsRequest1 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
const char * dest_dsa_dns_name ; /* [ref,charset(DOS)] */
struct GUID dest_dsa_guid ;
uint32_t options ;
} ;
union drsuapi_DsReplicaUpdateRefsRequest {
struct drsuapi_DsReplicaUpdateRefsRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
/* bitmap drsuapi_DsReplicaAddOptions */
# define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
# define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
2009-09-11 14:14:11 +04:00
struct drsuapi_DsReplicaAddRequest1 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
const char * source_dsa_address ; /* [unique,charset(UTF16)] */
uint8_t schedule [ 84 ] ;
uint32_t options ;
} ;
struct drsuapi_DsReplicaAddRequest2 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
struct drsuapi_DsReplicaObjectIdentifier * source_dsa_dn ; /* [unique] */
struct drsuapi_DsReplicaObjectIdentifier * transport_dn ; /* [unique] */
const char * source_dsa_address ; /* [unique,charset(UTF16)] */
uint8_t schedule [ 84 ] ;
uint32_t options ;
} ;
union drsuapi_DsReplicaAddRequest {
struct drsuapi_DsReplicaAddRequest1 req1 ; /* [case] */
struct drsuapi_DsReplicaAddRequest2 req2 ; /* [case(2)] */
} /* [switch_type(int32)] */ ;
2008-04-25 16:49:02 +04:00
/* bitmap drsuapi_DsReplicaDeleteOptions */
2009-09-11 14:14:11 +04:00
# define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
# define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
struct drsuapi_DsReplicaDelRequest1 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
const char * source_dsa_address ; /* [unique,charset(UTF16)] */
uint32_t options ;
} ;
union drsuapi_DsReplicaDelRequest {
struct drsuapi_DsReplicaDelRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
2008-04-25 16:49:02 +04:00
/* bitmap drsuapi_DsReplicaModifyOptions */
2009-09-11 14:14:11 +04:00
# define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
# define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
struct drsuapi_DsReplicaModRequest1 {
struct drsuapi_DsReplicaObjectIdentifier * naming_context ; /* [ref] */
struct GUID source_dra ;
const char * source_dra_address ; /* [unique,charset(UTF16)] */
uint8_t schedule [ 84 ] ;
uint32_t replica_flags ;
uint32_t modify_fields ;
uint32_t options ;
} ;
union drsuapi_DsReplicaModRequest {
struct drsuapi_DsReplicaModRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
2008-04-25 16:49:02 +04:00
enum drsuapi_DsMembershipType
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS = ( int ) ( 1 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS = ( int ) ( 2 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS = ( int ) ( 3 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 = ( int ) ( 4 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS = ( int ) ( 5 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS = ( int ) ( 6 ) ,
DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 = ( int ) ( 7 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsMembershipType = 0x7FFFFFFF }
# define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
# define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
# endif
;
struct drsuapi_DsGetMembershipsCtr1 {
NTSTATUS status ;
uint32_t num_memberships ; /* [range(0,10000)] */
uint32_t num_sids ; /* [range(0,10000)] */
struct drsuapi_DsReplicaObjectIdentifier * * info_array ; /* [unique,size_is(num_memberships)] */
uint32_t * group_attrs ; /* [unique,size_is(num_memberships)] */
struct dom_sid28 * * sids ; /* [unique,size_is(num_sids)] */
} ;
union drsuapi_DsGetMembershipsCtr {
struct drsuapi_DsGetMembershipsCtr1 ctr1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsGetMembershipsRequest1 {
uint32_t count ; /* [range(1,10000)] */
struct drsuapi_DsReplicaObjectIdentifier * * info_array ; /* [unique,size_is(count)] */
uint32_t flags ;
enum drsuapi_DsMembershipType type ;
struct drsuapi_DsReplicaObjectIdentifier * domain ; /* [unique] */
} ;
union drsuapi_DsGetMembershipsRequest {
struct drsuapi_DsGetMembershipsRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsGetNT4ChangeLogRequest1 {
uint32_t unknown1 ;
uint32_t unknown2 ;
uint32_t length ; /* [range(0,0x00A00000)] */
uint8_t * data ; /* [unique,size_is(length)] */
} ;
union drsuapi_DsGetNT4ChangeLogRequest {
struct drsuapi_DsGetNT4ChangeLogRequest1 req1 ; /* [case] */
} /* [switch_type(uint32)] */ ;
struct drsuapi_DsGetNT4ChangeLogInfo1 {
uint32_t length1 ; /* [range(0,0x00A00000)] */
uint32_t length2 ; /* [range(0,0x00A00000)] */
uint64_t unknown1 ;
NTTIME time2 ;
uint64_t unknown3 ;
NTTIME time4 ;
uint64_t unknown5 ;
NTTIME time6 ;
NTSTATUS status ;
uint8_t * data1 ; /* [unique,size_is(length1)] */
uint8_t * data2 ; /* [unique,size_is(length2)] */
} ;
union drsuapi_DsGetNT4ChangeLogInfo {
struct drsuapi_DsGetNT4ChangeLogInfo1 info1 ; /* [case] */
} /* [switch_type(uint32)] */ ;
enum drsuapi_DsNameStatus
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_NAME_STATUS_OK = ( int ) ( 0 ) ,
DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR = ( int ) ( 1 ) ,
DRSUAPI_DS_NAME_STATUS_NOT_FOUND = ( int ) ( 2 ) ,
DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE = ( int ) ( 3 ) ,
DRSUAPI_DS_NAME_STATUS_NO_MAPPING = ( int ) ( 4 ) ,
DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY = ( int ) ( 5 ) ,
DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING = ( int ) ( 6 ) ,
DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL = ( int ) ( 7 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsNameStatus = 0x7FFFFFFF }
# define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
# define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
# define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
# define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
# define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
# define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
# define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
# define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
# endif
;
enum drsuapi_DsNameFlags
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_NAME_FLAG_NO_FLAGS = ( int ) ( 0x0 ) ,
DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY = ( int ) ( 0x1 ) ,
DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC = ( int ) ( 0x2 ) ,
DRSUAPI_DS_NAME_FLAG_GCVERIFY = ( int ) ( 0x4 ) ,
DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL = ( int ) ( 0x8 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsNameFlags = 0x7FFFFFFF }
# define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
# define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
# define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
# define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
# define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
# endif
;
enum drsuapi_DsNameFormat
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_NAME_FORMAT_UNKNOWN = ( int ) ( 0 ) ,
DRSUAPI_DS_NAME_FORMAT_FQDN_1779 = ( int ) ( 1 ) ,
DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT = ( int ) ( 2 ) ,
DRSUAPI_DS_NAME_FORMAT_DISPLAY = ( int ) ( 3 ) ,
DRSUAPI_DS_NAME_FORMAT_GUID = ( int ) ( 6 ) ,
DRSUAPI_DS_NAME_FORMAT_CANONICAL = ( int ) ( 7 ) ,
DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL = ( int ) ( 8 ) ,
DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX = ( int ) ( 9 ) ,
DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL = ( int ) ( 10 ) ,
DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY = ( int ) ( 11 ) ,
DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN = ( int ) ( 12 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsNameFormat = 0x7FFFFFFF }
2008-10-17 12:49:22 +04:00
# define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
# define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
# define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
# define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
# define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
# define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
# define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
# define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
# define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
# define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
# endif
;
struct drsuapi_DsNameString {
const char * str ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsNameRequest1 {
uint32_t codepage ;
uint32_t language ;
enum drsuapi_DsNameFlags format_flags ;
enum drsuapi_DsNameFormat format_offered ;
enum drsuapi_DsNameFormat format_desired ;
uint32_t count ; /* [range(1,10000)] */
struct drsuapi_DsNameString * names ; /* [unique,size_is(count)] */
} ;
union drsuapi_DsNameRequest {
struct drsuapi_DsNameRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsNameInfo1 {
enum drsuapi_DsNameStatus status ;
const char * dns_domain_name ; /* [unique,charset(UTF16)] */
const char * result_name ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsNameCtr1 {
uint32_t count ;
struct drsuapi_DsNameInfo1 * array ; /* [unique,size_is(count)] */
} ;
union drsuapi_DsNameCtr {
struct drsuapi_DsNameCtr1 * ctr1 ; /* [unique,case] */
} /* [switch_type(int32)] */ ;
enum drsuapi_DsSpnOperation
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_SPN_OPERATION_ADD = ( int ) ( 0 ) ,
DRSUAPI_DS_SPN_OPERATION_REPLACE = ( int ) ( 1 ) ,
DRSUAPI_DS_SPN_OPERATION_DELETE = ( int ) ( 2 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsSpnOperation = 0x7FFFFFFF }
# define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
# define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
# define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
# endif
;
struct drsuapi_DsWriteAccountSpnRequest1 {
enum drsuapi_DsSpnOperation operation ;
uint32_t unknown1 ;
const char * object_dn ; /* [unique,charset(UTF16)] */
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsNameString * spn_names ; /* [unique,size_is(count)] */
} ;
union drsuapi_DsWriteAccountSpnRequest {
struct drsuapi_DsWriteAccountSpnRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsWriteAccountSpnResult1 {
WERROR status ;
} ;
union drsuapi_DsWriteAccountSpnResult {
struct drsuapi_DsWriteAccountSpnResult1 res1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsRemoveDSServerRequest1 {
const char * server_dn ; /* [unique,charset(UTF16)] */
const char * domain_dn ; /* [unique,charset(UTF16)] */
2008-10-16 16:02:26 +04:00
uint32_t commit ;
2008-04-25 16:49:02 +04:00
} ;
union drsuapi_DsRemoveDSServerRequest {
struct drsuapi_DsRemoveDSServerRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsRemoveDSServerResult1 {
2008-10-16 16:02:26 +04:00
uint32_t last_dc_in_domain ;
2008-04-25 16:49:02 +04:00
} ;
union drsuapi_DsRemoveDSServerResult {
struct drsuapi_DsRemoveDSServerResult1 res1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsGetDCInfoRequest1 {
const char * domain_name ; /* [unique,charset(UTF16)] */
int32_t level ;
} ;
union drsuapi_DsGetDCInfoRequest {
struct drsuapi_DsGetDCInfoRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsGetDCInfo1 {
const char * netbios_name ; /* [unique,charset(UTF16)] */
const char * dns_name ; /* [unique,charset(UTF16)] */
const char * site_name ; /* [unique,charset(UTF16)] */
const char * computer_dn ; /* [unique,charset(UTF16)] */
const char * server_dn ; /* [unique,charset(UTF16)] */
uint32_t is_pdc ;
uint32_t is_enabled ;
} ;
struct drsuapi_DsGetDCInfoCtr1 {
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsGetDCInfo1 * array ; /* [unique,size_is(count)] */
} ;
struct drsuapi_DsGetDCInfo2 {
const char * netbios_name ; /* [unique,charset(UTF16)] */
const char * dns_name ; /* [unique,charset(UTF16)] */
const char * site_name ; /* [unique,charset(UTF16)] */
const char * site_dn ; /* [unique,charset(UTF16)] */
const char * computer_dn ; /* [unique,charset(UTF16)] */
const char * server_dn ; /* [unique,charset(UTF16)] */
const char * ntds_dn ; /* [unique,charset(UTF16)] */
uint32_t is_pdc ;
uint32_t is_enabled ;
uint32_t is_gc ;
struct GUID site_guid ;
struct GUID computer_guid ;
struct GUID server_guid ;
struct GUID ntds_guid ;
} ;
struct drsuapi_DsGetDCInfoCtr2 {
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsGetDCInfo2 * array ; /* [unique,size_is(count)] */
} ;
2008-05-25 02:40:08 +04:00
struct drsuapi_DsGetDCInfo3 {
const char * netbios_name ; /* [unique,charset(UTF16)] */
const char * dns_name ; /* [unique,charset(UTF16)] */
const char * site_name ; /* [unique,charset(UTF16)] */
const char * site_dn ; /* [unique,charset(UTF16)] */
const char * computer_dn ; /* [unique,charset(UTF16)] */
const char * server_dn ; /* [unique,charset(UTF16)] */
const char * ntds_dn ; /* [unique,charset(UTF16)] */
uint32_t is_pdc ;
uint32_t is_enabled ;
uint32_t is_gc ;
uint32_t is_rodc ;
struct GUID site_guid ;
struct GUID computer_guid ;
struct GUID server_guid ;
struct GUID ntds_guid ;
} ;
struct drsuapi_DsGetDCInfoCtr3 {
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsGetDCInfo3 * array ; /* [unique,size_is(count)] */
} ;
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetDCConnection01 {
const char * client_ip_address ; /* [flag(LIBNDR_FLAG_BIGENDIAN)] */
uint32_t unknown2 ;
uint32_t connection_time ;
uint32_t unknown4 ;
uint32_t unknown5 ;
uint32_t unknown6 ;
const char * client_account ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsGetDCConnectionCtr01 {
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsGetDCConnection01 * array ; /* [unique,size_is(count)] */
} ;
enum drsuapi_DsGetDCInfoCtrLevels
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DC_INFO_CTR_1 = ( int ) ( 1 ) ,
DRSUAPI_DC_INFO_CTR_2 = ( int ) ( 2 ) ,
DRSUAPI_DC_INFO_CTR_3 = ( int ) ( 3 ) ,
DRSUAPI_DC_CONNECTION_CTR_01 = ( int ) ( - 1 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels = 0x7FFFFFFF }
# define DRSUAPI_DC_INFO_CTR_1 ( 1 )
# define DRSUAPI_DC_INFO_CTR_2 ( 2 )
2008-05-25 02:40:08 +04:00
# define DRSUAPI_DC_INFO_CTR_3 ( 3 )
2008-04-25 16:49:02 +04:00
# define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
# endif
;
union drsuapi_DsGetDCInfoCtr {
struct drsuapi_DsGetDCInfoCtr1 ctr1 ; /* [case(DRSUAPI_DC_INFO_CTR_1)] */
struct drsuapi_DsGetDCInfoCtr2 ctr2 ; /* [case(DRSUAPI_DC_INFO_CTR_2)] */
2008-05-25 02:40:08 +04:00
struct drsuapi_DsGetDCInfoCtr3 ctr3 ; /* [case(DRSUAPI_DC_INFO_CTR_3)] */
2008-04-25 16:49:02 +04:00
struct drsuapi_DsGetDCConnectionCtr01 ctr01 ; /* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsReplicaObjectListItem {
struct drsuapi_DsReplicaObjectListItem * next_object ; /* [unique] */
struct drsuapi_DsReplicaObject object ;
} /* [noprint,public] */ ;
struct drsuapi_DsAddEntryRequest2 {
struct drsuapi_DsReplicaObjectListItem first_object ;
} ;
union drsuapi_DsAddEntryRequest {
struct drsuapi_DsAddEntryRequest2 req2 ; /* [case(2)] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsAddEntryErrorInfoX {
uint32_t unknown1 ;
WERROR status ;
uint32_t unknown2 ;
uint16_t unknown3 ;
} ;
struct drsuapi_DsAddEntryExtraErrorBuffer {
uint32_t size ; /* [range(0,10485760)] */
uint8_t * data ; /* [unique,size_is(size)] */
} ;
struct drsuapi_DsAddEntryExtraError1 {
struct drsuapi_DsAddEntryErrorInfoX error ;
enum drsuapi_DsAttributeId attid ;
uint32_t unknown2 ;
struct drsuapi_DsAddEntryExtraErrorBuffer buffer ;
} ;
struct drsuapi_DsAddEntryErrorListItem1 {
struct drsuapi_DsAddEntryErrorListItem1 * next ; /* [unique] */
struct drsuapi_DsAddEntryExtraError1 error ;
} ;
struct drsuapi_DsAddEntryErrorInfo1 {
struct drsuapi_DsReplicaObjectIdentifier * id ; /* [unique] */
WERROR status ;
struct drsuapi_DsAddEntryErrorListItem1 first ;
} ;
union drsuapi_DsAddEntryErrorInfo {
struct drsuapi_DsAddEntryErrorInfo1 error1 ; /* [case] */
struct drsuapi_DsAddEntryErrorInfoX errorX ; /* [case(4)] */
} /* [switch_type(uint32)] */ ;
struct drsuapi_DsAddEntryError1 {
WERROR status ;
uint32_t level ;
union drsuapi_DsAddEntryErrorInfo * info ; /* [unique,switch_is(level)] */
} ;
union drsuapi_DsAddEntryError {
struct drsuapi_DsAddEntryError1 info1 ; /* [case] */
} /* [switch_type(uint32)] */ ;
struct drsuapi_DsReplicaObjectIdentifier2 {
struct GUID guid ;
struct dom_sid28 sid ;
} ;
struct drsuapi_DsAddEntryCtr2 {
struct drsuapi_DsReplicaObjectIdentifier * id ; /* [unique] */
uint32_t unknown1 ;
struct drsuapi_DsAddEntryErrorInfoX error ;
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsReplicaObjectIdentifier2 * objects ; /* [unique,size_is(count)] */
} ;
struct drsuapi_DsAddEntryCtr3 {
struct drsuapi_DsReplicaObjectIdentifier * id ; /* [unique] */
uint32_t level ;
union drsuapi_DsAddEntryError * error ; /* [unique,switch_is(level)] */
uint32_t count ; /* [range(0,10000)] */
struct drsuapi_DsReplicaObjectIdentifier2 * objects ; /* [unique,size_is(count)] */
} ;
union drsuapi_DsAddEntryCtr {
struct drsuapi_DsAddEntryCtr2 ctr2 ; /* [case(2)] */
struct drsuapi_DsAddEntryCtr3 ctr3 ; /* [case(3)] */
} /* [switch_type(int32)] */ ;
2009-09-17 11:01:00 +04:00
/* bitmap drsuapi_DsExecuteKCCFlags */
# define DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
# define DRSUAPI_DS_EXECUTE_KCC_DAMPED ( 0x00000002 )
struct drsuapi_DsExecuteKCC1 {
uint32_t taskID ;
uint32_t flags ;
} ;
union drsuapi_DsExecuteKCCRequest {
struct drsuapi_DsExecuteKCC1 ctr1 ; /* [case] */
} /* [switch_type(uint32)] */ ;
2008-04-25 16:49:02 +04:00
enum drsuapi_DsReplicaGetInfoLevel
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_REPLICA_GET_INFO = ( int ) ( 1 ) ,
DRSUAPI_DS_REPLICA_GET_INFO2 = ( int ) ( 2 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel = 0x7FFFFFFF }
# define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
# define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
# endif
;
enum drsuapi_DsReplicaInfoType
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_REPLICA_INFO_NEIGHBORS = ( int ) ( 0 ) ,
DRSUAPI_DS_REPLICA_INFO_CURSORS = ( int ) ( 1 ) ,
DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA = ( int ) ( 2 ) ,
DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES = ( int ) ( 3 ) ,
DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES = ( int ) ( 4 ) ,
DRSUAPI_DS_REPLICA_INFO_PENDING_OPS = ( int ) ( 5 ) ,
DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA = ( int ) ( 6 ) ,
DRSUAPI_DS_REPLICA_INFO_CURSORS2 = ( int ) ( 7 ) ,
DRSUAPI_DS_REPLICA_INFO_CURSORS3 = ( int ) ( 8 ) ,
DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 = ( int ) ( 9 ) ,
DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 = ( int ) ( 10 ) ,
DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 = ( int ) ( - 2 ) ,
DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 = ( int ) ( - 4 ) ,
DRSUAPI_DS_REPLICA_INFO_CURSORS05 = ( int ) ( - 5 ) ,
DRSUAPI_DS_REPLICA_INFO_06 = ( int ) ( - 6 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsReplicaInfoType = 0x7FFFFFFF }
# define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
# define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
# define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
# define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
# define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
# define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
# define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
# define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
# define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
# define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
# define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
# define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
# define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
# define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
# define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
# endif
;
struct drsuapi_DsReplicaGetInfoRequest1 {
enum drsuapi_DsReplicaInfoType info_type ;
const char * object_dn ; /* [unique,charset(UTF16)] */
struct GUID guid1 ;
} ;
struct drsuapi_DsReplicaGetInfoRequest2 {
enum drsuapi_DsReplicaInfoType info_type ;
const char * object_dn ; /* [unique,charset(UTF16)] */
struct GUID guid1 ;
uint32_t unknown1 ;
const char * string1 ; /* [unique,charset(UTF16)] */
const char * string2 ; /* [unique,charset(UTF16)] */
uint32_t unknown2 ;
} ;
union drsuapi_DsReplicaGetInfoRequest {
struct drsuapi_DsReplicaGetInfoRequest1 req1 ; /* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
struct drsuapi_DsReplicaGetInfoRequest2 req2 ; /* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
} /* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */ ;
struct drsuapi_DsReplicaNeighbour {
const char * naming_context_dn ; /* [unique,charset(UTF16)] */
const char * source_dsa_obj_dn ; /* [unique,charset(UTF16)] */
const char * source_dsa_address ; /* [unique,charset(UTF16)] */
const char * transport_obj_dn ; /* [unique,charset(UTF16)] */
uint32_t replica_flags ;
uint32_t reserved ;
struct GUID naming_context_obj_guid ;
struct GUID source_dsa_obj_guid ;
struct GUID source_dsa_invocation_id ;
struct GUID transport_obj_guid ;
uint64_t tmp_highest_usn ;
uint64_t highest_usn ;
NTTIME last_success ;
NTTIME last_attempt ;
WERROR result_last_attempt ;
uint32_t consecutive_sync_failures ;
} ;
struct drsuapi_DsReplicaNeighbourCtr {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaNeighbour * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaCursorCtr {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaCursor * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaObjMetaData {
const char * attribute_name ; /* [unique,charset(UTF16)] */
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
uint64_t local_usn ;
} ;
struct drsuapi_DsReplicaObjMetaDataCtr {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaObjMetaData * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaKccDsaFailure {
const char * dsa_obj_dn ; /* [unique,charset(UTF16)] */
struct GUID dsa_obj_guid ;
NTTIME first_failure ;
uint32_t num_failures ;
WERROR last_result ;
} ;
struct drsuapi_DsReplicaKccDsaFailuresCtr {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaKccDsaFailure * array ; /* [size_is(count)] */
} ;
enum drsuapi_DsReplicaOpType
# ifndef USE_UINT_ENUMS
{
2009-09-17 22:28:37 +04:00
DRSUAPI_DS_REPLICA_OP_TYPE_SYNC = ( int ) ( 0 ) ,
DRSUAPI_DS_REPLICA_OP_TYPE_ADD = ( int ) ( 1 ) ,
DRSUAPI_DS_REPLICA_OP_TYPE_DELETE = ( int ) ( 2 ) ,
DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY = ( int ) ( 3 ) ,
DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS = ( int ) ( 4 )
2008-04-25 16:49:02 +04:00
}
# else
{ __donnot_use_enum_drsuapi_DsReplicaOpType = 0x7FFFFFFF }
# define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
# define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
# define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
# define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
# define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
# endif
;
union drsuapi_DsRplicaOpOptions {
uint32_t sync ; /* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
uint32_t add ; /* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
uint32_t op_delete ; /* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
uint32_t modify ; /* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
uint32_t update_refs ; /* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
uint32_t unknown ; /* [default] */
} /* [switch_type(drsuapi_DsReplicaOpType)] */ ;
struct drsuapi_DsReplicaOp {
NTTIME operation_start ;
uint32_t serial_num ;
uint32_t priority ;
enum drsuapi_DsReplicaOpType operation_type ;
union drsuapi_DsRplicaOpOptions options ; /* [switch_is(operation_type)] */
const char * nc_dn ; /* [unique,charset(UTF16)] */
const char * remote_dsa_obj_dn ; /* [unique,charset(UTF16)] */
const char * remote_dsa_address ; /* [unique,charset(UTF16)] */
struct GUID nc_obj_guid ;
struct GUID remote_dsa_obj_guid ;
} ;
struct drsuapi_DsReplicaOpCtr {
NTTIME time ;
uint32_t count ;
struct drsuapi_DsReplicaOp * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaAttrValMetaData {
const char * attribute_name ; /* [unique,charset(UTF16)] */
const char * object_dn ; /* [unique,charset(UTF16)] */
uint32_t __ndr_size_binary ; /* [value(ndr_size_DATA_BLOB(0,binary,0))] */
DATA_BLOB * binary ; /* [unique] */
NTTIME deleted ;
NTTIME created ;
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
uint64_t local_usn ;
} ;
struct drsuapi_DsReplicaAttrValMetaDataCtr {
uint32_t count ;
int32_t enumeration_context ;
struct drsuapi_DsReplicaAttrValMetaData * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaCursor2Ctr {
uint32_t count ;
int32_t enumeration_context ;
struct drsuapi_DsReplicaCursor2 * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaCursor3 {
struct GUID source_dsa_invocation_id ;
uint64_t highest_usn ;
NTTIME last_sync_success ;
const char * source_dsa_obj_dn ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsReplicaCursor3Ctr {
uint32_t count ;
int32_t enumeration_context ;
struct drsuapi_DsReplicaCursor3 * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaObjMetaData2 {
const char * attribute_name ; /* [unique,charset(UTF16)] */
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
uint64_t local_usn ;
const char * originating_dsa_dn ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsReplicaObjMetaData2Ctr {
uint32_t count ;
int32_t enumeration_context ;
struct drsuapi_DsReplicaObjMetaData2 * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaAttrValMetaData2 {
const char * attribute_name ; /* [unique,charset(UTF16)] */
const char * object_dn ; /* [unique,charset(UTF16)] */
uint32_t __ndr_size_binary ; /* [value(ndr_size_DATA_BLOB(0,binary,0))] */
DATA_BLOB * binary ; /* [unique] */
NTTIME deleted ;
NTTIME created ;
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
uint64_t local_usn ;
const char * originating_dsa_dn ; /* [unique,charset(UTF16)] */
} ;
struct drsuapi_DsReplicaAttrValMetaData2Ctr {
uint32_t count ;
int32_t enumeration_context ;
struct drsuapi_DsReplicaAttrValMetaData2 * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplicaConnection04 {
uint64_t u1 ;
uint32_t u2 ;
uint32_t u3 ;
struct GUID bind_guid ;
NTTIME bind_time ;
const char * client_ip_address ; /* [flag(LIBNDR_FLAG_BIGENDIAN)] */
uint32_t u5 ;
} ;
struct drsuapi_DsReplicaConnection04Ctr {
uint32_t count ; /* [range(0,10000)] */
uint32_t reserved ;
struct drsuapi_DsReplicaConnection04 * array ; /* [size_is(count)] */
} ;
struct drsuapi_DsReplica06 {
const char * str1 ; /* [unique,charset(UTF16)] */
uint32_t u1 ;
uint32_t u2 ;
uint32_t u3 ;
uint32_t u4 ;
uint32_t u5 ;
uint64_t u6 ;
uint32_t u7 ;
} ;
struct drsuapi_DsReplica06Ctr {
uint32_t count ; /* [range(0,256)] */
uint32_t reserved ;
struct drsuapi_DsReplica06 * array ; /* [size_is(count)] */
} ;
union drsuapi_DsReplicaInfo {
struct drsuapi_DsReplicaNeighbourCtr * neighbours ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
struct drsuapi_DsReplicaCursorCtr * cursors ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
struct drsuapi_DsReplicaObjMetaDataCtr * objmetadata ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
struct drsuapi_DsReplicaKccDsaFailuresCtr * connectfailures ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
struct drsuapi_DsReplicaKccDsaFailuresCtr * linkfailures ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
struct drsuapi_DsReplicaOpCtr * pendingops ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
struct drsuapi_DsReplicaAttrValMetaDataCtr * attrvalmetadata ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
struct drsuapi_DsReplicaCursor2Ctr * cursors2 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
struct drsuapi_DsReplicaCursor3Ctr * cursors3 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
struct drsuapi_DsReplicaObjMetaData2Ctr * objmetadata2 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
struct drsuapi_DsReplicaAttrValMetaData2Ctr * attrvalmetadata2 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
struct drsuapi_DsReplicaNeighbourCtr * neighbours02 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
struct drsuapi_DsReplicaConnection04Ctr * connections04 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
struct drsuapi_DsReplicaCursorCtrEx * cursors05 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
struct drsuapi_DsReplica06Ctr * i06 ; /* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
} /* [switch_type(drsuapi_DsReplicaInfoType)] */ ;
struct drsuapi_DsGetMemberships2Ctr1 {
uint32_t num_entries ; /* [range(0,10000)] */
struct drsuapi_DsGetMembershipsCtr1 * * ctrl_array ; /* [unique,size_is(num_entries)] */
} ;
union drsuapi_DsGetMemberships2Ctr {
struct drsuapi_DsGetMembershipsCtr1 ctr1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsGetMemberships2Request1 {
uint32_t num_req ; /* [range(1,10000)] */
struct drsuapi_DsGetMembershipsRequest1 * * req_array ; /* [unique,size_is(num_req)] */
} ;
union drsuapi_DsGetMemberships2Request {
struct drsuapi_DsGetMemberships2Request1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsSiteCostInfo {
WERROR error_code ;
uint32_t site_cost ;
} ;
struct drsuapi_QuerySitesByCostCtr1 {
uint32_t num_info ; /* [range(0,10000)] */
struct drsuapi_DsSiteCostInfo * info ; /* [unique,size_is(num_info)] */
uint32_t unknown ;
} ;
union drsuapi_QuerySitesByCostCtr {
struct drsuapi_QuerySitesByCostCtr1 ctr1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_QuerySitesByCostRequest1 {
const char * site_from ; /* [unique,charset(UTF16)] */
uint32_t num_req ; /* [range(1,10000)] */
const char * * site_to ; /* [unique,charset(UTF16),size_is(num_req)] */
uint32_t flags ;
} ;
union drsuapi_QuerySitesByCostRequest {
struct drsuapi_QuerySitesByCostRequest1 req1 ; /* [case] */
} /* [switch_type(int32)] */ ;
struct drsuapi_DsBind {
struct {
struct GUID * bind_guid ; /* [unique] */
struct drsuapi_DsBindInfoCtr * bind_info ; /* [unique] */
} in ;
struct {
struct policy_handle * bind_handle ; /* [ref] */
struct drsuapi_DsBindInfoCtr * bind_info ; /* [unique] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsUnbind {
struct {
struct policy_handle * bind_handle ; /* [ref] */
} in ;
struct {
struct policy_handle * bind_handle ; /* [ref] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsReplicaSync {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsReplicaSyncRequest req ; /* [switch_is(level)] */
} in ;
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsGetNCChanges {
struct {
struct policy_handle * bind_handle ; /* [ref] */
2008-06-10 22:50:53 +04:00
int32_t level ;
union drsuapi_DsGetNCChangesRequest * req ; /* [ref,switch_is(level)] */
2008-04-25 16:49:02 +04:00
} in ;
struct {
2008-06-10 22:50:53 +04:00
int32_t * level_out ; /* [ref] */
union drsuapi_DsGetNCChangesCtr * ctr ; /* [ref,switch_is(*level_out)] */
2008-04-25 16:49:02 +04:00
WERROR result ;
} out ;
} ;
struct drsuapi_DsReplicaUpdateRefs {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsReplicaUpdateRefsRequest req ; /* [switch_is(level)] */
} in ;
struct {
WERROR result ;
} out ;
} ;
2009-09-11 14:14:11 +04:00
struct drsuapi_DsReplicaAdd {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsReplicaAddRequest req ; /* [switch_is(level)] */
} in ;
2008-04-25 16:49:02 +04:00
struct {
WERROR result ;
} out ;
} ;
2009-09-11 14:14:11 +04:00
struct drsuapi_DsReplicaDel {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsReplicaDelRequest req ; /* [switch_is(level)] */
} in ;
2008-04-25 16:49:02 +04:00
struct {
WERROR result ;
} out ;
} ;
2009-09-11 14:14:11 +04:00
struct drsuapi_DsReplicaMod {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsReplicaModRequest req ; /* [switch_is(level)] */
} in ;
2008-04-25 16:49:02 +04:00
struct {
WERROR result ;
} out ;
} ;
struct DRSUAPI_VERIFY_NAMES {
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsGetMemberships {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsGetMembershipsRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsGetMembershipsCtr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct DRSUAPI_INTER_DOMAIN_MOVE {
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsGetNT4ChangeLog {
struct {
struct policy_handle * bind_handle ; /* [ref] */
uint32_t level ;
union drsuapi_DsGetNT4ChangeLogRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
uint32_t * level_out ; /* [ref] */
union drsuapi_DsGetNT4ChangeLogInfo * info ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsCrackNames {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsNameRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsNameCtr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsWriteAccountSpn {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsWriteAccountSpnRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsWriteAccountSpnResult * res ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsRemoveDSServer {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsRemoveDSServerRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsRemoveDSServerResult * res ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct DRSUAPI_REMOVE_DS_DOMAIN {
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsGetDomainControllerInfo {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsGetDCInfoRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsGetDCInfoCtr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct drsuapi_DsAddEntry {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsAddEntryRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsAddEntryCtr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
2009-09-17 11:01:00 +04:00
struct drsuapi_DsExecuteKCC {
struct {
struct policy_handle * bind_handle ; /* [ref] */
uint32_t level ;
union drsuapi_DsExecuteKCCRequest * req ; /* [ref,switch_is(level)] */
} in ;
2008-04-25 16:49:02 +04:00
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsReplicaGetInfo {
struct {
struct policy_handle * bind_handle ; /* [ref] */
enum drsuapi_DsReplicaGetInfoLevel level ;
union drsuapi_DsReplicaGetInfoRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
enum drsuapi_DsReplicaInfoType * info_type ; /* [ref] */
union drsuapi_DsReplicaInfo * info ; /* [ref,switch_is(*info_type)] */
WERROR result ;
} out ;
} ;
struct DRSUAPI_ADD_SID_HISTORY {
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_DsGetMemberships2 {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_DsGetMemberships2Request * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_DsGetMemberships2Ctr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
struct {
WERROR result ;
} out ;
} ;
struct DRSUAPI_GET_OBJECT_EXISTENCE {
struct {
WERROR result ;
} out ;
} ;
struct drsuapi_QuerySitesByCost {
struct {
struct policy_handle * bind_handle ; /* [ref] */
int32_t level ;
union drsuapi_QuerySitesByCostRequest * req ; /* [ref,switch_is(level)] */
} in ;
struct {
int32_t * level_out ; /* [ref] */
union drsuapi_QuerySitesByCostCtr * ctr ; /* [ref,switch_is(*level_out)] */
WERROR result ;
} out ;
} ;
# endif /* _HEADER_drsuapi */