From 51eecc4aff951823741ec363b44c28a301be7c9c Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Mon, 18 Dec 2000 16:40:40 +0000 Subject: Update. 2000-12-18 Andreas Jaeger * test-skeleton.c: Use temp_name_list instead of temp_name_list to avoid collision with name_list from inet/netgroup.h. * nss/nss_files/files-network.c (NEED_H_ERRNO): Define. * include/grp.h (DECLARE_NSS_PROTOTYPES): New. * include/pwd.h (DECLARE_NSS_PROTOTYPES): New. * include/netdb.h (DECLARE_NSS_PROTOTYPES): New. * include/shadow.h (DECLARE_NSS_PROTOTYPES): New. * hesiod/nss_hesiod/hesiod-proto.c (_nss_hesiod_setprotoent): Fix declaration to match prototype. * hesiod/nss_hesiod/hesiod-pwd.c (_nss_hesiod_setpwent): Likewise. * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_setgrent): Likewise. * hesiod/nss_hesiod/hesiod-service.c (_nss_hesiod_setservent): Likewise. * nis/nss_nis/nis-grp.c (_nss_nis_setgrent): Likewise. * nis/nss_nis/nis-pwd.c (_nss_nis_setpwent): Likewise. * nis/nss_nis/nis-proto.c (_nss_nis_setprotoent): Likewise. * nis/nss_nis/nis-service.c (_nss_nis_setservent): Likewise. (_nss_nis_getservbyport_r): Likewise. * nis/nss_nis/nis-hosts.c (_nss_nis_sethostent): Likewise. * nis/nss_nis/nis-spwd.c (_nss_nis_setspent): Likewise. * nis/nss_nis/nis-network.c (_nss_nis_getnetent_r): Likewise. (_nss_nis_setnetent): Likewise * nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Likewise. (_nss_nis_endnetgrent): Likewise. * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_endnetgrent): Likewise. (_nss_nisplus_setnetgrent): Likewise. * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_setspent): Likewise. * nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_setpwent): Likewise. * nis/nss_nisplus/nisplus-grp.c (_nss_nisplus_setgrent): Likewise. * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_setnetent): Likewise. * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_sethostent): Likewise. * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_setservent): Likewise. * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_setprotoent): Likewise. * nis/nss_compat/compat-spwd.c (_nss_compat_setspent): Likewise. * nis/nss_compat/compat-pwd.c (_nss_compat_setpwent): Likewise. * nis/nss_compat/compat-grp.c (_nss_compat_setgrent): Likewise. * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. (_nss_dns_getnetbyaddr_r): Likewise. --- include/grp.h | 25 ++++++++++++++++++ include/netdb.h | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- include/pwd.h | 23 +++++++++++++++++ include/shadow.h | 20 ++++++++++++++ 4 files changed, 143 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/grp.h b/include/grp.h index 824b1648c2..bb5a0408b5 100644 --- a/include/grp.h +++ b/include/grp.h @@ -17,4 +17,29 @@ extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf, extern int __getgrnam_r (__const char *__name, struct group *__resultbuf, char *__buffer, size_t __buflen, struct group **__result); + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setgrent (int); \ +extern enum nss_status _nss_ ## service ## _endgrent (void); \ +extern enum nss_status _nss_ ## service ## _getgrgid_r \ + (gid_t gid, struct group *grp, char *buffer, \ + size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getgrnam_r \ + (const char *name, struct group *grp, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ##_getgrent_r \ + (struct group *result, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ##_initgroups_dyn \ + (const char *user, gid_t group, long int *start, \ + long int *size, gid_t **groupsp, long int limit, \ + int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES #endif diff --git a/include/netdb.h b/include/netdb.h index 6a60d4ec8c..8c861d48cf 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -143,10 +143,81 @@ extern int ruserpass (const char *host, const char **aname, /* The following declarations and definitions have been removed from the public header since we don't want people to use them. */ -#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ -#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ -#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose - returned address type. */ +#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ +#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ +#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose + returned address type. */ #define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) +#include + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setprotoent (int); \ +extern enum nss_status _nss_ ## service ## _endprotoent (void); \ +extern enum nss_status _nss_ ## service ## _getprotoent_r \ + (struct protoent *proto, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobyname_r \ + (const char *name, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobynumber_r \ + (int number, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _sethostent (int); \ +extern enum nss_status _nss_ ## service ## _endhostent (void); \ +extern enum nss_status _nss_ ## service ## _gethostent_r \ + (struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyname2_r \ + (const char *name, int af, struct hostent *host, \ + char *buffer, size_t buflen, int *errnop, \ + int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyname_r \ + (const char *name, struct hostent *host, char *buffer, \ + size_t buflen, int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyaddr_r \ + (const void *addr, socklen_t addrlen, int af, \ + struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _setservent (int); \ +extern enum nss_status _nss_ ## service ## _endservent (void); \ +extern enum nss_status _nss_ ## service ## _getservent_r \ + (struct servent *serv, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getservbyname_r \ + (const char *name, const char *protocol, \ + struct servent *serv, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getservbyport_r \ + (int port, const char *protocol, struct servent *serv, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _setnetgrent \ + (const char *group, struct __netgrent *result); \ +extern enum nss_status _nss_ ## service ## _endnetgrent \ + (struct __netgrent *result); \ +extern enum nss_status _nss_ ## service ##_getnetgrent_r \ + (struct __netgrent *result, char *buffer, \ + size_t buflen, int *errnop); \ +extern enum nss_status _nss_## service ##_setnetent (int stayopen); \ +extern enum nss_status _nss_ ## service ## _endnetent (void); \ +extern enum nss_status _nss_## service ##_getnetent_r \ + (struct netent *net, char *buffer, size_t buflen, \ + int *errnop, int *herrnop); \ +extern enum nss_status _nss_## service ##_getnetbyname_r \ + (const char *name, struct netent *net, char *buffer, \ + size_t buflen, int *errnop, int *herrnop); \ +extern enum nss_status _nss_## service ##_getnetbyaddr_r \ + (uint32_t addr, int type, struct netent *net, \ + char *buffer, size_t buflen, int *errnop, \ + int *herrnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (dns) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + #endif /* !_NETDB_H */ diff --git a/include/pwd.h b/include/pwd.h index f91622840a..25656ef281 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -13,4 +13,27 @@ extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf, extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); + +#include +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setpwent (int); \ +extern enum nss_status _nss_ ## service ## _endpwent (void); \ +extern enum nss_status _nss_ ## service ## _getpwnam_r \ + (const char *name, struct passwd *pwd, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getpwuid_r \ + (uid_t uid, struct passwd *pwd, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ##_getpwent_r \ + (struct passwd *result, char *buffer, \ + size_t buflen, int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + #endif diff --git a/include/shadow.h b/include/shadow.h index b7d49f7cfc..5bbaac3543 100644 --- a/include/shadow.h +++ b/include/shadow.h @@ -15,4 +15,24 @@ extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf, struct spwd **__result); extern int __lckpwdf (void); extern int __ulckpwdf (void); + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setspent (int); \ +extern enum nss_status _nss_ ## service ## _endspent (void); \ +extern enum nss_status _nss_ ## service ## _getspent_r \ + (struct spwd *pwd, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getspnam_r \ + (const char *name, struct spwd *pwd, \ + char *buffer, size_t buflen, int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + + #endif -- cgit 1.4.1