diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-12-17 07:17:54 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-12-17 07:17:54 +1100 |
commit | 1b3a084d60cc0004f84bc56dedbe1d87cda2a8b3 (patch) | |
tree | cee337a9c93890605fb12490faec2a7f0b2188d8 /nsswitch/nsstest.h | |
parent | e294c4799bf6ad8da043aadf8341391644147056 (diff) | |
parent | 54dc421f5820099531a77879f52a904c2fefcf49 (diff) | |
download | samba-1b3a084d60cc0004f84bc56dedbe1d87cda2a8b3.tar.gz samba-1b3a084d60cc0004f84bc56dedbe1d87cda2a8b3.tar.bz2 samba-1b3a084d60cc0004f84bc56dedbe1d87cda2a8b3.zip |
Merge branch 'master' of ssh://git.samba.org/data/git/samba
Diffstat (limited to 'nsswitch/nsstest.h')
-rw-r--r-- | nsswitch/nsstest.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/nsswitch/nsstest.h b/nsswitch/nsstest.h new file mode 100644 index 0000000000..e69f17c857 --- /dev/null +++ b/nsswitch/nsstest.h @@ -0,0 +1,115 @@ +/* + Unix SMB/CIFS implementation. + nss includes for the nss tester + Copyright (C) Kai Blin 2007 + + 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 3 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, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _NSSTEST_H +#define _NSSTEST_H + +#include <pwd.h> +#include <grp.h> + +#ifdef HAVE_NSS_COMMON_H + +/* + * Sun Solaris + */ + +#include <nss_common.h> +#include <nss_dbdefs.h> +#include <nsswitch.h> + +typedef nss_status_t NSS_STATUS; + +#define NSS_STATUS_SUCCESS NSS_SUCCESS +#define NSS_STATUS_NOTFOUND NSS_NOTFOUND +#define NSS_STATUS_UNAVAIL NSS_UNAVAIL +#define NSS_STATUS_TRYAGAIN NSS_TRYAGAIN + +#elif HAVE_NSS_H + +/* + * Linux (glibc) + */ + +#include <nss.h> +typedef enum nss_status NSS_STATUS; + +#elif HAVE_NS_API_H + +/* + * SGI IRIX + */ + +#ifdef DATUM +#define _DATUM_DEFINED +#endif + +#include <ns_api.h> + +typedef enum +{ + NSS_STATUS_SUCCESS=NS_SUCCESS, + NSS_STATUS_NOTFOUND=NS_NOTFOUND, + NSS_STATUS_UNAVAIL=NS_UNAVAIL, + NSS_STATUS_TRYAGAIN=NS_TRYAGAIN +} NSS_STATUS; + +#define NSD_MEM_STATIC 0 +#define NSD_MEM_VOLATILE 1 +#define NSD_MEM_DYNAMIC 2 + +#elif defined(HPUX) && defined(HAVE_NSSWITCH_H) + +/* HP-UX 11 */ + +#include <nsswitch.h> + +#define NSS_STATUS_SUCCESS NSS_SUCCESS +#define NSS_STATUS_NOTFOUND NSS_NOTFOUND +#define NSS_STATUS_UNAVAIL NSS_UNAVAIL +#define NSS_STATUS_TRYAGAIN NSS_TRYAGAIN + +#ifdef HAVE_SYNCH_H +#include <synch.h> +#endif +#ifdef HAVE_PTHREAD_H +#include <pthread.h> +#endif + +typedef enum { + NSS_SUCCESS, + NSS_NOTFOUND, + NSS_UNAVAIL, + NSS_TRYAGAIN +} nss_status_t; + +typedef nss_status_t NSS_STATUS; + +#else /* Nothing's defined. Neither solaris nor gnu nor sun nor hp */ + +typedef enum +{ + NSS_STATUS_SUCCESS=0, + NSS_STATUS_NOTFOUND=1, + NSS_STATUS_UNAVAIL=2, + NSS_STATUS_TRYAGAIN=3 +} NSS_STATUS; + +#endif + +#endif /* _NSSTEST_H */ |