summaryrefslogtreecommitdiff
path: root/source3/groupdb/mapping.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-06-04 01:51:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:23:06 -0500
commit248a82c0f28a5e1df957726558b795cf98d29097 (patch)
treedc9fce8fdce6f3c459475d8f370624c1b9e360e0 /source3/groupdb/mapping.h
parentc48b95d4973432a7689b2133db64c02879f253c4 (diff)
downloadsamba-248a82c0f28a5e1df957726558b795cf98d29097.tar.gz
samba-248a82c0f28a5e1df957726558b795cf98d29097.tar.bz2
samba-248a82c0f28a5e1df957726558b795cf98d29097.zip
r23323: merged ldb changes from 3.0.26
(This used to be commit 7c9a5c2a3f012a06e9550dc0de7df460c2fd943b)
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);
+};