aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/aliases.h16
-rw-r--r--include/netdb.h116
-rw-r--r--include/netinet/ether.h25
-rw-r--r--include/rpc/netdb.h20
-rw-r--r--nis/nis_intern.h6
-rw-r--r--nis/nss_nis/nis-rpc.c2
6 files changed, 125 insertions, 60 deletions
diff --git a/include/aliases.h b/include/aliases.h
index 3932e52..ea87cf9 100644
--- a/include/aliases.h
+++ b/include/aliases.h
@@ -17,4 +17,20 @@ extern int __old_getaliasbyname_r (__const char *__restrict __name,
char *__restrict __buffer, size_t __buflen,
struct aliasent **__restrict __result);
+#define DECLARE_NSS_PROTOTYPES(service) \
+extern enum nss_status _nss_ ## service ## _setaliasent (void); \
+extern enum nss_status _nss_ ## service ## _endaliasent (void); \
+extern enum nss_status _nss_ ## service ## _getaliasent_r \
+ (struct aliasent *alias, char *buffer, size_t buflen, \
+ int *errnop); \
+extern enum nss_status _nss_ ## service ## _getaliasbyname_r \
+ (const char *name, struct aliasent *alias, \
+ char *buffer, size_t buflen, int *errnop);
+
+
+DECLARE_NSS_PROTOTYPES (files)
+DECLARE_NSS_PROTOTYPES (nis)
+DECLARE_NSS_PROTOTYPES (nisplus)
+#undef DECLARE_NSS_PROTOTYPES
+
#endif
diff --git a/include/netdb.h b/include/netdb.h
index 8c861d4..141dce5 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -151,64 +151,64 @@ extern int ruserpass (const char *host, const char **aname,
#include <inet/netgroup.h>
-#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, \
+#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)
diff --git a/include/netinet/ether.h b/include/netinet/ether.h
index 60ef5a3..c0b1e2b 100644
--- a/include/netinet/ether.h
+++ b/include/netinet/ether.h
@@ -1 +1,26 @@
+#ifndef _NETINET_ETHER_H
#include <inet/netinet/ether.h>
+
+struct etherent;
+
+#define DECLARE_NSS_PROTOTYPES(service) \
+extern enum nss_status _nss_ ## service ## _setetherent (void); \
+extern enum nss_status _nss_ ## service ## _endetherent (void); \
+extern enum nss_status _nss_ ## service ## _getetherent_r \
+ (struct etherent *result, char *buffer, \
+ size_t buflen, int *errnop); \
+extern enum nss_status _nss_ ## service ## _gethostton_r \
+ (const char *name, struct etherent *eth, \
+ char *buffer, size_t buflen, int *errnop); \
+extern enum nss_status _nss_ ## service ## _getntohost_r \
+ (const struct ether_addr *addr, \
+ struct etherent *eth, \
+ char *buffer, size_t buflen, int *errnop);
+
+DECLARE_NSS_PROTOTYPES (files)
+DECLARE_NSS_PROTOTYPES (nis)
+DECLARE_NSS_PROTOTYPES (nisplus)
+
+#undef DECLARE_NSS_PROTOTYPES
+
+#endif
diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h
index 54a4b70..aec359a 100644
--- a/include/rpc/netdb.h
+++ b/include/rpc/netdb.h
@@ -21,4 +21,24 @@ extern int __getrpcent_r (struct rpcent *__result_buf, char *__buffer,
extern int __old_getrpcent_r (struct rpcent *__result_buf, char *__buffer,
size_t __buflen, struct rpcent **__result);
+#define DECLARE_NSS_PROTOTYPES(service) \
+extern enum nss_status _nss_ ## service ## _setrpcent (int); \
+extern enum nss_status _nss_ ## service ## _endrpcent (void); \
+extern enum nss_status _nss_ ## service ## _getrpcent_r \
+ (struct rpcent *rpc, char *buffer, size_t buflen, \
+ int *errnop); \
+extern enum nss_status _nss_ ## service ## _getrpcbyname_r \
+ (const char *name, struct rpcent *rpc, \
+ char *buffer, size_t buflen, int *errnop); \
+extern enum nss_status _nss_ ## service ## _getrpcbynumber_r \
+ (int number, struct rpcent *rpc, \
+ char *buffer, size_t buflen, int *errnop);
+
+
+DECLARE_NSS_PROTOTYPES (files)
+DECLARE_NSS_PROTOTYPES (nis)
+DECLARE_NSS_PROTOTYPES (nisplus)
+
+#undef DECLARE_NSS_PROTOTYPES
+
#endif
diff --git a/nis/nis_intern.h b/nis/nis_intern.h
index 1d6f017..3395046 100644
--- a/nis/nis_intern.h
+++ b/nis/nis_intern.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
@@ -46,6 +46,10 @@ extern nis_error __do_niscall (const_nis_name name, u_long prog,
xdrproc_t xargs, caddr_t req,
xdrproc_t xres, caddr_t resp,
unsigned int flags, nis_cb *cb);
+extern nis_error __do_niscall3 (dir_binding *dbp, u_long prog,
+ xdrproc_t xargs, caddr_t req,
+ xdrproc_t xres, caddr_t resp,
+ unsigned int flags, nis_cb *cb);
/* NIS+ callback */
extern nis_error __nis_do_callback (struct dir_binding *bptr,
diff --git a/nis/nss_nis/nis-rpc.c b/nis/nss_nis/nis-rpc.c
index 8e0fa4c..be7a2d0 100644
--- a/nis/nss_nis/nis-rpc.c
+++ b/nis/nss_nis/nis-rpc.c
@@ -115,7 +115,7 @@ internal_nis_setrpcent (intern_t *intern)
}
enum nss_status
-_nss_nis_setrpcent (void)
+_nss_nis_setrpcent (int stayopen)
{
enum nss_status status;