summaryrefslogtreecommitdiff
path: root/source3/include/passdb.h
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2001-04-09 22:11:37 +0000
committerGerald Carter <jerry@samba.org>2001-04-09 22:11:37 +0000
commitf8c12f4f4df375bb3fc07247c7f85c15a0557737 (patch)
tree0620b257cf972fba2d6d2f9b82b5648b8af3e5bd /source3/include/passdb.h
parentfaf49bbe8c0a46a708c5f48387570abb37ab9cc3 (diff)
downloadsamba-f8c12f4f4df375bb3fc07247c7f85c15a0557737.tar.gz
samba-f8c12f4f4df375bb3fc07247c7f85c15a0557737.tar.bz2
samba-f8c12f4f4df375bb3fc07247c7f85c15a0557737.zip
looking towards abstracting the passdb and uidmapping interfaces.
This is more of a note to myself. In not used anywhere yet. (This used to be commit 442605c6bc81dd115f4df5cc20df3f61601c6013)
Diffstat (limited to 'source3/include/passdb.h')
-rw-r--r--source3/include/passdb.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/source3/include/passdb.h b/source3/include/passdb.h
new file mode 100644
index 0000000000..eb9016aa08
--- /dev/null
+++ b/source3/include/passdb.h
@@ -0,0 +1,66 @@
+/*
+ Unix SMB/Netbios implementation.
+ Version 1.9.
+ passdb structures and parameters
+ Copyright (C) Gerald Carter 2001
+ Copyright (C) Luke Kenneth Casson Leighton 1998 - 2000
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef _PASSDB_H
+#define _PASSDB_H
+
+/*
+ * This next constant specifies the version number of the VFS interface
+ * this smbd will load. Increment this if *ANY* changes are made to the
+ * vfs_ops below. JRA.
+ */
+
+#define SMB_PASSDB_INTERFACE_VERSION 1
+
+/* passdb operations structure */
+struct passdb_ops {
+
+ /* Iteration Functions*/
+ BOOL (*setsampwent) (BOOL update);
+ void (*endsampwent) (void);
+ SAM_ACCOUNT* (*getsampwent) (void);
+
+ /* Lookup Functions */
+ SAM_ACCOUNT* (*getsampwuid) (uid_t uid);
+ SAM_ACCOUNT* (*getsampwrid) (uint32 rid);
+ SAM_ACOCUNT* (*getsampwnam) (char* username);
+
+ /* Modify the SAM database */
+ BOOL (*update_sam_account) (SAM_ACCOUNT* sampass, BOOL override);
+ BOOL (*delete_sam_account) (char* username);
+ BOOL (*add_sam_account) (SAM_ACCOUNT* sampass);
+};
+
+/* uid mapping structure */
+struct uidmap_ops {
+
+ /* From NT to UNIX */
+ uid_t (*user_rid_to_uid) (uint32 rid);
+ gid_t (*group_rid_to_gid) (uint32 rid);
+
+ /* From UNIX to NT */
+ uint32 (*uid_to_user_rid) (uid_t uid);
+ uint32 (*gid_to_group_rid) (gid_t gid);
+};
+
+
+#endif /* _PASSDB_H */