diff options
Diffstat (limited to 'source/include/rpc_lsa.h')
-rw-r--r-- | source/include/rpc_lsa.h | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/source/include/rpc_lsa.h b/source/include/rpc_lsa.h index a0d78280c20..8eaf68a234d 100644 --- a/source/include/rpc_lsa.h +++ b/source/include/rpc_lsa.h @@ -1,9 +1,10 @@ /* Unix SMB/CIFS implementation. SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1997 - Copyright (C) Luke Kenneth Casson Leighton 1996-1997 - Copyright (C) Paul Ashton 1997 + Copyright (C) Andrew Tridgell 1992-1997 + Copyright (C) Luke Kenneth Casson Leighton 1996-1997 + Copyright (C) Paul Ashton 1997 + Copyright (C) Gerald (Jerry) Carter 2005 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,7 +69,7 @@ #define LSA_LOOKUPPRIVNAME 0x20 #define LSA_PRIV_GET_DISPNAME 0x21 #define LSA_DELETEOBJECT 0x22 -#define LSA_ENUMACCTWITHRIGHT 0x23 +#define LSA_ENUMACCTWITHRIGHT 0x23 /* TODO: implement this one -- jerry */ #define LSA_ENUMACCTRIGHTS 0x24 #define LSA_ADDACCTRIGHTS 0x25 #define LSA_REMOVEACCTRIGHTS 0x26 @@ -305,32 +306,33 @@ typedef struct lsa_r_query_info2 NTSTATUS status; } LSA_R_QUERY_INFO2; -/* LSA_Q_ENUM_TRUST_DOM - LSA enumerate trusted domains */ -typedef struct lsa_enum_trust_dom_info -{ - POLICY_HND pol; /* policy handle */ - uint32 enum_context; /* enumeration context handle */ - uint32 preferred_len; /* preferred maximum length */ +/*******************************************************/ +typedef struct { + POLICY_HND pol; + uint32 enum_context; + uint32 preferred_len; /* preferred maximum length */ } LSA_Q_ENUM_TRUST_DOM; -/* LSA_R_ENUM_TRUST_DOM - response to LSA enumerate trusted domains */ -typedef struct lsa_r_enum_trust_dom_info -{ - uint32 enum_context; /* enumeration context handle */ - uint32 num_domains; /* number of domains */ - uint32 ptr_enum_domains; /* buffer pointer to num domains */ - - /* this lot is only added if ptr_enum_domains is non-NULL */ - uint32 num_domains2; /* number of domains */ - UNIHDR2 *hdr_domain_name; - UNISTR2 *uni_domain_name; - DOM_SID2 *domain_sid; +typedef struct { + UNISTR4 name; + DOM_SID2 *sid; +} DOMAIN_INFO; - NTSTATUS status; /* return code */ +typedef struct { + uint32 count; + DOMAIN_INFO *domains; +} DOMAIN_LIST; +typedef struct { + uint32 enum_context; + uint32 count; + DOMAIN_LIST *domlist; + NTSTATUS status; } LSA_R_ENUM_TRUST_DOM; +/*******************************************************/ + /* LSA_Q_CLOSE */ typedef struct lsa_q_close_info { @@ -423,7 +425,7 @@ typedef struct lsa_q_lookup_sids POLICY_HND pol; /* policy handle */ LSA_SID_ENUM sids; LSA_TRANS_NAME_ENUM names; - LOOKUP_LEVEL level; + uint16 level; uint32 mapped_count; } LSA_Q_LOOKUP_SIDS; @@ -532,7 +534,7 @@ typedef struct typedef struct { uint32 count; - UNISTR2_ARRAY rights; + UNISTR4_ARRAY *rights; NTSTATUS status; } LSA_R_ENUM_ACCT_RIGHTS; @@ -542,8 +544,8 @@ typedef struct { POLICY_HND pol; /* policy handle */ DOM_SID2 sid; - UNISTR2_ARRAY rights; uint32 count; + UNISTR4_ARRAY *rights; } LSA_Q_ADD_ACCT_RIGHTS; /* LSA_R_ADD_ACCT_RIGHTS - LSA add account rights */ @@ -559,8 +561,8 @@ typedef struct POLICY_HND pol; /* policy handle */ DOM_SID2 sid; uint32 removeall; - UNISTR2_ARRAY rights; uint32 count; + UNISTR4_ARRAY *rights; } LSA_Q_REMOVE_ACCT_RIGHTS; /* LSA_R_REMOVE_ACCT_RIGHTS - LSA remove account rights */ |