• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/nsswitch/
1/*
2   Unix SMB/CIFS implementation.
3   nss includes for the nss tester
4   Copyright (C) Kai Blin 2007
5
6     ** NOTE! The following LGPL license applies to the nsstest
7     ** header. This does NOT imply that all of Samba is released
8     ** under the LGPL
9
10   This library is free software; you can redistribute it and/or
11   modify it under the terms of the GNU Lesser General Public
12   License as published by the Free Software Foundation; either
13   version 3 of the License, or (at your option) any later version.
14
15   This library is distributed in the hope that it will be useful,
16   but WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18   Library General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with this program.  If not, see <http://www.gnu.org/licenses/>.
22*/
23
24#ifndef _NSSTEST_H
25#define _NSSTEST_H
26
27#include <pwd.h>
28#include <grp.h>
29
30#ifdef HAVE_NSS_COMMON_H
31
32/*
33 * Sun Solaris
34 */
35
36#include <nss_common.h>
37#include <nss_dbdefs.h>
38#include <nsswitch.h>
39
40typedef nss_status_t NSS_STATUS;
41
42#define NSS_STATUS_SUCCESS     NSS_SUCCESS
43#define NSS_STATUS_NOTFOUND    NSS_NOTFOUND
44#define NSS_STATUS_UNAVAIL     NSS_UNAVAIL
45#define NSS_STATUS_TRYAGAIN    NSS_TRYAGAIN
46
47#elif HAVE_NSS_H
48
49/*
50 * Linux (glibc)
51 */
52
53#include <nss.h>
54typedef enum nss_status NSS_STATUS;
55
56#elif HAVE_NS_API_H
57
58/*
59 * SGI IRIX
60 */
61
62#ifdef DATUM
63#define _DATUM_DEFINED
64#endif
65
66#include <ns_api.h>
67
68typedef enum
69{
70	NSS_STATUS_SUCCESS=NS_SUCCESS,
71		NSS_STATUS_NOTFOUND=NS_NOTFOUND,
72		NSS_STATUS_UNAVAIL=NS_UNAVAIL,
73		NSS_STATUS_TRYAGAIN=NS_TRYAGAIN
74} NSS_STATUS;
75
76#define NSD_MEM_STATIC 0
77#define NSD_MEM_VOLATILE 1
78#define NSD_MEM_DYNAMIC 2
79
80#elif defined(HPUX) && defined(HAVE_NSSWITCH_H)
81
82/* HP-UX 11 */
83
84#include <nsswitch.h>
85
86#define NSS_STATUS_SUCCESS     NSS_SUCCESS
87#define NSS_STATUS_NOTFOUND    NSS_NOTFOUND
88#define NSS_STATUS_UNAVAIL     NSS_UNAVAIL
89#define NSS_STATUS_TRYAGAIN    NSS_TRYAGAIN
90
91#ifdef HAVE_SYNCH_H
92#include <synch.h>
93#endif
94#ifdef HAVE_PTHREAD_H
95#include <pthread.h>
96#endif
97
98typedef enum {
99	NSS_SUCCESS,
100	NSS_NOTFOUND,
101	NSS_UNAVAIL,
102	NSS_TRYAGAIN
103} nss_status_t;
104
105typedef nss_status_t NSS_STATUS;
106
107#else /* Nothing's defined. Neither solaris nor gnu nor sun nor hp */
108
109typedef enum
110{
111	NSS_STATUS_SUCCESS=0,
112	NSS_STATUS_NOTFOUND=1,
113	NSS_STATUS_UNAVAIL=2,
114	NSS_STATUS_TRYAGAIN=3
115} NSS_STATUS;
116
117#endif
118
119#endif /* _NSSTEST_H */
120