summaryrefslogtreecommitdiffstats
path: root/source/include/idmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/include/idmap.h')
-rw-r--r--source/include/idmap.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/include/idmap.h b/source/include/idmap.h
index 80bd541a23f..f4926f1e5c4 100644
--- a/source/include/idmap.h
+++ b/source/include/idmap.h
@@ -42,16 +42,24 @@ struct idmap_domain {
BOOL readonly;
void *private_data;
struct idmap_methods *methods;
+ BOOL initialized;
+ const char *params;
};
/* Filled out by IDMAP backends */
struct idmap_methods {
/* Called when backend is first loaded */
- NTSTATUS (*init)(struct idmap_domain *dom, const char *compat_params);
+ NTSTATUS (*init)(struct idmap_domain *dom);
+ /* Map an array of uids/gids to SIDs. The caller specifies
+ the uid/gid and type. Gets back the SID. */
NTSTATUS (*unixids_to_sids)(struct idmap_domain *dom, struct id_map **ids);
+
+ /* Map an arry of SIDs to uids/gids. The caller sets the SID
+ and type and gets back a uid or gid. */
NTSTATUS (*sids_to_unixids)(struct idmap_domain *dom, struct id_map **ids);
+
NTSTATUS (*set_mapping)(struct idmap_domain *dom, const struct id_map *map);
NTSTATUS (*remove_mapping)(struct idmap_domain *dom, const struct id_map *map);