From f8c12f4f4df375bb3fc07247c7f85c15a0557737 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Mon, 9 Apr 2001 22:11:37 +0000 Subject: 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) --- source3/include/passdb.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 source3/include/passdb.h (limited to 'source3/include/passdb.h') 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 */ -- cgit