From d7d7613e31b010bc764616b3ea1d75f0c8c90235 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 11 Sep 2009 20:14:11 +1000 Subject: s4-idl: added the IDL for the DsReplica* calls --- librpc/idl/drsuapi.idl | 76 +++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 7 deletions(-) (limited to 'librpc/idl/drsuapi.idl') diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl index e5d25362bf..4ca7e568f3 100644 --- a/librpc/idl/drsuapi.idl +++ b/librpc/idl/drsuapi.idl @@ -751,26 +751,88 @@ interface drsuapi /* TODO ... */ } drsuapi_DsReplicaAddOptions; - [todo] WERROR DRSUAPI_REPLICA_ADD(); + + typedef struct { + [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; + [charset(UTF16),string] uint16 *source_dsa_address; + uint8 schedule[84]; + drsuapi_DsReplicaAddOptions options; + } drsuapi_DsReplicaAddRequest1; + + typedef struct { + [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; + drsuapi_DsReplicaObjectIdentifier *source_dsa_dn; + drsuapi_DsReplicaObjectIdentifier *transport_dn; + [charset(UTF16),string] uint16 *source_dsa_address; + uint8 schedule[84]; + drsuapi_DsReplicaAddOptions options; + } drsuapi_DsReplicaAddRequest2; + + typedef [switch_type(int32)] union { + [case(1)] drsuapi_DsReplicaAddRequest1 req1; + [case(2)] drsuapi_DsReplicaAddRequest2 req2; + } drsuapi_DsReplicaAddRequest; + + WERROR drsuapi_DsReplicaAdd( + [in] policy_handle *bind_handle, + [in] int32 level, + [in,switch_is(level)] drsuapi_DsReplicaAddRequest req + ); + /*****************/ /* Function 0x06 */ typedef bitmap { - DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION = 0x00000001, - DRSUAPI_DS_REPLICA_DELETE_WRITEABLE = 0x00000002 + DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION = 0x00000001, + DRSUAPI_DS_REPLICA_ADD_WRITEABLE = 0x00000002 /* TODO ... */ } drsuapi_DsReplicaDeleteOptions; - [todo] WERROR DRSUAPI_REPLICA_DEL(); + + typedef struct { + [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; + [charset(UTF16),string] uint16 *source_dsa_address; + drsuapi_DsReplicaDeleteOptions options; + } drsuapi_DsReplicaDelRequest1; + + typedef [switch_type(int32)] union { + [case(1)] drsuapi_DsReplicaDelRequest1 req1; + } drsuapi_DsReplicaDelRequest; + + WERROR drsuapi_DsReplicaDel( + [in] policy_handle *bind_handle, + [in] int32 level, + [in,switch_is(level)] drsuapi_DsReplicaDelRequest req + ); /*****************/ /* Function 0x07 */ typedef bitmap { - DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION = 0x00000001, - DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE = 0x00000002 + DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION = 0x00000001, + DRSUAPI_DS_REPLICA_ADD_WRITEABLE = 0x00000002 + /* TODO ... */ } drsuapi_DsReplicaModifyOptions; - [todo] WERROR DRSUAPI_REPLICA_MODIFY(); + + typedef struct { + [ref] drsuapi_DsReplicaObjectIdentifier *naming_context; + GUID source_dra; + [charset(UTF16),string] uint16 *source_dra_address; + uint8 schedule[84]; + uint32 replica_flags; + uint32 modify_fields; + drsuapi_DsReplicaModifyOptions options; + } drsuapi_DsReplicaModRequest1; + + typedef [switch_type(int32)] union { + [case(1)] drsuapi_DsReplicaModRequest1 req1; + } drsuapi_DsReplicaModRequest; + + WERROR drsuapi_DsReplicaMod( + [in] policy_handle *bind_handle, + [in] int32 level, + [in,switch_is(level)] drsuapi_DsReplicaModRequest req + ); /*****************/ /* Function 0x08 */ -- cgit