/* Copyright (C) 1998-2000, 2002, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk , 1998. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _NSCD_PROTO_H #define _NSCD_PROTO_H 1 #include #include #include /* Interval in which we transfer retry to contact the NSCD. */ #define NSS_NSCD_RETRY 100 /* Type needed in the interfaces. */ struct nscd_ai_result; /* Variables for communication between NSCD handler functions and NSS. */ extern int __nss_not_use_nscd_passwd attribute_hidden; extern int __nss_not_use_nscd_group attribute_hidden; extern int __nss_not_use_nscd_hosts attribute_hidden; extern int __nss_not_use_nscd_services attribute_hidden; extern int __nscd_getpwnam_r (const char *name, struct passwd *resultbuf, char *buffer, size_t buflen, struct passwd **result); extern int __nscd_getpwuid_r (uid_t uid, struct passwd *resultbuf, char *buffer, size_t buflen, struct passwd **result); extern int __nscd_getgrnam_r (const char *name, struct group *resultbuf, char *buffer, size_t buflen, struct group **result); extern int __nscd_getgrgid_r (gid_t gid, struct group *resultbuf, char *buffer, size_t buflen, struct group **result); extern int __nscd_gethostbyname_r (const char *name, struct hostent *resultbuf, char *buffer, size_t buflen, struct hostent **result, int *h_errnop); extern int __nscd_gethostbyname2_r (const char *name, int af, struct hostent *resultbuf, char *buffer, size_t buflen, struct hostent **result, int *h_errnop); extern int __nscd_gethostbyaddr_r (const void *addr, socklen_t len, int type, struct hostent *resultbuf, char *buffer, size_t buflen, struct hostent **result, int *h_errnop); extern int __nscd_getai (const char *key, struct nscd_ai_result **result, int *h_errnop); extern int __nscd_getgrouplist (const char *user, gid_t group, long int *size, gid_t **groupsp, long int limit); extern int __nscd_getservbyname_r (const char *name, const char *proto, struct servent *result_buf, char *buf, size_t buflen, struct servent **result); extern int __nscd_getservbyport_r (int port, const char *proto, struct servent *result_buf, char *buf, size_t buflen, struct servent **result); #endif /* _NSCD_PROTO_H */