1 #define DATABASE_VERSION_V1 1 /* native byte format. */
2 #define DATABASE_VERSION_V2 2 /* le format. */
4 #define GROUP_PREFIX "UNIXGROUP/"
6 /* Alias memberships are stored reverse, as memberships. The performance
7 * critical operation is to determine the aliases a SID is member of, not
8 * listing alias members. So we store a list of alias SIDs a SID is member of
9 * hanging of the member as key.
11 #define MEMBEROF_PREFIX "MEMBEROF/"
13 /* internal prototypes */
14 BOOL
enum_group_mapping(const DOM_SID
*domsid
, enum lsa_SidType sid_name_use
, GROUP_MAP
**pp_rmap
,
15 size_t *p_num_entries
, BOOL unix_only
);
16 BOOL
group_map_remove(const DOM_SID
*sid
);
17 BOOL
init_group_mapping(void);
18 NTSTATUS
one_alias_membership(const DOM_SID
*member
,
19 DOM_SID
**sids
, size_t *num
);
20 BOOL
get_group_map_from_sid(DOM_SID sid
, GROUP_MAP
*map
);
21 BOOL
get_group_map_from_gid(gid_t gid
, GROUP_MAP
*map
);
22 BOOL
get_group_map_from_ntname(const char *name
, GROUP_MAP
*map
);
23 BOOL
add_mapping_entry(GROUP_MAP
*map
, int flag
);
24 NTSTATUS
add_aliasmem(const DOM_SID
*alias
, const DOM_SID
*member
);
25 NTSTATUS
del_aliasmem(const DOM_SID
*alias
, const DOM_SID
*member
);
26 NTSTATUS
enum_aliasmem(const DOM_SID
*alias
, DOM_SID
**sids
, size_t *num
);