diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-24 02:22:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-24 02:22:13 +0000 |
commit | c1301d9a76ee8da9aa2f1961d57fdf1763e44d57 (patch) | |
tree | 0d4e141c5f472e4181f943cfc5305032db689315 /sunrpc/rpc | |
parent | 3356ac25545b2de0464e04662e602b65c0706b8c (diff) | |
download | glibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.zip glibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.tar.gz glibc-c1301d9a76ee8da9aa2f1961d57fdf1763e44d57.tar.bz2 |
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.h | 48 | ||||
-rw-r--r-- | sunrpc/rpc/svc.h | 15 |
2 files changed, 62 insertions, 1 deletions
diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h index 47bd0b5..39519a8 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 8ceec30..2af6dce 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, |