summaryrefslogtreecommitdiff
path: root/source3/groupdb/mapping.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/groupdb/mapping.h')
-rw-r--r--source3/groupdb/mapping.h33
1 files changed, 19 insertions, 14 deletions
diff --git a/source3/groupdb/mapping.h b/source3/groupdb/mapping.h
index 9daaa7fdd7..29e8ad5ffa 100644
--- a/source3/groupdb/mapping.h
+++ b/source3/groupdb/mapping.h
@@ -10,17 +10,22 @@
*/
#define MEMBEROF_PREFIX "MEMBEROF/"
-/* internal prototypes */
-BOOL enum_group_mapping(const DOM_SID *domsid, enum lsa_SidType sid_name_use, GROUP_MAP **pp_rmap,
- size_t *p_num_entries, BOOL unix_only);
-BOOL group_map_remove(const DOM_SID *sid);
-BOOL init_group_mapping(void);
-NTSTATUS one_alias_membership(const DOM_SID *member,
- DOM_SID **sids, size_t *num);
-BOOL get_group_map_from_sid(DOM_SID sid, GROUP_MAP *map);
-BOOL get_group_map_from_gid(gid_t gid, GROUP_MAP *map);
-BOOL get_group_map_from_ntname(const char *name, GROUP_MAP *map);
-BOOL add_mapping_entry(GROUP_MAP *map, int flag);
-NTSTATUS add_aliasmem(const DOM_SID *alias, const DOM_SID *member);
-NTSTATUS del_aliasmem(const DOM_SID *alias, const DOM_SID *member);
-NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num);
+/*
+ groupdb mapping backend abstraction
+ */
+struct mapping_backend {
+ BOOL (*init_group_mapping)(void);
+ BOOL (*add_mapping_entry)(GROUP_MAP *map, int flag);
+ BOOL (*get_group_map_from_sid)(DOM_SID sid, GROUP_MAP *map);
+ BOOL (*get_group_map_from_gid)(gid_t gid, GROUP_MAP *map);
+ BOOL (*get_group_map_from_ntname)(const char *name, GROUP_MAP *map);
+ BOOL (*group_map_remove)(const DOM_SID *sid);
+ BOOL (*enum_group_mapping)(const DOM_SID *domsid, enum lsa_SidType sid_name_use,
+ GROUP_MAP **pp_rmap,
+ size_t *p_num_entries, BOOL unix_only);
+ NTSTATUS (*one_alias_membership)(const DOM_SID *member,
+ DOM_SID **sids, size_t *num);
+ NTSTATUS (*add_aliasmem)(const DOM_SID *alias, const DOM_SID *member);
+ NTSTATUS (*del_aliasmem)(const DOM_SID *alias, const DOM_SID *member);
+ NTSTATUS (*enum_aliasmem)(const DOM_SID *alias, DOM_SID **sids, size_t *num);
+};