2008-12-16 11:30:16 +03:00
/*
2003-03-31 08:36:01 +04:00
Unix SMB / CIFS implementation .
Winbind daemon for ntdom nss module
Copyright ( C ) Tim Potter 2000
2008-12-16 11:30:16 +03:00
2003-03-31 08:36:01 +04:00
This library is free software ; you can redistribute it and / or
2007-07-10 08:04:46 +04:00
modify it under the terms of the GNU Lesser General Public
2003-03-31 08:36:01 +04:00
License as published by the Free Software Foundation ; either
2007-07-10 06:31:50 +04:00
version 3 of the License , or ( at your option ) any later version .
2008-12-16 11:30:16 +03:00
2003-03-31 08:36:01 +04:00
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 .
2008-12-16 11:30:16 +03:00
2007-07-10 08:04:46 +04:00
You should have received a copy of the GNU Lesser General Public License
2007-07-10 06:31:50 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2003-03-31 08:36:01 +04:00
*/
# ifndef _WINBIND_NSS_SOLARIS_H
# define _WINBIND_NSS_SOLARIS_H
2005-06-27 21:31:00 +04:00
/* Solaris has a broken nss_common header file containing C++ reserved names. */
# ifndef __cplusplus
# undef class
# undef private
# undef public
# undef protected
# undef template
# undef this
# undef new
# undef delete
# undef friend
# endif
2003-03-31 08:36:01 +04:00
# include <nss_common.h>
2005-06-27 21:31:00 +04:00
# ifndef __cplusplus
# define class #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define private #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define public #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define protected #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define template #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define this #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define new #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define delete #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# define friend #error DONT_USE_CPLUSPLUS_RESERVED_NAMES
# endif
2003-03-31 08:36:01 +04:00
# 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
/* The solaris winbind is implemented as a wrapper around the linux
version . */
NSS_STATUS _nss_winbind_setpwent ( void ) ;
NSS_STATUS _nss_winbind_endpwent ( void ) ;
NSS_STATUS _nss_winbind_getpwent_r ( struct passwd * result , char * buffer ,
size_t buflen , int * errnop ) ;
NSS_STATUS _nss_winbind_getpwuid_r ( uid_t , struct passwd * , char * buffer ,
size_t buflen , int * errnop ) ;
NSS_STATUS _nss_winbind_getpwnam_r ( const char * name , struct passwd * result ,
char * buffer , size_t buflen , int * errnop ) ;
NSS_STATUS _nss_winbind_setgrent ( void ) ;
NSS_STATUS _nss_winbind_endgrent ( void ) ;
NSS_STATUS _nss_winbind_getgrent_r ( struct group * result , char * buffer ,
size_t buflen , int * errnop ) ;
NSS_STATUS _nss_winbind_getgrnam_r ( const char * name ,
struct group * result , char * buffer ,
size_t buflen , int * errnop ) ;
NSS_STATUS _nss_winbind_getgrgid_r ( gid_t gid ,
struct group * result , char * buffer ,
size_t buflen , int * errnop ) ;
2008-12-16 18:59:07 +03:00
NSS_STATUS _nss_winbind_initgroups_dyn ( char * user , gid_t group , long int * start ,
long int * size , gid_t * * groups ,
long int limit , int * errnop ) ;
2003-03-31 08:36:01 +04:00
# endif /* _WINBIND_NSS_SOLARIS_H */