along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/* idmap version determines auto-conversion - this is the database
- structure version specifier. */
-
-#define IDMAP_VERSION 2
-
/* The interface version specifier.
Updated to 3 for enum types by JRA. */
/* Updated to 4, completely new interface, SSS */
+/* Updated to 5, simplified interface by Volker */
-#define SMB_IDMAP_INTERFACE_VERSION 4
+#define SMB_IDMAP_INTERFACE_VERSION 5
struct idmap_domain {
const char *name;
- bool default_domain;
- bool readonly;
- void *private_data;
struct idmap_methods *methods;
- bool initialized;
- const char *params;
+ void *private_data;
};
/* Filled out by IDMAP backends */
struct idmap_methods {
/* Called when backend is first loaded */
- NTSTATUS (*init)(struct idmap_domain *dom);
+ NTSTATUS (*init)(struct idmap_domain *dom, const char *params);
/* Map an array of uids/gids to SIDs. The caller specifies
the uid/gid and type. Gets back the SID. */
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);
-
- /* Called to dump backends data */
- /* NOTE: caller must use talloc_free to free maps when done */
- NTSTATUS (*dump_data)(struct idmap_domain *dom, struct id_map **maps, int *num_maps);
/* Called when backend is unloaded */
NTSTATUS (*close_fn)(struct idmap_domain *dom);