+++ /dev/null
-#include "idl_types.h"
-
-[
- uuid("38578646-4566-4564-2244-275796345667"),
- version(0.0),
- helpstring("Active Directory Replication LDAP Blobs")
-]
-interface drsblobs {
- /*
- * replPropertyMetaData
- * w2k uses version 1
- * w2k3 uses version 1
- */
- typedef struct {
- uint32 attribute_id;
- uint32 version;
- NTTIME_1sec orginating_time;
- GUID orginating_dsa; /* the 'invocationId' ? */
- hyper orginating_usn;
- hyper local_usn;
- } replPropertyMetaData1;
-
- typedef struct {
- uint32 count;
- uint32 reserved;
- replPropertyMetaData1 array[count];
- } replPropertyMetaDataCtr1;
-
- typedef [nodiscriminant] union {
- [case(1)] replPropertyMetaDataCtr1 ctr1;
- } replPropertyMetaDataCtr;
-
- typedef [public] struct {
- uint32 version;
- uint32 reserved;
- [switch_is(version)] replPropertyMetaDataCtr ctr;
- } replPropertyMetaDataBlob;
-
- void decode_replPropertyMetaData(
- [in] replPropertyMetaDataBlob blob
- );
-
- /*
- * replUpToDateVector
- * w2k uses version 1
- * w2k3 uses version 2
- */
- typedef struct {
- GUID invocation_id_guid; /* the 'invocationId' field of the CN=NTDS Settings object */
- hyper highest_usn; /* updated after a full replication cycle */
- } replUpToDateVector1;
-
- typedef struct {
- uint32 count;
- uint32 reserved;
- replUpToDateVector1 array[count];
- } replUpToDateVectorCtr1;
-
- typedef struct {
- GUID invocation_id_guid; /* the 'invocationId' field of the CN=NTDS Settings object */
- hyper highest_usn; /* updated after a full replication cycle */
- NTTIME_1sec last_success;
- } replUpToDateVector2;
-
- typedef struct {
- uint32 count;
- uint32 reserved;
- replUpToDateVector2 array[count];
- } replUpToDateVectorCtr2;
-
- typedef [nodiscriminant] union {
- [case(1)] replUpToDateVectorCtr1 ctr1;
- [case(2)] replUpToDateVectorCtr2 ctr2;
- } replUpToDateVectorCtr;
-
- typedef [public] struct {
- uint32 version;
- uint32 reserved;
- [switch_is(version)] replUpToDateVectorCtr ctr;
- } replUpToDateVectorBlob;
-
- void decode_replUpToDateVector(
- [in] replUpToDateVectorBlob blob
- );
-
- /*
- * repsFrom/repsTo
- * w2k uses version 1
- * w2k3 uses version 1
- */
- typedef [gensize] struct {
- asclstr dns_name;
- } repsFromTo1OtherInfo;
-
- typedef [gensize,flag(NDR_PAHEX)] struct {
- /* this includes the 8 bytes of the repsFromToBlob header */
- [value(ndr_size_repsFromTo1(r, ndr->flags)+8)] uint32 blobsize;
- uint32 consecutive_sync_failures;
- NTTIME_1sec last_success;
- NTTIME_1sec last_attempt;
- WERROR result_last_attempt;
- [relative,length_is(other_info_length)] repsFromTo1OtherInfo *other_info;
- [value(ndr_size_repsFromTo1OtherInfo(r->other_info, ndr->flags))] uint32 other_info_length;
- uint32 replica_flags;
- uint8 schedule[84];
- uint32 reserved;
- hyper tmp_highest_usn; /* updated after each object update */
- hyper reserved_usn;
- hyper highest_usn; /* updated after a full replication cycle */
- GUID source_dsa_obj_guid; /* the 'objectGuid' field of the CN=NTDS Settings object */
- GUID source_dsa_invocation_id; /* the 'invocationId' field of the CN=NTDS Settings object */
- GUID transport_guid;
- } repsFromTo1;
-
- typedef [nodiscriminant] union {
- [case(1)] repsFromTo1 ctr1;
- } repsFromTo;
-
- typedef [public] struct {
- uint32 version;
- uint32 reserved;
- [switch_is(version)] repsFromTo ctr;
- } repsFromToBlob;
-
- void decode_repsFromTo(
- [in] repsFromToBlob blob
- );
-}