2008-06-26 12:07:07 +02:00
/* header auto-generated by pidl */
# include <stdint.h>
# include "librpc/gen_ndr/drsuapi.h"
# include "librpc/gen_ndr/misc.h"
2008-10-18 23:54:49 +02:00
# include "librpc/gen_ndr/samr.h"
# include "librpc/gen_ndr/lsa.h"
2008-06-26 12:07:07 +02:00
# ifndef _HEADER_drsblobs
# define _HEADER_drsblobs
2008-07-23 23:02:09 +02:00
# define SUPPLEMENTAL_CREDENTIALS_PREFIX ( " " )
2008-06-26 12:07:07 +02:00
struct replPropertyMetaData1 {
enum drsuapi_DsAttributeId attid ;
uint32_t version ;
NTTIME originating_change_time ;
struct GUID originating_invocation_id ;
uint64_t originating_usn ;
uint64_t local_usn ;
} ;
struct replPropertyMetaDataCtr1 {
uint32_t count ;
uint32_t reserved ;
struct replPropertyMetaData1 * array ;
} ;
union replPropertyMetaDataCtr {
struct replPropertyMetaDataCtr1 ctr1 ; /* [case] */
} /* [nodiscriminant] */ ;
struct replPropertyMetaDataBlob {
uint32_t version ;
uint32_t reserved ;
union replPropertyMetaDataCtr ctr ; /* [switch_is(version)] */
} /* [public] */ ;
struct replUpToDateVectorCtr1 {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaCursor * cursors ;
} ;
struct replUpToDateVectorCtr2 {
uint32_t count ;
uint32_t reserved ;
struct drsuapi_DsReplicaCursor2 * cursors ;
} ;
union replUpToDateVectorCtr {
struct replUpToDateVectorCtr1 ctr1 ; /* [case] */
struct replUpToDateVectorCtr2 ctr2 ; /* [case(2)] */
} /* [nodiscriminant] */ ;
struct replUpToDateVectorBlob {
uint32_t version ;
uint32_t reserved ;
union replUpToDateVectorCtr ctr ; /* [switch_is(version)] */
} /* [public] */ ;
struct repsFromTo1OtherInfo {
uint32_t __dns_name_size ; /* [value(strlen(dns_name)+1)] */
const char * dns_name ; /* [charset(DOS)] */
} /* [gensize,public] */ ;
struct repsFromTo1 {
2009-01-01 04:45:33 +01:00
uint32_t blobsize ; /* [value(ndr_size_repsFromTo1(this,ndr->iconv_convenience,ndr->flags)+8)] */
2008-06-26 12:07:07 +02:00
uint32_t consecutive_sync_failures ;
NTTIME last_success ;
NTTIME last_attempt ;
WERROR result_last_attempt ;
struct repsFromTo1OtherInfo * other_info ; /* [relative] */
2009-01-01 04:45:33 +01:00
uint32_t other_info_length ; /* [value(ndr_size_repsFromTo1OtherInfo(other_info,ndr->iconv_convenience,ndr->flags))] */
2008-06-26 12:07:07 +02:00
uint32_t replica_flags ;
uint8_t schedule [ 84 ] ;
uint32_t reserved ;
struct drsuapi_DsReplicaHighWaterMark highwatermark ;
struct GUID source_dsa_obj_guid ;
struct GUID source_dsa_invocation_id ;
struct GUID transport_guid ;
} /* [gensize,public,flag(LIBNDR_PRINT_ARRAY_HEX)] */ ;
union repsFromTo {
struct repsFromTo1 ctr1 ; /* [case] */
} /* [nodiscriminant] */ ;
struct repsFromToBlob {
uint32_t version ;
uint32_t reserved ;
union repsFromTo ctr ; /* [switch_is(version)] */
} /* [public] */ ;
struct partialAttributeSetCtr1 {
uint32_t count ;
enum drsuapi_DsAttributeId * array ;
} ;
union partialAttributeSetCtr {
struct partialAttributeSetCtr1 ctr1 ; /* [case] */
} /* [nodiscriminant] */ ;
struct partialAttributeSetBlob {
uint32_t version ;
uint32_t reserved ;
union partialAttributeSetCtr ctr ; /* [switch_is(version)] */
} /* [public] */ ;
enum prefixMapVersion
# ifndef USE_UINT_ENUMS
{
PREFIX_MAP_VERSION_DSDB = 0x44534442
}
# else
{ __donnot_use_enum_prefixMapVersion = 0x7FFFFFFF }
# define PREFIX_MAP_VERSION_DSDB ( 0x44534442 )
# endif
;
union prefixMapCtr {
struct drsuapi_DsReplicaOIDMapping_Ctr dsdb ; /* [case(PREFIX_MAP_VERSION_DSDB)] */
} /* [nodiscriminant] */ ;
struct prefixMapBlob {
enum prefixMapVersion version ;
uint32_t reserved ;
union prefixMapCtr ctr ; /* [switch_is(version)] */
} /* [public] */ ;
union ldapControlDirSyncExtra {
struct replUpToDateVectorBlob uptodateness_vector ; /* [default] */
} /* [gensize,nodiscriminant] */ ;
struct ldapControlDirSyncBlob {
uint32_t u1 ; /* [value(3)] */
NTTIME time ;
uint32_t u2 ;
uint32_t u3 ;
2009-01-01 04:45:33 +01:00
uint32_t extra_length ; /* [value(ndr_size_ldapControlDirSyncExtra(&extra,extra.uptodateness_vector.version,ndr->iconv_convenience,0))] */
2008-06-26 12:07:07 +02:00
struct drsuapi_DsReplicaHighWaterMark highwatermark ;
struct GUID guid1 ;
union ldapControlDirSyncExtra extra ; /* [switch_is(extra_length)] */
} ;
struct ldapControlDirSyncCookie {
const char * msds ; /* [value("MSDS"),charset(DOS)] */
struct ldapControlDirSyncBlob blob ; /* [subcontext(0)] */
} /* [relative_base,public] */ ;
struct supplementalCredentialsPackage {
uint16_t name_len ; /* [value(2*strlen_m(name))] */
uint16_t data_len ; /* [value(strlen(data))] */
2008-07-23 22:42:18 +02:00
uint16_t reserved ;
2008-06-26 12:07:07 +02:00
const char * name ; /* [charset(UTF16)] */
const char * data ; /* [charset(DOS)] */
} ;
2008-07-23 23:02:09 +02:00
enum supplementalCredentialsSignature
# ifndef USE_UINT_ENUMS
{
SUPPLEMENTAL_CREDENTIALS_SIGNATURE = 0x0050
}
# else
{ __donnot_use_enum_supplementalCredentialsSignature = 0x7FFFFFFF }
# define SUPPLEMENTAL_CREDENTIALS_SIGNATURE ( 0x0050 )
# endif
;
2008-06-26 12:07:07 +02:00
struct supplementalCredentialsSubBlob {
const char * prefix ; /* [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] */
2008-07-23 23:02:09 +02:00
enum supplementalCredentialsSignature signature ; /* [value(SUPPLEMENTAL_CREDENTIALS_SIGNATURE)] */
2008-06-26 12:07:07 +02:00
uint16_t num_packages ;
struct supplementalCredentialsPackage * packages ;
} /* [gensize] */ ;
struct supplementalCredentialsBlob {
uint32_t unknown1 ; /* [value(0)] */
2009-01-01 04:45:33 +01:00
uint32_t __ndr_size ; /* [value(ndr_size_supplementalCredentialsSubBlob(&sub,ndr->iconv_convenience,ndr->flags))] */
2008-06-26 12:07:07 +02:00
uint32_t unknown2 ; /* [value(0)] */
struct supplementalCredentialsSubBlob sub ; /* [subcontext_size(__ndr_size),subcontext(0)] */
uint8_t unknown3 ; /* [value(0)] */
} /* [public] */ ;
struct package_PackagesBlob {
const char * * names ; /* [flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
} /* [public] */ ;
struct package_PrimaryKerberosString {
uint16_t length ; /* [value(2*strlen_m(string))] */
uint16_t size ; /* [value(2*strlen_m(string))] */
const char * string ; /* [relative,subcontext_size(size),subcontext(0),flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING)] */
} ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosKey3 {
2008-07-23 23:06:30 +02:00
uint16_t reserved1 ; /* [value(0)] */
uint16_t reserved2 ; /* [value(0)] */
uint32_t reserved3 ; /* [value(0)] */
2008-06-26 12:07:07 +02:00
uint32_t keytype ;
uint32_t value_len ; /* [value((value?value->length:0))] */
DATA_BLOB * value ; /* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
} ;
struct package_PrimaryKerberosCtr3 {
uint16_t num_keys ;
uint16_t num_old_keys ;
struct package_PrimaryKerberosString salt ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosKey3 * keys ;
struct package_PrimaryKerberosKey3 * old_keys ;
2008-07-23 23:06:30 +02:00
uint32_t padding1 ; /* [value(0)] */
uint32_t padding2 ; /* [value(0)] */
uint32_t padding3 ; /* [value(0)] */
uint32_t padding4 ; /* [value(0)] */
uint32_t padding5 ; /* [value(0)] */
2008-06-26 12:07:07 +02:00
} ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosKey4 {
2008-07-28 14:15:27 +02:00
uint16_t reserved1 ; /* [value(0)] */
uint16_t reserved2 ; /* [value(0)] */
uint32_t reserved3 ; /* [value(0)] */
uint32_t iteration_count ;
2008-07-23 23:10:34 +02:00
uint32_t keytype ;
uint32_t value_len ; /* [value((value?value->length:0))] */
DATA_BLOB * value ; /* [relative,subcontext_size(value_len),subcontext(0),flag(LIBNDR_FLAG_REMAINING)] */
} ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosCtr4 {
2008-07-23 23:10:34 +02:00
uint16_t num_keys ;
2008-07-28 14:15:27 +02:00
uint16_t num_service_keys ; /* [value(0)] */
uint16_t num_old_keys ;
uint16_t num_older_keys ;
2008-07-23 23:10:34 +02:00
struct package_PrimaryKerberosString salt ;
2008-07-28 14:15:27 +02:00
uint32_t default_iteration_count ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosKey4 * keys ;
struct package_PrimaryKerberosKey4 * service_keys ;
struct package_PrimaryKerberosKey4 * old_keys ;
struct package_PrimaryKerberosKey4 * older_keys ;
2008-07-23 23:10:34 +02:00
} ;
2008-07-28 14:17:11 +02:00
union package_PrimaryKerberosCtr {
struct package_PrimaryKerberosCtr3 ctr3 ; /* [case(3)] */
struct package_PrimaryKerberosCtr4 ctr4 ; /* [case(4)] */
2008-07-23 23:10:34 +02:00
} /* [nodiscriminant] */ ;
2008-07-28 14:17:11 +02:00
struct package_PrimaryKerberosBlob {
uint16_t version ;
uint16_t flags ; /* [value(0)] */
union package_PrimaryKerberosCtr ctr ; /* [switch_is(version)] */
2008-07-23 23:10:34 +02:00
} /* [public] */ ;
2008-06-26 12:07:07 +02:00
struct package_PrimaryCLEARTEXTBlob {
2008-10-18 23:54:49 +02:00
DATA_BLOB cleartext ; /* [flag(LIBNDR_FLAG_REMAINING)] */
2008-06-26 12:07:07 +02:00
} /* [public] */ ;
struct package_PrimaryWDigestHash {
uint8_t hash [ 16 ] ;
} /* [flag(LIBNDR_PRINT_ARRAY_HEX)] */ ;
struct package_PrimaryWDigestBlob {
uint16_t unknown1 ; /* [value(0x31)] */
uint8_t unknown2 ; /* [value(0x01)] */
uint8_t num_hashes ;
uint32_t unknown3 ; /* [value(0)] */
uint64_t uuknown4 ; /* [value(0)] */
struct package_PrimaryWDigestHash * hashes ;
} /* [public] */ ;
2008-10-18 23:54:49 +02:00
struct AuthInfoNone {
uint32_t size ; /* [value(0)] */
2008-06-26 12:07:07 +02:00
} ;
2008-10-18 23:54:49 +02:00
struct AuthInfoNT4Owf {
uint32_t size ; /* [value(16)] */
struct samr_Password password ;
2008-06-26 12:07:07 +02:00
} ;
2008-10-18 23:54:49 +02:00
struct AuthInfoClear {
uint32_t size ;
uint8_t * password ;
2008-06-26 12:07:07 +02:00
} ;
2008-10-18 23:54:49 +02:00
struct AuthInfoVersion {
uint32_t size ; /* [value(4)] */
uint32_t version ;
2008-06-26 12:07:07 +02:00
} ;
2008-10-18 23:54:49 +02:00
union AuthInfo {
struct AuthInfoNone none ; /* [case(TRUST_AUTH_TYPE_NONE)] */
struct AuthInfoNT4Owf nt4owf ; /* [case(TRUST_AUTH_TYPE_NT4OWF)] */
struct AuthInfoClear clear ; /* [case(TRUST_AUTH_TYPE_CLEAR)] */
struct AuthInfoVersion version ; /* [case(TRUST_AUTH_TYPE_VERSION)] */
2008-06-26 12:07:07 +02:00
} /* [nodiscriminant] */ ;
2008-10-18 23:54:49 +02:00
struct AuthenticationInformation {
NTTIME LastUpdateTime ;
enum lsa_TrustAuthType AuthType ;
union AuthInfo AuthInfo ; /* [switch_is(AuthType)] */
DATA_BLOB _pad ; /* [flag(LIBNDR_FLAG_ALIGN4)] */
2008-06-26 12:07:07 +02:00
} /* [public] */ ;
2008-10-18 23:54:49 +02:00
struct AuthenticationInformationArray {
struct AuthenticationInformation * array ; /* [size_is] */
} /* [noprint,nopush,nopull] */ ;
struct trustAuthInOutBlob {
uint32_t count ;
struct AuthenticationInformationArray * current ; /* [relative] */
struct AuthenticationInformationArray * previous ; /* [relative] */
} /* [noprint,gensize,nopull,public,nopush] */ ;
struct trustCurrentPasswords {
uint32_t count ;
struct AuthenticationInformation * * current ; /* [relative] */
} /* [gensize,public] */ ;
struct trustDomainPasswords {
uint8_t confounder [ 512 ] ;
struct trustCurrentPasswords outgoing ; /* [subcontext_size(outgoing_size),subcontext(0)] */
struct trustCurrentPasswords incoming ; /* [subcontext_size(incoming_size),subcontext(0)] */
2009-01-01 04:45:33 +01:00
uint32_t outgoing_size ; /* [value(ndr_size_trustCurrentPasswords(&outgoing,ndr->iconv_convenience,ndr->flags))] */
uint32_t incoming_size ; /* [value(ndr_size_trustCurrentPasswords(&incoming,ndr->iconv_convenience,ndr->flags))] */
2008-10-18 23:54:49 +02:00
} /* [public,nopull] */ ;
2008-06-26 12:07:07 +02:00
struct DsCompressedChunk {
uint32_t marker ;
DATA_BLOB data ;
} /* [public] */ ;
2008-10-18 23:54:49 +02:00
struct ExtendedErrorAString {
uint16_t __size ;
const char * string ; /* [unique,charset(DOS),size_is(__size)] */
} ;
struct ExtendedErrorUString {
uint16_t __size ;
const char * string ; /* [unique,charset(UTF16),size_is(__size)] */
} ;
struct ExtendedErrorBlob {
uint16_t length ;
uint8_t * data ; /* [unique,size_is(length)] */
} ;
enum ExtendedErrorComputerNamePresent
# ifndef USE_UINT_ENUMS
{
EXTENDED_ERROR_COMPUTER_NAME_PRESENT = 1 ,
EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT = 2
}
# else
{ __donnot_use_enum_ExtendedErrorComputerNamePresent = 0x7FFFFFFF }
# define EXTENDED_ERROR_COMPUTER_NAME_PRESENT ( 1 )
# define EXTENDED_ERROR_COMPUTER_NAME_NOT_PRESENT ( 2 )
# endif
;
union ExtendedErrorComputerNameU {
struct ExtendedErrorUString name ; /* [case(EXTENDED_ERROR_COMPUTER_NAME_PRESENT)] */
} /* [switch_type(ExtendedErrorComputerNamePresent)] */ ;
struct ExtendedErrorComputerName {
enum ExtendedErrorComputerNamePresent present ;
union ExtendedErrorComputerNameU n ; /* [switch_is(present)] */
} ;
enum ExtendedErrorParamType
# ifndef USE_UINT_ENUMS
{
EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING = 1 ,
EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING = 2 ,
EXTENDED_ERROR_PARAM_TYPE_UINT32 = 3 ,
EXTENDED_ERROR_PARAM_TYPE_UINT16 = 4 ,
EXTENDED_ERROR_PARAM_TYPE_UINT64 = 5 ,
EXTENDED_ERROR_PARAM_TYPE_NONE = 6 ,
EXTENDED_ERROR_PARAM_TYPE_BLOB = 7
}
# else
{ __donnot_use_enum_ExtendedErrorParamType = 0x7FFFFFFF }
# define EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING ( 1 )
# define EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING ( 2 )
# define EXTENDED_ERROR_PARAM_TYPE_UINT32 ( 3 )
# define EXTENDED_ERROR_PARAM_TYPE_UINT16 ( 4 )
# define EXTENDED_ERROR_PARAM_TYPE_UINT64 ( 5 )
# define EXTENDED_ERROR_PARAM_TYPE_NONE ( 6 )
# define EXTENDED_ERROR_PARAM_TYPE_BLOB ( 7 )
# endif
;
union ExtendedErrorParamU {
struct ExtendedErrorAString a_string ; /* [case(EXTENDED_ERROR_PARAM_TYPE_ASCII_STRING)] */
struct ExtendedErrorUString u_string ; /* [case(EXTENDED_ERROR_PARAM_TYPE_UNICODE_STRING)] */
uint32_t uint32 ; /* [case(EXTENDED_ERROR_PARAM_TYPE_UINT32)] */
uint16_t uint16 ; /* [case(EXTENDED_ERROR_PARAM_TYPE_UINT16)] */
uint64_t uint64 ; /* [case(EXTENDED_ERROR_PARAM_TYPE_UINT64)] */
struct ExtendedErrorBlob blob ; /* [case(EXTENDED_ERROR_PARAM_TYPE_BLOB)] */
} /* [switch_type(ExtendedErrorParamType)] */ ;
struct ExtendedErrorParam {
enum ExtendedErrorParamType type ;
union ExtendedErrorParamU p ; /* [switch_is(type)] */
} ;
struct ExtendedErrorInfo {
struct ExtendedErrorInfo * next ; /* [unique] */
struct ExtendedErrorComputerName computer_name ;
uint64_t pid ;
NTTIME time ;
uint32_t generating_component ;
WERROR status ;
uint16_t detection_location ;
uint16_t flags ;
uint16_t num_params ;
struct ExtendedErrorParam * params ; /* [size_is(num_params)] */
2008-06-26 12:07:07 +02:00
} /* [public] */ ;
2008-10-18 23:54:49 +02:00
struct ExtendedErrorInfoPtr {
struct ExtendedErrorInfo * info ; /* [unique] */
} ;
2008-06-26 12:07:07 +02:00
struct decode_replPropertyMetaData {
struct {
struct replPropertyMetaDataBlob blob ;
} in ;
} ;
struct decode_replUpToDateVector {
struct {
struct replUpToDateVectorBlob blob ;
} in ;
} ;
struct decode_repsFromTo {
struct {
struct repsFromToBlob blob ;
} in ;
} ;
struct decode_partialAttributeSet {
struct {
struct partialAttributeSetBlob blob ;
} in ;
} ;
struct decode_prefixMap {
struct {
struct prefixMapBlob blob ;
} in ;
} ;
struct decode_ldapControlDirSync {
struct {
struct ldapControlDirSyncCookie cookie ;
} in ;
} ;
struct decode_supplementalCredentials {
struct {
struct supplementalCredentialsBlob blob ;
} in ;
} ;
struct decode_Packages {
struct {
struct package_PackagesBlob blob ;
} in ;
} ;
struct decode_PrimaryKerberos {
struct {
struct package_PrimaryKerberosBlob blob ;
} in ;
} ;
struct decode_PrimaryCLEARTEXT {
struct {
struct package_PrimaryCLEARTEXTBlob blob ;
} in ;
} ;
struct decode_PrimaryWDigest {
struct {
struct package_PrimaryWDigestBlob blob ;
} in ;
} ;
struct decode_trustAuthInOut {
struct {
struct trustAuthInOutBlob blob ;
} in ;
} ;
2008-10-18 23:54:49 +02:00
struct decode_trustDomainPasswords {
struct {
struct trustDomainPasswords blob ;
} in ;
} ;
struct decode_ExtendedErrorInfo {
2008-06-26 12:07:07 +02:00
struct {
2008-10-18 23:54:49 +02:00
struct ExtendedErrorInfoPtr ptr ; /* [subcontext(0xFFFFFC01)] */
2008-06-26 12:07:07 +02:00
} in ;
} ;
# endif /* _HEADER_drsblobs */