From db22c0c5f94ecc12339efbd3950fe1c5648fde76 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 19 Dec 2003 03:59:27 +0000 Subject: added a bunch of alias functions in samr.idl based on work by Kai. (This used to be commit f740b02ac36780740700909da2bcdf672cb146cb) --- source4/librpc/idl/samr.idl | 94 ++++++++++++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 32 deletions(-) (limited to 'source4/librpc/idl/samr.idl') diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl index ec6d2f8d67..bbf1e40086 100644 --- a/source4/librpc/idl/samr.idl +++ b/source4/librpc/idl/samr.idl @@ -243,7 +243,13 @@ /************************/ /* Function 0x0e */ - NTSTATUS samr_CREATE_DOM_ALIAS(); + NTSTATUS samr_CreateDomAlias( + [in,ref] policy_handle *handle, + [in,ref] samr_Name *aliasname, + [in] uint32 access_mask, + [out,ref] policy_handle *acct_handle, + [out,ref] uint32 *rid + ); /************************/ /* Function 0x0f */ @@ -258,11 +264,6 @@ /************************/ /* Function 0x10 */ - typedef struct { - uint32 count; - [size_is(count)] dom_sid2 *sids; - } samr_Sids; - typedef struct { uint32 count; [size_is(count)] uint32 *ids; @@ -270,7 +271,7 @@ NTSTATUS samr_GetAliasMembership( [in,ref] policy_handle *handle, - [in] samr_Sids *sids, + [in,ref] lsa_SidArray *sids, [out] samr_Ids *rids ); @@ -322,10 +323,6 @@ samr_Name description; } samr_GroupInfoAll; - typedef struct { - samr_Name Name; - } samr_GroupInfoName; - typedef struct { uint32 unknown; } samr_GroupInfoX; @@ -342,10 +339,10 @@ } GroupInfo; typedef union { - [case(GroupInfoAll)] samr_GroupInfoAll all; - [case(GroupInfoName)] samr_GroupInfoName name; - [case(GroupInfoX)] samr_GroupInfoX unknown; - [case(GroupInfoDescription)] samr_GroupInfoDesciption description; + [case(GroupInfoAll)] samr_GroupInfoAll all; + [case(GroupInfoName)] samr_Name name; + [case(GroupInfoX)] samr_GroupInfoX unknown; + [case(GroupInfoDescription)] samr_Name description; } samr_GroupInfo; NTSTATUS samr_QueryGroupInfo( @@ -398,18 +395,10 @@ samr_Name description; } samr_AliasInfoAll; - typedef struct { - samr_Name name; - } samr_AliasInfoName; - - typedef struct { - samr_Name description; - } samr_AliasInfoDescription; - typedef union { [case(1)] samr_AliasInfoAll all; - [case(2)] samr_AliasInfoName name; - [case(3)] samr_AliasInfoDescription description; + [case(2)] samr_Name name; + [case(3)] samr_Name description; } samr_AliasInfo; NTSTATUS samr_QueryAliasInfo( @@ -420,23 +409,38 @@ /************************/ /* Function 0x1d */ - NTSTATUS samr_SET_ALIASINFO(); + NTSTATUS samr_SetAliasInfo( + [in,ref] policy_handle *handle, + [in] uint16 level, + [in,switch_is(level)] samr_AliasInfo info + ); /************************/ /* Function 0x1e */ - NTSTATUS samr_DELETE_DOM_ALIAS(); + NTSTATUS samr_DeleteDomAlias( + [in,out,ref] policy_handle *handle + ); /************************/ /* Function 0x1f */ - NTSTATUS samr_ADD_ALIASMEM(); + NTSTATUS samr_AddAliasMem( + [in,ref] policy_handle *handle, + [in,ref] dom_sid2 *sid + ); /************************/ /* Function 0x20 */ - NTSTATUS samr_DEL_ALIASMEM(); + NTSTATUS samr_DelAliasMem( + [in,ref] policy_handle *handle, + [in,ref] dom_sid2 *sid + ); /************************/ /* Function 0x21 */ - NTSTATUS samr_GET_MEMBERS_IN_ALIAS(); + NTSTATUS samr_GetMembersInAlias( + [in,ref] policy_handle *handle, + [out,ref] lsa_SidArray *sids + ); /************************/ /* Function 0x22 */ @@ -645,7 +649,21 @@ /************************/ /* Function 0x27 */ - NTSTATUS samr_GET_GROUPS_FOR_USER(); + + typedef struct { + uint32 rid; + uint32 type; + } samr_RidType; + + typedef struct { + uint32 count; + [size_is(count)] samr_RidType *rid; + } samr_RidArray; + + NTSTATUS samr_GetGroupsForUser( + [in,ref] policy_handle *handle, + [out] samr_RidArray *rids + ); /************************/ /* Function 0x28 */ @@ -842,7 +860,19 @@ /************************/ /* Function 0x40 */ - NTSTATUS samr_CONNECT5(); + NTSTATUS samr_Connect5( + [in] unistr *system_name, + [in] uint32 access_mask, + [in] uint32 unknown0, + [in] uint32 unknown1, + [in] uint32 unknown2, + [in] uint32 unknown3, + [out] uint32 unknown4, + [out] uint32 unknown5, + [out] uint32 unknown6, + [out] uint32 unknown7, + [out,ref] policy_handle *handle + ); /************************/ /* Function 0x41 */ -- cgit