# ifndef _NSSWITCH_NSS_H
# define _NSSWITCH_NSS_H
/*
Unix SMB / CIFS implementation .
a common place to work out how to define NSS_STATUS on various
platforms
Copyright ( C ) Tim Potter 2000
This library is free software ; you can redistribute it and / or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation ; either
version 2 of the License , or ( at your option ) any later version .
This library 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
Library General Public License for more details .
You should have received a copy of the GNU Library General Public
License along with this library ; if not , write to the
Free Software Foundation , Inc . , 59 Temple Place - Suite 330 ,
Boston , MA 02111 - 1307 , USA .
*/
# 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
/* GNU */
# include <nss.h>
typedef enum nss_status NSS_STATUS ;
# elif HAVE_NS_API_H
/* SGI IRIX */
/* following required to prevent warnings of double definition
* of datum from ns_api . h
*/
# 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/hp_nss_common.h"
# include "nsswitch/hp_nss_dbdefs.h"
# include <nsswitch.h>
# ifndef _HAVE_TYPEDEF_NSS_STATUS
# define _HAVE_TYPEDEF_NSS_STATUS
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
# endif /* HPUX */
# else /* Nothing's defined. Neither 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 /* _NSSWITCH_NSS_H */