diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-05-22 02:19:00 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-05-22 02:19:00 +0000 |
commit | bfbc57545a197afff72572c3a6f0563023d553a5 (patch) | |
tree | 52096edcfa9545eecacfa230d8a5d440b8564f80 | |
parent | 9498096c93a5755cd48a72762d2b6701bd7d796e (diff) | |
download | glibc-bfbc57545a197afff72572c3a6f0563023d553a5.tar.gz |
Update.cvs/libc-ud-970521
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.
34 files changed, 458 insertions, 120 deletions
@@ -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 @@ -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 |