summaryrefslogtreecommitdiff
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)
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,