From 85160e654e5a1fc4fcb0d6cecc5187cc3b62f6d7 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Sat, 11 Feb 2006 05:36:27 +0000 Subject: r13458: Add parsing functions - but stub internals for lookupnames3 and 4. Jeremy. (This used to be commit f1a362580ae37730dc8393a79f832aed5d0ea4be) --- source3/include/rpc_lsa.h | 79 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 2 deletions(-) (limited to 'source3/include/rpc_lsa.h') diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h index 73ce496788..493ac1ab00 100644 --- a/source3/include/rpc_lsa.h +++ b/source3/include/rpc_lsa.h @@ -528,7 +528,7 @@ typedef struct lsa_q_lookup_names uint32 num_trans_entries; uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */ - uint32 lookup_level; + uint16 lookup_level; uint32 mapped_count; } LSA_Q_LOOKUP_NAMES; @@ -560,7 +560,7 @@ typedef struct lsa_q_lookup_names2 uint32 num_trans_entries; uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */ - uint32 lookup_level; + uint16 lookup_level; uint32 mapped_count; uint32 unknown1; uint32 unknown2; @@ -583,6 +583,81 @@ typedef struct lsa_r_lookup_names2 NTSTATUS status; /* return code */ } LSA_R_LOOKUP_NAMES2; +/* LSA_Q_LOOKUP_NAMES3 - LSA Lookup NAMEs 3 */ +typedef struct lsa_q_lookup_names3 +{ + POLICY_HND pol; /* policy handle */ + uint32 num_entries; + uint32 num_entries2; + UNIHDR *hdr_name; /* name buffer pointers */ + UNISTR2 *uni_name; /* names to be looked up */ + + uint32 num_trans_entries; + uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */ + uint16 lookup_level; + uint32 mapped_count; + uint32 unknown1; + uint32 unknown2; + +} LSA_Q_LOOKUP_NAMES3; + +/* Sid type used in lookupnames3 and lookupnames4. */ +typedef struct lsa_translatedsid3 { + uint8 sid_type; + DOM_SID2 *sid2; + uint32 sid_idx; + uint32 unknown; +} LSA_TRANSLATED_SID3; + +/* LSA_R_LOOKUP_NAMES3 - response to LSA Lookup NAMEs by name 3 */ +typedef struct lsa_r_lookup_names3 +{ + uint32 ptr_dom_ref; + DOM_R_REF *dom_ref; /* domain reference info */ + + uint32 num_entries; + uint32 ptr_entries; + uint32 num_entries2; + LSA_TRANSLATED_SID3 *trans_sids; + + uint32 mapped_count; + + NTSTATUS status; /* return code */ +} LSA_R_LOOKUP_NAMES3; + +/* LSA_Q_LOOKUP_NAMES4 - LSA Lookup NAMEs 4 */ +typedef struct lsa_q_lookup_names4 +{ + uint32 num_entries; + uint32 num_entries2; + UNIHDR *hdr_name; /* name buffer pointers */ + UNISTR2 *uni_name; /* names to be looked up */ + + uint32 num_trans_entries; + uint32 ptr_trans_sids; /* undocumented domain SID buffer pointer */ + uint16 lookup_level; + uint32 mapped_count; + uint32 unknown1; + uint32 unknown2; + +} LSA_Q_LOOKUP_NAMES4; + +/* LSA_R_LOOKUP_NAMES3 - response to LSA Lookup NAMEs by name 4 */ +typedef struct lsa_r_lookup_names4 +{ + uint32 ptr_dom_ref; + DOM_R_REF *dom_ref; /* domain reference info */ + + uint32 num_entries; + uint32 ptr_entries; + uint32 num_entries2; + LSA_TRANSLATED_SID3 *trans_sids; + + uint32 mapped_count; + + NTSTATUS status; /* return code */ +} LSA_R_LOOKUP_NAMES4; + typedef struct lsa_enum_priv_entry { UNIHDR hdr_name; -- cgit