Fix spelling s/formated/formatted/
[samba.git] / nsswitch / nsstest.h
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
40 typedef 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>
54 typedef 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
68 typedef 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
98 typedef enum {
99         NSS_SUCCESS,
100         NSS_NOTFOUND,
101         NSS_UNAVAIL,
102         NSS_TRYAGAIN
103 } nss_status_t;
104
105 typedef nss_status_t NSS_STATUS;
106
107 #else /* Nothing's defined. Neither solaris nor gnu nor sun nor hp */
108
109 typedef 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 */