about summary refs log tree commit diff
path: root/sunrpc/rpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-01-24 02:22:13 +0000
committerUlrich Drepper <drepper@redhat.com>2000-01-24 02:22:13 +0000
commitc1301d9a76ee8da9aa2f1961d57fdf1763e44d57 (patch)
tree0d4e141c5f472e4181f943cfc5305032db689315 /sunrpc/rpc
parent3356ac25545b2de0464e04662e602b65c0706b8c (diff)
downloadglibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.tar.gz
glibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.tar.xz
glibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.zip
Update.
2000-01-23  Philip Blundell  <philb@gnu.org>

	Add basic support for RPC over IPv6:
	* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
	for remote address.
	(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
	prototypes.
	* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
	clntudp6_bufcreate): New prototypes.
	* inet/netinet/in.h (bindresport6): Likewise.
	* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
	* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
	svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
	bindresvport6 for GLIBC_2.2.
	* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
	* sunrpc/rpc_svcout.c: Likewise.
	* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
	simple assignment when copying addresses.
	* sunrpc/svc_udp.c (cache_get): Likewise.
	* sunrpc/svc_unix.c (rendezvous_request): Likewise.
	* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
	sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.

2000-01-05  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.

2000-01-23  Andreas Jaeger  <aj@suse.de>

	* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
	parameter to fstat calls.

2000-01-18  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/bits/socket.h
	(__ss_aligntype, struct sockaddr_storage): Make these like Linux
	version, replacing old type name `__ss_align'.

2000-01-05  Roland McGrath  <roland@baalperazim.frob.com>

	* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
	(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
	* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
	(__lseek, lseek): Make these weak aliases for __libc_lseek.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
	(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
	* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
	(__open, open): Make these weak aliases for __libc_open.

	* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
	trailing comma.
	(anonymous enum for MSG_*): Likewise.
	(anonymous enum for SO_*): Likewise.

2000-01-23  Ulrich Drepper  <drepper@cygnus.com>

	* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
	(PR libc/1553).
Diffstat (limited to 'sunrpc/rpc')
-rw-r--r--sunrpc/rpc/clnt.h48
-rw-r--r--sunrpc/rpc/svc.h15
2 files changed, 62 insertions, 1 deletions
diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h
index 47bd0b5d78..39519a8e38 100644
--- a/sunrpc/rpc/clnt.h
+++ b/sunrpc/rpc/clnt.h
@@ -342,6 +342,54 @@ extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
 
 
 /*
+ * TCP/IPv6 based rpc
+ * CLIENT *
+ * clnttcp6_create(raddr, prog, vers, sockp, sendsz, recvsz)
+ *	struct sockaddr_in6 *raddr;
+ *	u_long prog;
+ *	u_long version;
+ *	register int *sockp;
+ *	u_int sendsz;
+ *	u_int recvsz;
+ */
+extern CLIENT *clnttcp6_create __P ((struct sockaddr_in6 *__raddr,
+				    u_long __prog, u_long __version,
+				    int *__sockp, u_int __sendsz,
+				    u_int __recvsz));
+
+/*
+ * UDP/IPv6 based rpc.
+ * CLIENT *
+ * clntudp6_create(raddr, program, version, wait, sockp)
+ *	struct sockaddr_in6 *raddr;
+ *	u_long program;
+ *	u_long version;
+ *	struct timeval wait_resend;
+ *	int *sockp;
+ *
+ * Same as above, but you specify max packet sizes.
+ * CLIENT *
+ * clntudp6_bufcreate(raddr, program, version, wait, sockp, sendsz, recvsz)
+ *	struct sockaddr_in6 *raddr;
+ *	u_long program;
+ *	u_long version;
+ *	struct timeval wait_resend;
+ *	int *sockp;
+ *	u_int sendsz;
+ *	u_int recvsz;
+ */
+extern CLIENT *clntudp6_create __P ((struct sockaddr_in6 *__raddr,
+				    u_long __program, u_long __version,
+				    struct timeval __wait_resend,
+				    int *__sockp));
+extern CLIENT *clntudp6_bufcreate __P ((struct sockaddr_in6 *__raddr,
+				       u_long __program, u_long __version,
+				       struct timeval __wait_resend,
+				       int *__sockp, u_int __sendsz,
+				       u_int __recvsz));
+
+
+/*
  * AF_UNIX based rpc
  * CLIENT *
  * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
diff --git a/sunrpc/rpc/svc.h b/sunrpc/rpc/svc.h
index 8ceec30a11..2af6dce195 100644
--- a/sunrpc/rpc/svc.h
+++ b/sunrpc/rpc/svc.h
@@ -92,7 +92,7 @@ struct SVCXPRT {
 				/* destroy this struct */
   } *xp_ops;
   int		xp_addrlen;	 /* length of remote address */
-  struct sockaddr_in xp_raddr;	 /* remote address */
+  struct sockaddr_storage xp_raddr;	 /* remote address */
   struct opaque_auth xp_verf;	 /* raw response verifier */
   caddr_t		xp_p1;		 /* private */
   caddr_t		xp_p2;		 /* private */
@@ -304,6 +304,19 @@ extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize)
 
 
 /*
+ * IPv6/Udp based rpc.
+ */
+extern SVCXPRT *svcudp6_create (int __sock) __THROW;
+extern SVCXPRT *svcudp6_bufcreate (int __sock, u_int __sendsz,
+				       u_int __recvsz) __THROW;
+
+/*
+ * IPv6/Tcp based rpc.
+ */
+extern SVCXPRT *svctcp6_create (int __sock, u_int __sendsize,
+  				    u_int __recvsize) __THROW;
+
+/*
  * Unix based rpc.
  */
 extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize,