typedef [v1_enum] enum {
WINBIND_LOOKUP_LEVEL_SID2NAME = 1,
- WINBIND_LOOKUP_LEVEL_NAME2SID = 2
+ WINBIND_LOOKUP_LEVEL_NAME2SID = 2,
+ WINBIND_LOOKUP_LEVEL_RIDS2NAMES = 3
} winbind_lookup_level;
+ struct winbind_lookup_req_rids {
+/*TODO [ref]*/ dom_sid *domain_sid;
+ uint32 num_rids;
+ uint32 rids[num_rids];
+ };
+
typedef [switch_type(winbind_lookup_level)] union {
[case(WINBIND_LOOKUP_LEVEL_SID2NAME)]
/*TODO [ref]*/ dom_sid *sid;
[case(WINBIND_LOOKUP_LEVEL_NAME2SID)]
[string,charset(UTF8)] uint8 name[];
+ [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)]
+ struct winbind_lookup_req_rids rids;
[default];
} winbind_lookup_req;
lsa_SidType type;
};
+ struct winbind_lookup_name_info_array {
+ uint32 num_names;
+ struct winbind_lookup_name_info names[num_names];
+ };
+
typedef [switch_type(winbind_lookup_level)] union {
[case(WINBIND_LOOKUP_LEVEL_SID2NAME)]
struct winbind_lookup_name_info name_info;
[case(WINBIND_LOOKUP_LEVEL_NAME2SID)]
struct winbind_lookup_sid_info sid_info;
+ [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)]
+ struct winbind_lookup_name_info_array name_array;
[default];
} winbind_lookup_rep;