summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BUGS4
-rw-r--r--ChangeLog58
-rw-r--r--inet/Makefile2
-rw-r--r--string/strverscmp.c2
-rw-r--r--sunrpc/clnt_perr.c2
-rw-r--r--sunrpc/rpc/xdr.h6
-rw-r--r--sunrpc/rpcinfo.c78
-rw-r--r--sunrpc/rpcsvc/rusers.x6
-rw-r--r--sunrpc/xdr_mem.c4
-rw-r--r--sunrpc/xdr_rec.c12
-rw-r--r--sunrpc/xdr_stdio.c12
-rw-r--r--sysdeps/generic/netinet/icmp6.h203
-rw-r--r--sysdeps/generic/netinet/ip6.h44
-rw-r--r--sysdeps/standalone/arm/errnos.h2
-rw-r--r--sysdeps/stub/accept.c2
-rw-r--r--sysdeps/stub/bind.c2
-rw-r--r--sysdeps/stub/connect.c2
-rw-r--r--sysdeps/stub/direntry.h1
-rw-r--r--sysdeps/stub/getpeername.c2
-rw-r--r--sysdeps/stub/getsockname.c2
-rw-r--r--sysdeps/stub/readv.c2
-rw-r--r--sysdeps/stub/recvfrom.c2
-rw-r--r--sysdeps/stub/send.c2
-rw-r--r--sysdeps/stub/sendto.c4
-rw-r--r--sysdeps/stub/ttyname_r.c2
-rw-r--r--sysdeps/stub/writev.c2
-rw-r--r--sysdeps/unix/arm/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/arm/profil-counter.h26
-rw-r--r--sysdeps/unix/sysv/linux/arm/syscall.S8
-rw-r--r--sysdeps/unix/sysv/linux/arm/sysdep.h34
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h36
-rw-r--r--sysdeps/unix/sysv/linux/netinet/in.h2
-rw-r--r--sysdeps/unix/sysv/linux/shmat.c2
-rw-r--r--sysdeps/unix/sysv/linux/socketbits.h8
34 files changed, 458 insertions, 120 deletions
diff --git a/BUGS b/BUGS
index ac2066293b..611f614aa2 100644
--- a/BUGS
+++ b/BUGS
@@ -1,7 +1,7 @@
List of known bugs (certainly very incomplete)
----------------------------------------------
-Time-stamp: <1997-05-12T02:39:19+0200 drepper>
+Time-stamp: <1997-05-21T21:25:40+0200 drepper>
This following list contains those bugs which I'm aware of. Please
make sure that bugs you report are not listed here. If you can fix one
@@ -10,7 +10,7 @@ of these bugs/limitations I'll certainly be glad to receive a patch.
Another source of information about bugs is the problem data base of the
GNU project. There is an easy to use WWW interface is available at
- http://pogo.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
+ http://www-gnats.gnu.ai.mit.edu:8080/cgi-bin/wwwgnats.pl
I would appreciate it very much if you could verify the problem was not
reported before by looking though the database. To make the information
diff --git a/ChangeLog b/ChangeLog
index 783ebfefe3..77b054bdb7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,61 @@
+1997-05-22 04:09 Ulrich Drepper <drepper@cygnus.com>
+
+ * sunrpc/clnt_perr.c (clnt_sperrno): Change type of variable i
+ to size_t to prevent warning.
+ * sunrpc/rpcinfo.c (get_inet_address): Use UNADDR_NONE and INADDR_ANY
+ instead of numeric values.
+ Various cleanups.
+ * sunrpc/xdr_mem.c: Use `const char *' instead of `const caddr_t'
+ for xdrmem_putbytes.
+ * sunrpc/xdr_rec.c: Likewise.
+ * sunrpc/xdr_stdio.c: Likewise.
+ * sunrpc/rpc/xdr.h: Likewise.
+
+ * sysdeps/unix/sysv/linux/arm/syscall.s: Pretty printing.
+ * sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
+
+1997-05-21 22:22 Philip Blundell <pjb27@cam.ac.uk>
+
+ * inet/Makefile (headers): Add netinet/ip6.h, netinet/icmp6.h.
+ * sysdeps/generic/netinet/ip6.h: New file (for IPv6 Advanced API).
+ * sysdeps/generic/netinet/icmp6.h: Likewise.
+ * sysdeps/unix/sysv/linux/netinet/in.h: Fix typo.
+ * sysdeps/stub/direntry.h (struct dirent): Add d_fileno (needed by
+ glob.c).
+ * sysdeps/standalone/arm/errnos.h: Add EPROTOTYPE, ESRCH.
+ * sysdeps/unix/arm/sysdep.h: Avoid warning about nested comments.
+ * sysdeps/stub/accept.c (accept): Make args match prototype.
+ * sysdeps/stub/bind.c (bind): Likewise.
+ * sysdeps/stub/connect.c (connect): Likewise.
+ * sysdeps/stub/getpeername.c (getpeername): Likewise.
+ * sysdeps/stub/getsockname.c (getsockname): Likewise.
+ * sysdeps/stub/recvfrom.c (recvfrom): Likewise.
+ * sysdeps/stub/send.c (send): Likewise.
+ * sysdeps/stub/ttyname_r.c (ttyname_r): Likewise.
+ * sysdeps/stub/readv.c (readv): Likewise.
+ * sysdeps/stub/writev.c (writev): Likewise.
+ * sysdeps/stub/sendto.c (sendto): Likewise.
+ * sysdeps/unix/sysv/linux/arm/profil-counter.h: New file.
+
+1997-05-18 12:46 Philip Blundell <pjb27@cam.ac.uk>
+
+ * sysdeps/unix/sysv/linux/socketbits.h: Add new macros CMSG_SPACE,
+ CMSG_LEN, CMSG_ALIGN (for IPv6 Advanced API).
+
+1997-05-21 13:51 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * sysdeps/unix/sysv/linux/shmat.c (shmat): Add cast to prevent warning.
+
+ * sunrpc/rpcsvc/rusers.x: Provide prototypes for implemented
+ functions, include <rpc/xdr.h>.
+
+ * string/strverscmp.c: Correct typos in comment.
+
+ * sunrpc/rpc/xdr.h: Add more `const'.
+ * sunrpc/xdr_stdio.c: Likewise.
+ * sunrpc/xdr_rec.c: Likewise.
+
1997-05-21 17:50 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (dl-routines): Add dl-sysdepio.
diff --git a/inet/Makefile b/inet/Makefile
index fbd658a7bf..fe4ace39b2 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -23,7 +23,7 @@ subdir := inet
headers := netinet/ether.h netinet/in.h netinet/if_ether.h \
netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \
- aliases.h
+ aliases.h netinet/ip6.h netinet/icmp6.h
distribute := netgroup.h
diff --git a/string/strverscmp.c b/string/strverscmp.c
index 388df75dfd..815073ecbf 100644
--- a/string/strverscmp.c
+++ b/string/strverscmp.c
@@ -22,7 +22,7 @@
#include <ctype.h>
/* states: S_N: normal, S_I: comparing integral part, S_F: comparing
- Fractionnal parts, S_Z: idem but with leading Zeroes only */
+ fractionnal parts, S_Z: idem but with leading Zeroes only */
#define S_N 0x0
#define S_I 0x4
#define S_F 0x8
diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c
index 68f3640cd7..73ec6a12e9 100644
--- a/sunrpc/clnt_perr.c
+++ b/sunrpc/clnt_perr.c
@@ -197,7 +197,7 @@ static const struct rpc_errtab rpc_errlist[] =
char *
clnt_sperrno (enum clnt_stat stat)
{
- int i;
+ size_t i;
for (i = 0; i < sizeof (rpc_errlist) / sizeof (struct rpc_errtab); i++)
{
diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h
index aa1c702757..e988896196 100644
--- a/sunrpc/rpc/xdr.h
+++ b/sunrpc/rpc/xdr.h
@@ -123,16 +123,16 @@ struct XDR
/* put a long to " */
bool_t (*x_getbytes) __P ((XDR * __xdrs, caddr_t __addr, u_int __len));
/* get some bytes from " */
- bool_t (*x_putbytes) __P ((XDR * __xdrs, __const caddr_t __addr,
+ bool_t (*x_putbytes) __P ((XDR * __xdrs, __const char *__addr,
u_int __len));
/* put some bytes to " */
- u_int (*x_getpostn) __P ((XDR * __xdrs));
+ u_int (*x_getpostn) __P ((__const XDR * __xdrs));
/* returns bytes off from beginning */
bool_t (*x_setpostn) __P ((XDR * __xdrs, u_int pos));
/* lets you reposition the stream */
long *(*x_inline) __P ((XDR * __xdrs, int len));
/* buf quick ptr to buffered data */
- void (*x_destroy) __P ((XDR * __xdrs));
+ void (*x_destroy) __P ((__const XDR * __xdrs));
/* free privates of this xdr_stream */
}
*x_ops;
diff --git a/sunrpc/rpcinfo.c b/sunrpc/rpcinfo.c
index 23fb3c0d8e..7adb89332e 100644
--- a/sunrpc/rpcinfo.c
+++ b/sunrpc/rpcinfo.c
@@ -151,7 +151,7 @@ main (int argc, char **argv)
if (errflg || function == NONE)
{
usage ();
- return (1);
+ return 1;
}
switch (function)
@@ -161,7 +161,7 @@ main (int argc, char **argv)
if (portnum != 0)
{
usage ();
- return (1);
+ return 1;
}
pmapdump (argc - optind, argv + optind);
break;
@@ -178,7 +178,7 @@ main (int argc, char **argv)
if (portnum != 0)
{
usage ();
- return (1);
+ return 1;
}
brdcst (argc - optind, argv + optind);
break;
@@ -188,7 +188,7 @@ main (int argc, char **argv)
break;
}
- return (0);
+ return 0;
}
static void
@@ -234,8 +234,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu is not available\n"),
- prognum);
+ printf (_("program %lu is not available\n"), prognum);
exit (1);
}
to.tv_sec = 10;
@@ -262,7 +261,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
+ printf (_("program %lu version %lu is not available\n"),
prognum, MAX_VERS);
exit (1);
}
@@ -308,7 +307,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
+ printf (_("program %lu version %lu is not available\n"),
prognum, vers);
exit (1);
}
@@ -331,7 +330,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf ("program %lu version %lu is not available\n",
+ printf (_("program %lu version %lu is not available\n"),
prognum, vers);
exit (1);
}
@@ -381,8 +380,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu is not available\n"),
- prognum);
+ printf (_("program %lu is not available\n"), prognum);
exit (1);
}
to.tv_sec = 10;
@@ -406,7 +404,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
+ printf (_("program %lu version %lu is not available\n"),
prognum, MAX_VERS);
exit (1);
}
@@ -452,7 +450,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
+ printf (_("program %lu version %lu is not available\n"),
prognum, vers);
exit (1);
}
@@ -475,7 +473,7 @@ tcpping (portnum, argc, argv)
0, 0)) == NULL)
{
clnt_pcreateerror ("rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
+ printf (_("program %lu version %lu is not available\n"),
prognum, vers);
exit (1);
}
@@ -509,15 +507,13 @@ pstatus (client, prognum, vers)
if (rpcerr.re_status != RPC_SUCCESS)
{
clnt_perror (client, "rpcinfo");
- printf (_ ("program %lu version %lu is not available\n"),
- prognum, vers);
- return (-1);
+ printf (_("program %lu version %lu is not available\n"), prognum, vers);
+ return -1;
}
else
{
- printf (_ ("program %lu version %lu ready and waiting\n"),
- prognum, vers);
- return (0);
+ printf (_("program %lu version %lu ready and waiting\n"), prognum, vers);
+ return 0;
}
}
@@ -557,24 +553,24 @@ pmapdump (argc, argv)
if ((client = clnttcp_create (&server_addr, PMAPPROG,
PMAPVERS, &socket, 50, 500)) == NULL)
{
- clnt_pcreateerror (_ ("rpcinfo: can't contact portmapper"));
+ clnt_pcreateerror (_("rpcinfo: can't contact portmapper"));
exit (1);
}
if (clnt_call (client, PMAPPROC_DUMP, (xdrproc_t) xdr_void, NULL,
(xdrproc_t) xdr_pmaplist, (caddr_t) &head,
minutetimeout) != RPC_SUCCESS)
{
- fprintf (stderr, _ ("rpcinfo: can't contact portmapper: "));
+ fputs (_("rpcinfo: can't contact portmapper: "), stderr);
clnt_perror (client, "rpcinfo");
exit (1);
}
if (head == NULL)
{
- printf (_ ("No remote programs registered.\n"));
+ fputs (_("No remote programs registered.\n"), stdout);
}
else
{
- printf (_ (" program vers proto port\n"));
+ fputs (_(" program vers proto port\n"), stdout);
for (; head != NULL; head = head->pml_next)
{
printf ("%10ld%5ld",
@@ -613,8 +609,8 @@ reply_proc (res, who)
hp = gethostbyaddr ((char *) &who->sin_addr, sizeof who->sin_addr,
AF_INET);
printf ("%s %s\n", inet_ntoa (who->sin_addr),
- (hp == NULL) ? _ ("(unknown)") : hp->h_name);
- return (FALSE);
+ (hp == NULL) ? _("(unknown)") : hp->h_name);
+ return FALSE;
}
static void
@@ -637,7 +633,7 @@ brdcst (argc, argv)
(resultproc_t) reply_proc);
if ((rpc_stat != RPC_SUCCESS) && (rpc_stat != RPC_TIMEDOUT))
{
- fprintf (stderr, _ ("rpcinfo: broadcast failed: %s\n"),
+ fprintf (stderr, _("rpcinfo: broadcast failed: %s\n"),
clnt_sperrno (rpc_stat));
exit (1);
}
@@ -658,14 +654,14 @@ deletereg (argc, argv)
}
if (getuid ())
{ /* This command allowed only to root */
- fprintf (stderr, "Sorry. You are not root\n");
+ fputs (_("Sorry. You are not root\n"), stderr);
exit (1);
}
prog_num = getprognum (argv[0]);
version_num = getvers (argv[1]);
if ((pmap_unset (prog_num, version_num)) == 0)
{
- fprintf (stderr, _ ("rpcinfo: Could not delete registration for prog %s version %s\n"),
+ fprintf (stderr, _("rpcinfo: Could not delete registration for prog %s version %s\n"),
argv[0], argv[1]);
exit (1);
}
@@ -674,11 +670,13 @@ deletereg (argc, argv)
static void
usage ()
{
- fprintf (stderr, _ ("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"));
- fprintf (stderr, _ (" rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"));
- fprintf (stderr, _ (" rpcinfo -p [ host ]\n"));
- fprintf (stderr, _ (" rpcinfo -b prognum versnum\n"));
- fprintf (stderr, _ (" rpcinfo -d prognum versnum\n"));
+ fputs (_("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"),
+ stderr);
+ fputs (_(" rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"),
+ stderr);
+ fputs (_(" rpcinfo -p [ host ]\n"), stderr);
+ fputs (_(" rpcinfo -b prognum versnum\n"), stderr);
+ fputs (_(" rpcinfo -d prognum versnum\n"), stderr);
}
static u_long
@@ -693,8 +691,7 @@ getprognum (arg)
rpc = getrpcbyname (arg);
if (rpc == NULL)
{
- fprintf (stderr, _ ("rpcinfo: %s is unknown service\n"),
- arg);
+ fprintf (stderr, _("rpcinfo: %s is unknown service\n"), arg);
exit (1);
}
prognum = rpc->r_number;
@@ -704,7 +701,7 @@ getprognum (arg)
prognum = (u_long) atoi (arg);
}
- return (prognum);
+ return prognum;
}
static u_long
@@ -714,7 +711,7 @@ getvers (arg)
register u_long vers;
vers = (int) atoi (arg);
- return (vers);
+ return vers;
}
static void
@@ -726,11 +723,12 @@ get_inet_address (addr, host)
bzero ((char *) addr, sizeof *addr);
addr->sin_addr.s_addr = (u_long) inet_addr (host);
- if (addr->sin_addr.s_addr == -1 || addr->sin_addr.s_addr == 0)
+ if (addr->sin_addr.s_addr == INADDR_NONE
+ || addr->sin_addr.s_addr == INADDR_ANY)
{
if ((hp = gethostbyname (host)) == NULL)
{
- fprintf (stderr, _ ("rpcinfo: %s is unknown host\n"),
+ fprintf (stderr, _("rpcinfo: %s is unknown host\n"),
host);
exit (1);
}
diff --git a/sunrpc/rpcsvc/rusers.x b/sunrpc/rpcsvc/rusers.x
index fdd1890e20..716098367f 100644
--- a/sunrpc/rpcsvc/rusers.x
+++ b/sunrpc/rpcsvc/rusers.x
@@ -85,6 +85,8 @@ program RUSERSPROG {
%extern "C" {
%#endif
%
+%#include <rpc/xdr.h>
+%
%/*
% * The following structures are used by version 2 of the rusersd protocol.
% * They were not developed with rpcgen, so they do not appear as RPCL.
@@ -110,7 +112,7 @@ program RUSERSPROG {
% int uta_cnt;
%};
%typedef struct utmparr utmparr;
-%int xdr_utmparr();
+%int xdr_utmparr(XDR *xdrs, struct utmparr *objp);
%
%struct utmpidle {
% struct ru_utmp ui_utmp;
@@ -122,7 +124,7 @@ program RUSERSPROG {
% int uia_cnt;
%};
%
-%int xdr_utmpidlearr();
+%int xdr_utmpidlearr(XDR *xdrs, struct utmpidlearr *objp);
%
%#ifdef __cplusplus
%}
diff --git a/sunrpc/xdr_mem.c b/sunrpc/xdr_mem.c
index 8e88e41ea2..a67713e669 100644
--- a/sunrpc/xdr_mem.c
+++ b/sunrpc/xdr_mem.c
@@ -49,7 +49,7 @@ static char sccsid[] = "@(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro";
static bool_t xdrmem_getlong (XDR *, long *);
static bool_t xdrmem_putlong (XDR *, const long *);
static bool_t xdrmem_getbytes (XDR *, caddr_t, u_int);
-static bool_t xdrmem_putbytes (XDR *, const caddr_t, u_int);
+static bool_t xdrmem_putbytes (XDR *, const char *, u_int);
static u_int xdrmem_getpos (const XDR *);
static bool_t xdrmem_setpos (XDR *, u_int);
static long *xdrmem_inline (XDR *, int);
@@ -158,7 +158,7 @@ xdrmem_getbytes (xdrs, addr, len)
static bool_t
xdrmem_putbytes (xdrs, addr, len)
XDR *xdrs;
- const caddr_t addr;
+ const char *addr;
u_int len;
{
diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c
index 66b33f8456..e76feeb991 100644
--- a/sunrpc/xdr_rec.c
+++ b/sunrpc/xdr_rec.c
@@ -56,11 +56,11 @@ static char sccsid[] = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro";
static bool_t xdrrec_getlong (XDR *, long *);
static bool_t xdrrec_putlong (XDR *, const long *);
static bool_t xdrrec_getbytes (XDR *, caddr_t, u_int);
-static bool_t xdrrec_putbytes (XDR *, const caddr_t, u_int);
-static u_int xdrrec_getpos (XDR *);
+static bool_t xdrrec_putbytes (XDR *, const char *, u_int);
+static u_int xdrrec_getpos (const XDR *);
static bool_t xdrrec_setpos (XDR *, u_int);
static long *xdrrec_inline (XDR *, int);
-static void xdrrec_destroy (XDR *);
+static void xdrrec_destroy (const XDR *);
static const struct xdr_ops xdrrec_ops =
{
@@ -276,7 +276,7 @@ xdrrec_getbytes (xdrs, addr, len)
static bool_t
xdrrec_putbytes (xdrs, addr, len)
XDR *xdrs;
- const caddr_t addr;
+ const char *addr;
u_int len;
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
@@ -301,7 +301,7 @@ xdrrec_putbytes (xdrs, addr, len)
}
static u_int
-xdrrec_getpos (XDR *xdrs)
+xdrrec_getpos (const XDR *xdrs)
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
long pos;
@@ -403,7 +403,7 @@ xdrrec_inline (XDR *xdrs, int len)
static void
xdrrec_destroy (xdrs)
- XDR *xdrs;
+ const XDR *xdrs;
{
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c
index ddd726d8cb..67d9db9053 100644
--- a/sunrpc/xdr_stdio.c
+++ b/sunrpc/xdr_stdio.c
@@ -48,11 +48,11 @@ static char sccsid[] = "@(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro";
static bool_t xdrstdio_getlong (XDR *, long *);
static bool_t xdrstdio_putlong (XDR *, const long *);
static bool_t xdrstdio_getbytes (XDR *, caddr_t, u_int);
-static bool_t xdrstdio_putbytes (XDR *, const caddr_t, u_int);
-static u_int xdrstdio_getpos (XDR *);
+static bool_t xdrstdio_putbytes (XDR *, const char *, u_int);
+static u_int xdrstdio_getpos (const XDR *);
static bool_t xdrstdio_setpos (XDR *, u_int);
static long *xdrstdio_inline (XDR *, int);
-static void xdrstdio_destroy (XDR *);
+static void xdrstdio_destroy (const XDR *);
/*
* Ops vector for stdio type XDR
@@ -94,7 +94,7 @@ xdrstdio_create (xdrs, file, op)
*/
static void
xdrstdio_destroy (xdrs)
- XDR *xdrs;
+ const XDR *xdrs;
{
(void) fflush ((FILE *) xdrs->x_private);
/* xx should we close the file ?? */
@@ -137,7 +137,7 @@ xdrstdio_getbytes (xdrs, addr, len)
}
static bool_t
-xdrstdio_putbytes (XDR *xdrs, const caddr_t addr, u_int len)
+xdrstdio_putbytes (XDR *xdrs, const char *addr, u_int len)
{
if ((len != 0) && (fwrite (addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
return FALSE;
@@ -145,7 +145,7 @@ xdrstdio_putbytes (XDR *xdrs, const caddr_t addr, u_int len)
}
static u_int
-xdrstdio_getpos (XDR *xdrs)
+xdrstdio_getpos (const XDR *xdrs)
{
return (u_int) ftell ((FILE *) xdrs->x_private);
}
diff --git a/sysdeps/generic/netinet/icmp6.h b/sysdeps/generic/netinet/icmp6.h
new file mode 100644
index 0000000000..f41cdfeeeb
--- /dev/null
+++ b/sysdeps/generic/netinet/icmp6.h
@@ -0,0 +1,203 @@
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef _NETINET_ICMP6_H
+#define _NETINET_ICMP6_H 1
+
+#include <sys/types.h>
+
+#define ICMPV6_FILTER 1
+
+#define ICMPV6_FILTER_BLOCK 1
+#define ICMPV6_FILTER_PASS 2
+#define ICMPV6_FILTER_BLOCKOTHERS 3
+#define ICMPV6_FILTER_PASSONLY 4
+
+struct icmpv6_filter
+ {
+ u_int32_t data[8];
+ };
+
+struct icmpv6hdr
+ {
+ u_int8_t icmpv6_type; /* type field */
+ u_int8_t icmpv6_code; /* code field */
+ u_int16_t icmpv6_cksum; /* checksum field */
+ union
+ {
+ u_int32_t un_data32[1]; /* type-specific field */
+ u_int16_t un_data16[2]; /* type-specific field */
+ u_int8_t un_data8[4]; /* type-specific field */
+ } icmpv6_dataun;
+ };
+
+#define icmpv6_data32 icmpv6_dataun.un_data32
+#define icmpv6_data16 icmpv6_dataun.un_data16
+#define icmpv6_data8 icmpv6_dataun.un_data8
+#define icmpv6_pptr icmpv6_data32[0] /* parameter prob */
+#define icmpv6_mtu icmpv6_data32[0] /* packet too big */
+#define icmpv6_id icmpv6_data16[0] /* echo request/reply */
+#define icmpv6_seq icmpv6_data16[1] /* echo request/reply */
+#define icmpv6_maxdelay icmpv6_data16[0] /* mcast group membership */
+
+#define ICMPV6_DEST_UNREACH 1
+#define ICMPV6_PACKET_TOOBIG 2
+#define ICMPV6_TIME_EXCEEDED 3
+#define ICMPV6_PARAMETER_PROBLEM 4
+#define ICMPV6_INFOMSG_MASK 128 /* message is info if bit set */
+#define ICMPV6_ECHOREQUEST 128
+#define ICMPV6_ECHOREPLY 129
+#define ICMPV6_MGM_QUERY 130
+#define ICMPV6_MGM_REPORT 131
+#define ICMPV6_MGM_REDUCTION 132
+
+#define ICMPV6_DEST_UNREACH_NOROUTE 0
+#define ICMPV6_DEST_UNREACH_ADMIN 1 /* administratively prohibited */
+#define ICMPV6_DEST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor (and must be) */
+#define ICMPV6_DEST_UNREACH_ADDR 3
+#define ICMPV6_DEST_UNREACH_NOPORT 4
+#define ICMPV6_TIME_EXCEED_HOPS 0 /* Hop Limit == 0 in transit */
+#define ICMPV6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */
+#define ICMPV6_PARAMPROB_HEADER 0 /* erroneous header field */
+#define ICMPV6_PARAMPROB_NEXTHEADER 1 /* unrecognized Next Header */
+#define ICMPV6_PARAMPROB_OPTION 2 /* unrecognized option */
+
+#if defined(__OPTIMIZE__)
+#include <asm/bitops.h>
+
+#define ICMPV6_FILTER_WILLPASS(type, filterp) \
+ (test_bit(type, filterp) == 0)
+
+#define ICMPV6_FILTER_WILLBLOCK(type, filterp) \
+ test_bit(type, filterp)
+
+#define ICMPV6_FILTER_SETPASS(type, filterp) \
+ clear_bit(type & 0x1f, &((filterp)->data[type >> 5]))
+
+#define ICMPV6_FILTER_SETBLOCK(type, filterp) \
+ set_bit(type & 0x1f, &((filterp)->data[type >> 5]))
+#else
+#define ICMPV6_FILTER_WILLPASS(type, filterp) \
+ ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) == 0)
+
+#define ICMPV6_FILTER_WILLBLOCK(type, filterp) \
+ ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) != 0)
+
+#define ICMPV6_FILTER_SETPASS(type, filterp) \
+ ((((filterp)->data[(type) >> 5]) &= ~(1 << ((type) & 31))))
+
+#define ICMPV6_FILTER_SETBLOCK(type, filterp) \
+ ((((filterp)->data[(type) >> 5]) |= (1 << ((type) & 31))))
+#endif
+
+#define ICMPV6_FILTER_SETPASSALL(filterp) \
+ memset(filterp, 0, sizeof(struct icmpv6_filter));
+
+#define ICMPV6_FILTER_SETBLOCKALL(filterp) \
+ memset(filterp, 0xFF, sizeof(struct icmpv6_filter));
+
+#define ND6_ROUTER_SOLICITATION 133
+#define ND6_ROUTER_ADVERTISEMENT 134
+#define ND6_NEIGHBOR_SOLICITATION 135
+#define ND6_NEIGHBOR_ADVERTISEMENT 136
+#define ND6_REDIRECT 137
+
+enum nd6_option
+ {
+ ND6_OPT_SOURCE_LINKADDR=1,
+ ND6_OPT_TARGET_LINKADDR=2,
+ ND6_OPT_PREFIX_INFORMATION=3,
+ ND6_OPT_REDIRECTED_HEADER=4,
+ ND6_OPT_MTU=5,
+ ND6_OPT_ENDOFLIST=256
+ };
+
+struct nd6_router_solicit /* router solicitation */
+ {
+ struct icmpv6hdr rsol_hdr;
+ };
+
+#define rsol_type rsol_hdr.icmpv6_type
+#define rsol_code rsol_hdr.icmpv6_code
+#define rsol_cksum rsol_hdr.icmpv6_cksum
+#define rsol_reserved rsol_hdr.icmpv6_data32[0]
+
+struct nd6_router_advert
+ {
+ struct icmpv6hdr radv_hdr;
+ u_int32_t radv_reachable; /* reachable time */
+ u_int32_t radv_retransmit; /* reachable retransmit time */
+ };
+
+#define radv_type radv_hdr.icmpv6_type
+#define radv_code radv_hdr.icmpv6_code
+#define radv_cksum radv_hdr.icmpv6_cksum
+#define radv_maxhoplimit radv_hdr.icmpv6_data8[0]
+#define radv_m_o_res radv_hdr.icmpv6_data8[1]
+#define ND6_RADV_M_BIT 0x80
+#define ND6_RADV_O_BIT 0x40
+#define radv_router_lifetime radv_hdr.icmpv6_data16[1]
+
+struct nd6_nsolicitation /* neighbor solicitation */
+ {
+ struct icmpv6hdr nsol6_hdr;
+ struct in6_addr nsol6_target;
+ };
+
+struct nd6_nadvertisement /* neighbor advertisement */
+ {
+ struct icmpv6hdr nadv6_hdr;
+ struct in6_addr nadv6_target;
+ };
+
+#define nadv6_flags nadv6_hdr.icmpv6_data32[0]
+#define ND6_NADVERFLAG_ISROUTER 0x80
+#define ND6_NADVERFLAG_SOLICITED 0x40
+#define ND6_NADVERFLAG_OVERRIDE 0x20
+
+struct nd6_redirect /* redirect */
+ {
+ struct icmpv6hdr redirect_hdr;
+ struct in6_addr redirect_target;
+ struct in6_addr redirect_destination;
+ };
+
+struct nd6_opt_prefix_info /* prefix information */
+ {
+ u_int8_t opt_type;
+ u_int8_t opt_length;
+ u_int8_t opt_prefix_length;
+ u_int8_t opt_l_a_res;
+ u_int32_t opt_valid_life;
+ u_int32_t opt_preferred_life;
+ u_int32_t opt_reserved2;
+ struct in6_addr opt_prefix;
+ };
+
+#define ND6_OPT_PI_L_BIT 0x80
+#define ND6_OPT_PI_A_BIT 0x40
+
+struct nd6_opt_mtu /* MTU option */
+ {
+ u_int8_t opt_type;
+ u_int8_t opt_length;
+ u_int16_t opt_reserved;
+ u_int32_t opt_mtu;
+ };
+
+#endif /* _NETINET6_ICMPV6_H */
diff --git a/sysdeps/generic/netinet/ip6.h b/sysdeps/generic/netinet/ip6.h
new file mode 100644
index 0000000000..487cafa374
--- /dev/null
+++ b/sysdeps/generic/netinet/ip6.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef _NETINET_IP6_H
+#define _NETINET_IP6_H 1
+
+#include <netinet/in.h>
+#include <endian.h>
+
+struct ipv6hdr {
+#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+ u_int8_t ipv6_version:4;
+ u_int8_t ipv6_priority:4; /* going away? */
+ u_int32_t ipv6_flowid:24;
+#elif (__BYTE_ORDER == __BIG_ENDIAN)
+ u_int32_t ipv6_flowid:24;
+ u_int8_t ipv6_priority:4; /* going away? */
+ u_int8_t ipv6_version:4;
+#else
+#error Unknown endianness
+#endif
+ u_int16_t ipv6_len;
+ u_int8_t ipv6_nextheader;
+ u_int8_t ipv6_hoplimit;
+ struct in6_addr ipv6_src;
+ struct in6_addr ipv6_dst;
+};
+
+#endif /* _NETINET_IP6_H */
diff --git a/sysdeps/standalone/arm/errnos.h b/sysdeps/standalone/arm/errnos.h
index 0b635e649d..428fe9eb77 100644
--- a/sysdeps/standalone/arm/errnos.h
+++ b/sysdeps/standalone/arm/errnos.h
@@ -44,6 +44,8 @@ Cambridge, MA 02139, USA. */
#define EILSEQ 16
#define ENOEXEC 17
#define ENOENT 18
+#define EPROTOTYPE 19
+#define ESRCH 20
#endif
#define __set_errno(val) errno = (val)
diff --git a/sysdeps/stub/accept.c b/sysdeps/stub/accept.c
index e9a774c026..6934397925 100644
--- a/sysdeps/stub/accept.c
+++ b/sysdeps/stub/accept.c
@@ -27,7 +27,7 @@ Cambridge, MA 02139, USA. */
int
accept (fd, addr, addr_len)
int fd;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addr;
size_t *addr_len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/bind.c b/sysdeps/stub/bind.c
index 7f4d8145b8..22944c393b 100644
--- a/sysdeps/stub/bind.c
+++ b/sysdeps/stub/bind.c
@@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int
bind (fd, addr, len)
int fd;
- const struct sockaddr *addr;
+ __CONST_SOCKADDR_ARG addr;
size_t len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/connect.c b/sysdeps/stub/connect.c
index 0d642cbcea..be10fc3345 100644
--- a/sysdeps/stub/connect.c
+++ b/sysdeps/stub/connect.c
@@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */
int
connect (fd, addr, len)
int fd;
- const struct sockaddr *addr;
+ __CONST_SOCKADDR_ARG addr;
size_t len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/direntry.h b/sysdeps/stub/direntry.h
index 4b22f31bd6..2f7dca78aa 100644
--- a/sysdeps/stub/direntry.h
+++ b/sysdeps/stub/direntry.h
@@ -20,4 +20,5 @@
struct dirent
{
char d_name[1]; /* Variable length. */
+ int d_fileno;
};
diff --git a/sysdeps/stub/getpeername.c b/sysdeps/stub/getpeername.c
index 85256ad7ed..a2eb4ad79c 100644
--- a/sysdeps/stub/getpeername.c
+++ b/sysdeps/stub/getpeername.c
@@ -24,7 +24,7 @@ Cambridge, MA 02139, USA. */
int
getpeername (fd, addr, len)
int fd;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addr;
size_t *len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/getsockname.c b/sysdeps/stub/getsockname.c
index 17bb2b8a24..517ccfea17 100644
--- a/sysdeps/stub/getsockname.c
+++ b/sysdeps/stub/getsockname.c
@@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int
getsockname (fd, addr, len)
int fd;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addr;
size_t *len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/readv.c b/sysdeps/stub/readv.c
index a3240df239..8dd22d9649 100644
--- a/sysdeps/stub/readv.c
+++ b/sysdeps/stub/readv.c
@@ -29,7 +29,7 @@ int
__readv (fd, vector, count)
int fd;
const struct iovec *vector;
- size_t count;
+ int count;
{
__set_errno (ENOSYS);
return -1;
diff --git a/sysdeps/stub/recvfrom.c b/sysdeps/stub/recvfrom.c
index 47973ed896..e81946cb90 100644
--- a/sysdeps/stub/recvfrom.c
+++ b/sysdeps/stub/recvfrom.c
@@ -28,7 +28,7 @@ recvfrom (fd, buf, n, flags, addr, addr_len)
void *buf;
size_t n;
int flags;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addr;
size_t *addr_len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/send.c b/sysdeps/stub/send.c
index e921fd74bd..fbf8186ed5 100644
--- a/sysdeps/stub/send.c
+++ b/sysdeps/stub/send.c
@@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int
send (fd, buf, n, flags)
int fd;
- void *buf;
+ __const __ptr_t buf;
size_t n;
int flags;
{
diff --git a/sysdeps/stub/sendto.c b/sysdeps/stub/sendto.c
index 26353919a1..a05717ae68 100644
--- a/sysdeps/stub/sendto.c
+++ b/sysdeps/stub/sendto.c
@@ -24,10 +24,10 @@ Cambridge, MA 02139, USA. */
int
sendto (fd, buf, n, flags, addr, addr_len)
int fd;
- void *buf;
+ __const __ptr_t buf;
size_t n;
int flags;
- const struct sockaddr *addr;
+ __CONST_SOCKADDR_ARG addr;
size_t addr_len;
{
__set_errno (ENOSYS);
diff --git a/sysdeps/stub/ttyname_r.c b/sysdeps/stub/ttyname_r.c
index 7a05629c43..3c0306caaa 100644
--- a/sysdeps/stub/ttyname_r.c
+++ b/sysdeps/stub/ttyname_r.c
@@ -26,7 +26,7 @@ int
ttyname_r (fd, buf, buflen)
int fd;
char *buf;
- int buflen;
+ size_t buflen;
{
__set_errno (ENOSYS);
return -1;
diff --git a/sysdeps/stub/writev.c b/sysdeps/stub/writev.c
index 1fd7c2ec73..d18d73cddc 100644
--- a/sysdeps/stub/writev.c
+++ b/sysdeps/stub/writev.c
@@ -29,7 +29,7 @@ int
__writev (fd, vector, count)
int fd;
const struct iovec *vector;
- size_t count;
+ int count;
{
__set_errno (ENOSYS);
return -1;
diff --git a/sysdeps/unix/arm/sysdep.h b/sysdeps/unix/arm/sysdep.h
index 1c580731ba..b1860dd443 100644
--- a/sysdeps/unix/arm/sysdep.h
+++ b/sysdeps/unix/arm/sysdep.h
@@ -19,7 +19,7 @@ Cambridge, MA 02139, USA. */
#include <sysdeps/unix/sysdep.h>
#include <sysdeps/arm/sysdep.h>
-/* Some definitions to allow the assembler in sysdeps/unix/*.S to build
+/* Some definitions to allow the assembler in sysdeps/unix/ to build
without needing ARM-specific versions of all the files. */
#define ret RETINSTR(mov, pc, r14)
diff --git a/sysdeps/unix/sysv/linux/arm/profil-counter.h b/sysdeps/unix/sysv/linux/arm/profil-counter.h
new file mode 100644
index 0000000000..a915da7788
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/profil-counter.h
@@ -0,0 +1,26 @@
+/* Low-level statistical profiling support function. Linux/ARM version.
+ Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <sigcontext.h>
+
+void
+profil_counter (int signo, struct sigcontext sc)
+{
+ profil_count ((void *) sc.eip);
+}
diff --git a/sysdeps/unix/sysv/linux/arm/syscall.S b/sysdeps/unix/sysv/linux/arm/syscall.S
index 7a87278303..bc2bc7dbaa 100644
--- a/sysdeps/unix/sysv/linux/arm/syscall.S
+++ b/sysdeps/unix/sysv/linux/arm/syscall.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -26,10 +26,10 @@ ENTRY (syscall)
/* Normally encoding the system call number in the instruction is
good. But we pay the price here. */
-
+
sub sp, sp, $0xc @ get 3 words on the stack
orr r0, r0, $0xef000000 @ make up a SWI instruction
- orr r0, r0, $SWI_BASE
+ orr r0, r0, $SWI_BASE
str r0, [sp]
ldr r0, _reti
str r0, [sp, $4]
@@ -43,5 +43,5 @@ _ret: add sp, sp, $0xc
RETINSTR(mov, pc, r14)
_reti: .word 0xe51ff004 @ ldr pc, [pc, $4]
-
+
PSEUDO_END (syscall)
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h
index 6478a5d182..0aa085d351 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -1,22 +1,22 @@
/* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
-ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
+ ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#ifndef _LINUX_ARM_SYSDEP_H
#define _LINUX_ARM_SYSDEP_H 1
@@ -61,12 +61,12 @@ Cambridge, MA 02139, USA. */
#ifndef PIC
#define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */
#else
-#error Aiee
+#error Aiee
#endif /* PIC */
#undef DO_CALL
#define DO_CALL(args, syscall_name) \
- swi SYS_ify (syscall_name);
+ swi SYS_ify (syscall_name);
#endif /* ASSEMBLER */
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 7418982c2a..a38e4b3531 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -1,21 +1,21 @@
-/* Copyright (C) 1992, 93, 95, 96 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+/* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#ifndef _LINUX_I386_SYSDEP_H
#define _LINUX_I386_SYSDEP_H 1
diff --git a/sysdeps/unix/sysv/linux/netinet/in.h b/sysdeps/unix/sysv/linux/netinet/in.h
index 451f8f5a20..b0c793e7cf 100644
--- a/sysdeps/unix/sysv/linux/netinet/in.h
+++ b/sysdeps/unix/sysv/linux/netinet/in.h
@@ -301,7 +301,7 @@ extern u_int16_t htons __P ((u_int16_t __hostshort));
(((u_int32_t *)(a))[2] == 0) && (ntohl(((u_int32_t *)(a))[3]) > 1))
-/* Bind socket to a priviledged IP port. */
+/* Bind socket to a privileged IP port. */
extern int bindresvport __P ((int __sockfd, struct sockaddr_in *__sin));
diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c
index 070b00c30f..9d36b26aa2 100644
--- a/sysdeps/unix/sysv/linux/shmat.c
+++ b/sysdeps/unix/sysv/linux/shmat.c
@@ -32,7 +32,7 @@ shmat (shmid, shmaddr, shmflg)
int retval;
unsigned long raddr;
- retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, shmaddr);
+ retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, (void *) shmaddr);
return ((unsigned long int) retval > -(unsigned long int) SHMLBA
? (void *) retval : (void *) raddr);
}
diff --git a/sysdeps/unix/sysv/linux/socketbits.h b/sysdeps/unix/sysv/linux/socketbits.h
index 101afc268c..e60f903fc5 100644
--- a/sysdeps/unix/sysv/linux/socketbits.h
+++ b/sysdeps/unix/sysv/linux/socketbits.h
@@ -158,9 +158,13 @@ struct cmsghdr
#endif
#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
#define CMSG_FIRSTHDR(mhdr) \
- ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
+ ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL)
-
+#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
+ & ~(sizeof (size_t) - 1))
+#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
+ + CMSG_ALIGN (sizeof (struct cmsghdr)))
+#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
#ifndef _EXTERN_INLINE
# define _EXTERN_INLINE extern __inline