1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
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.
This commit is contained in:
Ulrich Drepper
1997-05-22 02:19:00 +00:00
parent 9498096c93
commit bfbc57545a
34 changed files with 455 additions and 117 deletions

4
BUGS
View File

@ -1,7 +1,7 @@
List of known bugs (certainly very incomplete) 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 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 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 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 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 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 reported before by looking though the database. To make the information

View File

@ -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> 1997-05-21 17:50 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (dl-routines): Add dl-sysdepio. * elf/Makefile (dl-routines): Add dl-sysdepio.

View File

@ -23,7 +23,7 @@ subdir := inet
headers := netinet/ether.h netinet/in.h netinet/if_ether.h \ headers := netinet/ether.h netinet/in.h netinet/if_ether.h \
netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.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 distribute := netgroup.h

View File

@ -22,7 +22,7 @@
#include <ctype.h> #include <ctype.h>
/* states: S_N: normal, S_I: comparing integral part, S_F: comparing /* 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_N 0x0
#define S_I 0x4 #define S_I 0x4
#define S_F 0x8 #define S_F 0x8

View File

@ -197,7 +197,7 @@ static const struct rpc_errtab rpc_errlist[] =
char * char *
clnt_sperrno (enum clnt_stat stat) clnt_sperrno (enum clnt_stat stat)
{ {
int i; size_t i;
for (i = 0; i < sizeof (rpc_errlist) / sizeof (struct rpc_errtab); i++) for (i = 0; i < sizeof (rpc_errlist) / sizeof (struct rpc_errtab); i++)
{ {

View File

@ -123,16 +123,16 @@ struct XDR
/* put a long to " */ /* put a long to " */
bool_t (*x_getbytes) __P ((XDR * __xdrs, caddr_t __addr, u_int __len)); bool_t (*x_getbytes) __P ((XDR * __xdrs, caddr_t __addr, u_int __len));
/* get some bytes from " */ /* 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)); u_int __len));
/* put some bytes to " */ /* put some bytes to " */
u_int (*x_getpostn) __P ((XDR * __xdrs)); u_int (*x_getpostn) __P ((__const XDR * __xdrs));
/* returns bytes off from beginning */ /* returns bytes off from beginning */
bool_t (*x_setpostn) __P ((XDR * __xdrs, u_int pos)); bool_t (*x_setpostn) __P ((XDR * __xdrs, u_int pos));
/* lets you reposition the stream */ /* lets you reposition the stream */
long *(*x_inline) __P ((XDR * __xdrs, int len)); long *(*x_inline) __P ((XDR * __xdrs, int len));
/* buf quick ptr to buffered data */ /* 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 */ /* free privates of this xdr_stream */
} }
*x_ops; *x_ops;

View File

@ -151,7 +151,7 @@ main (int argc, char **argv)
if (errflg || function == NONE) if (errflg || function == NONE)
{ {
usage (); usage ();
return (1); return 1;
} }
switch (function) switch (function)
@ -161,7 +161,7 @@ main (int argc, char **argv)
if (portnum != 0) if (portnum != 0)
{ {
usage (); usage ();
return (1); return 1;
} }
pmapdump (argc - optind, argv + optind); pmapdump (argc - optind, argv + optind);
break; break;
@ -178,7 +178,7 @@ main (int argc, char **argv)
if (portnum != 0) if (portnum != 0)
{ {
usage (); usage ();
return (1); return 1;
} }
brdcst (argc - optind, argv + optind); brdcst (argc - optind, argv + optind);
break; break;
@ -188,7 +188,7 @@ main (int argc, char **argv)
break; break;
} }
return (0); return 0;
} }
static void static void
@ -234,8 +234,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL) to, &sock)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu is not available\n"), printf (_("program %lu is not available\n"), prognum);
prognum);
exit (1); exit (1);
} }
to.tv_sec = 10; to.tv_sec = 10;
@ -262,7 +261,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL) to, &sock)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"),
prognum, MAX_VERS); prognum, MAX_VERS);
exit (1); exit (1);
} }
@ -308,7 +307,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL) to, &sock)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"),
prognum, vers); prognum, vers);
exit (1); exit (1);
} }
@ -331,7 +330,7 @@ udpping (portnum, argc, argv)
to, &sock)) == NULL) to, &sock)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf ("program %lu version %lu is not available\n", printf (_("program %lu version %lu is not available\n"),
prognum, vers); prognum, vers);
exit (1); exit (1);
} }
@ -381,8 +380,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL) &sock, 0, 0)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu is not available\n"), printf (_("program %lu is not available\n"), prognum);
prognum);
exit (1); exit (1);
} }
to.tv_sec = 10; to.tv_sec = 10;
@ -406,7 +404,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL) &sock, 0, 0)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"),
prognum, MAX_VERS); prognum, MAX_VERS);
exit (1); exit (1);
} }
@ -452,7 +450,7 @@ tcpping (portnum, argc, argv)
&sock, 0, 0)) == NULL) &sock, 0, 0)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"),
prognum, vers); prognum, vers);
exit (1); exit (1);
} }
@ -475,7 +473,7 @@ tcpping (portnum, argc, argv)
0, 0)) == NULL) 0, 0)) == NULL)
{ {
clnt_pcreateerror ("rpcinfo"); clnt_pcreateerror ("rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"),
prognum, vers); prognum, vers);
exit (1); exit (1);
} }
@ -509,15 +507,13 @@ pstatus (client, prognum, vers)
if (rpcerr.re_status != RPC_SUCCESS) if (rpcerr.re_status != RPC_SUCCESS)
{ {
clnt_perror (client, "rpcinfo"); clnt_perror (client, "rpcinfo");
printf (_ ("program %lu version %lu is not available\n"), printf (_("program %lu version %lu is not available\n"), prognum, vers);
prognum, vers); return -1;
return (-1);
} }
else else
{ {
printf (_ ("program %lu version %lu ready and waiting\n"), printf (_("program %lu version %lu ready and waiting\n"), prognum, vers);
prognum, vers); return 0;
return (0);
} }
} }
@ -557,24 +553,24 @@ pmapdump (argc, argv)
if ((client = clnttcp_create (&server_addr, PMAPPROG, if ((client = clnttcp_create (&server_addr, PMAPPROG,
PMAPVERS, &socket, 50, 500)) == NULL) PMAPVERS, &socket, 50, 500)) == NULL)
{ {
clnt_pcreateerror (_ ("rpcinfo: can't contact portmapper")); clnt_pcreateerror (_("rpcinfo: can't contact portmapper"));
exit (1); exit (1);
} }
if (clnt_call (client, PMAPPROC_DUMP, (xdrproc_t) xdr_void, NULL, if (clnt_call (client, PMAPPROC_DUMP, (xdrproc_t) xdr_void, NULL,
(xdrproc_t) xdr_pmaplist, (caddr_t) &head, (xdrproc_t) xdr_pmaplist, (caddr_t) &head,
minutetimeout) != RPC_SUCCESS) minutetimeout) != RPC_SUCCESS)
{ {
fprintf (stderr, _ ("rpcinfo: can't contact portmapper: ")); fputs (_("rpcinfo: can't contact portmapper: "), stderr);
clnt_perror (client, "rpcinfo"); clnt_perror (client, "rpcinfo");
exit (1); exit (1);
} }
if (head == NULL) if (head == NULL)
{ {
printf (_ ("No remote programs registered.\n")); fputs (_("No remote programs registered.\n"), stdout);
} }
else else
{ {
printf (_ (" program vers proto port\n")); fputs (_(" program vers proto port\n"), stdout);
for (; head != NULL; head = head->pml_next) for (; head != NULL; head = head->pml_next)
{ {
printf ("%10ld%5ld", printf ("%10ld%5ld",
@ -613,8 +609,8 @@ reply_proc (res, who)
hp = gethostbyaddr ((char *) &who->sin_addr, sizeof who->sin_addr, hp = gethostbyaddr ((char *) &who->sin_addr, sizeof who->sin_addr,
AF_INET); AF_INET);
printf ("%s %s\n", inet_ntoa (who->sin_addr), printf ("%s %s\n", inet_ntoa (who->sin_addr),
(hp == NULL) ? _ ("(unknown)") : hp->h_name); (hp == NULL) ? _("(unknown)") : hp->h_name);
return (FALSE); return FALSE;
} }
static void static void
@ -637,7 +633,7 @@ brdcst (argc, argv)
(resultproc_t) reply_proc); (resultproc_t) reply_proc);
if ((rpc_stat != RPC_SUCCESS) && (rpc_stat != RPC_TIMEDOUT)) 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)); clnt_sperrno (rpc_stat));
exit (1); exit (1);
} }
@ -658,14 +654,14 @@ deletereg (argc, argv)
} }
if (getuid ()) if (getuid ())
{ /* This command allowed only to root */ { /* This command allowed only to root */
fprintf (stderr, "Sorry. You are not root\n"); fputs (_("Sorry. You are not root\n"), stderr);
exit (1); exit (1);
} }
prog_num = getprognum (argv[0]); prog_num = getprognum (argv[0]);
version_num = getvers (argv[1]); version_num = getvers (argv[1]);
if ((pmap_unset (prog_num, version_num)) == 0) 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]); argv[0], argv[1]);
exit (1); exit (1);
} }
@ -674,11 +670,13 @@ deletereg (argc, argv)
static void static void
usage () usage ()
{ {
fprintf (stderr, _ ("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n")); fputs (_("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"),
fprintf (stderr, _ (" rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n")); stderr);
fprintf (stderr, _ (" rpcinfo -p [ host ]\n")); fputs (_(" rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"),
fprintf (stderr, _ (" rpcinfo -b prognum versnum\n")); stderr);
fprintf (stderr, _ (" rpcinfo -d prognum versnum\n")); fputs (_(" rpcinfo -p [ host ]\n"), stderr);
fputs (_(" rpcinfo -b prognum versnum\n"), stderr);
fputs (_(" rpcinfo -d prognum versnum\n"), stderr);
} }
static u_long static u_long
@ -693,8 +691,7 @@ getprognum (arg)
rpc = getrpcbyname (arg); rpc = getrpcbyname (arg);
if (rpc == NULL) if (rpc == NULL)
{ {
fprintf (stderr, _ ("rpcinfo: %s is unknown service\n"), fprintf (stderr, _("rpcinfo: %s is unknown service\n"), arg);
arg);
exit (1); exit (1);
} }
prognum = rpc->r_number; prognum = rpc->r_number;
@ -704,7 +701,7 @@ getprognum (arg)
prognum = (u_long) atoi (arg); prognum = (u_long) atoi (arg);
} }
return (prognum); return prognum;
} }
static u_long static u_long
@ -714,7 +711,7 @@ getvers (arg)
register u_long vers; register u_long vers;
vers = (int) atoi (arg); vers = (int) atoi (arg);
return (vers); return vers;
} }
static void static void
@ -726,11 +723,12 @@ get_inet_address (addr, host)
bzero ((char *) addr, sizeof *addr); bzero ((char *) addr, sizeof *addr);
addr->sin_addr.s_addr = (u_long) inet_addr (host); 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) if ((hp = gethostbyname (host)) == NULL)
{ {
fprintf (stderr, _ ("rpcinfo: %s is unknown host\n"), fprintf (stderr, _("rpcinfo: %s is unknown host\n"),
host); host);
exit (1); exit (1);
} }

View File

@ -85,6 +85,8 @@ program RUSERSPROG {
%extern "C" { %extern "C" {
%#endif %#endif
% %
%#include <rpc/xdr.h>
%
%/* %/*
% * The following structures are used by version 2 of the rusersd protocol. % * 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. % * They were not developed with rpcgen, so they do not appear as RPCL.
@ -110,7 +112,7 @@ program RUSERSPROG {
% int uta_cnt; % int uta_cnt;
%}; %};
%typedef struct utmparr utmparr; %typedef struct utmparr utmparr;
%int xdr_utmparr(); %int xdr_utmparr(XDR *xdrs, struct utmparr *objp);
% %
%struct utmpidle { %struct utmpidle {
% struct ru_utmp ui_utmp; % struct ru_utmp ui_utmp;
@ -122,7 +124,7 @@ program RUSERSPROG {
% int uia_cnt; % int uia_cnt;
%}; %};
% %
%int xdr_utmpidlearr(); %int xdr_utmpidlearr(XDR *xdrs, struct utmpidlearr *objp);
% %
%#ifdef __cplusplus %#ifdef __cplusplus
%} %}

View File

@ -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_getlong (XDR *, long *);
static bool_t xdrmem_putlong (XDR *, const long *); static bool_t xdrmem_putlong (XDR *, const long *);
static bool_t xdrmem_getbytes (XDR *, caddr_t, u_int); 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 u_int xdrmem_getpos (const XDR *);
static bool_t xdrmem_setpos (XDR *, u_int); static bool_t xdrmem_setpos (XDR *, u_int);
static long *xdrmem_inline (XDR *, int); static long *xdrmem_inline (XDR *, int);
@ -158,7 +158,7 @@ xdrmem_getbytes (xdrs, addr, len)
static bool_t static bool_t
xdrmem_putbytes (xdrs, addr, len) xdrmem_putbytes (xdrs, addr, len)
XDR *xdrs; XDR *xdrs;
const caddr_t addr; const char *addr;
u_int len; u_int len;
{ {

View File

@ -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_getlong (XDR *, long *);
static bool_t xdrrec_putlong (XDR *, const long *); static bool_t xdrrec_putlong (XDR *, const long *);
static bool_t xdrrec_getbytes (XDR *, caddr_t, u_int); static bool_t xdrrec_getbytes (XDR *, caddr_t, u_int);
static bool_t xdrrec_putbytes (XDR *, const caddr_t, u_int); static bool_t xdrrec_putbytes (XDR *, const char *, u_int);
static u_int xdrrec_getpos (XDR *); static u_int xdrrec_getpos (const XDR *);
static bool_t xdrrec_setpos (XDR *, u_int); static bool_t xdrrec_setpos (XDR *, u_int);
static long *xdrrec_inline (XDR *, 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 = static const struct xdr_ops xdrrec_ops =
{ {
@ -276,7 +276,7 @@ xdrrec_getbytes (xdrs, addr, len)
static bool_t static bool_t
xdrrec_putbytes (xdrs, addr, len) xdrrec_putbytes (xdrs, addr, len)
XDR *xdrs; XDR *xdrs;
const caddr_t addr; const char *addr;
u_int len; u_int len;
{ {
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
@ -301,7 +301,7 @@ xdrrec_putbytes (xdrs, addr, len)
} }
static u_int static u_int
xdrrec_getpos (XDR *xdrs) xdrrec_getpos (const XDR *xdrs)
{ {
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
long pos; long pos;
@ -403,7 +403,7 @@ xdrrec_inline (XDR *xdrs, int len)
static void static void
xdrrec_destroy (xdrs) xdrrec_destroy (xdrs)
XDR *xdrs; const XDR *xdrs;
{ {
RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;

View File

@ -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_getlong (XDR *, long *);
static bool_t xdrstdio_putlong (XDR *, const long *); static bool_t xdrstdio_putlong (XDR *, const long *);
static bool_t xdrstdio_getbytes (XDR *, caddr_t, u_int); static bool_t xdrstdio_getbytes (XDR *, caddr_t, u_int);
static bool_t xdrstdio_putbytes (XDR *, const caddr_t, u_int); static bool_t xdrstdio_putbytes (XDR *, const char *, u_int);
static u_int xdrstdio_getpos (XDR *); static u_int xdrstdio_getpos (const XDR *);
static bool_t xdrstdio_setpos (XDR *, u_int); static bool_t xdrstdio_setpos (XDR *, u_int);
static long *xdrstdio_inline (XDR *, int); static long *xdrstdio_inline (XDR *, int);
static void xdrstdio_destroy (XDR *); static void xdrstdio_destroy (const XDR *);
/* /*
* Ops vector for stdio type XDR * Ops vector for stdio type XDR
@ -94,7 +94,7 @@ xdrstdio_create (xdrs, file, op)
*/ */
static void static void
xdrstdio_destroy (xdrs) xdrstdio_destroy (xdrs)
XDR *xdrs; const XDR *xdrs;
{ {
(void) fflush ((FILE *) xdrs->x_private); (void) fflush ((FILE *) xdrs->x_private);
/* xx should we close the file ?? */ /* xx should we close the file ?? */
@ -137,7 +137,7 @@ xdrstdio_getbytes (xdrs, addr, len)
} }
static bool_t 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)) if ((len != 0) && (fwrite (addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
return FALSE; return FALSE;
@ -145,7 +145,7 @@ xdrstdio_putbytes (XDR *xdrs, const caddr_t addr, u_int len)
} }
static u_int static u_int
xdrstdio_getpos (XDR *xdrs) xdrstdio_getpos (const XDR *xdrs)
{ {
return (u_int) ftell ((FILE *) xdrs->x_private); return (u_int) ftell ((FILE *) xdrs->x_private);
} }

View File

@ -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 */

View File

@ -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 */

View File

@ -44,6 +44,8 @@ Cambridge, MA 02139, USA. */
#define EILSEQ 16 #define EILSEQ 16
#define ENOEXEC 17 #define ENOEXEC 17
#define ENOENT 18 #define ENOENT 18
#define EPROTOTYPE 19
#define ESRCH 20
#endif #endif
#define __set_errno(val) errno = (val) #define __set_errno(val) errno = (val)

View File

@ -27,7 +27,7 @@ Cambridge, MA 02139, USA. */
int int
accept (fd, addr, addr_len) accept (fd, addr, addr_len)
int fd; int fd;
struct sockaddr *addr; __SOCKADDR_ARG addr;
size_t *addr_len; size_t *addr_len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int int
bind (fd, addr, len) bind (fd, addr, len)
int fd; int fd;
const struct sockaddr *addr; __CONST_SOCKADDR_ARG addr;
size_t len; size_t len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */
int int
connect (fd, addr, len) connect (fd, addr, len)
int fd; int fd;
const struct sockaddr *addr; __CONST_SOCKADDR_ARG addr;
size_t len; size_t len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -20,4 +20,5 @@
struct dirent struct dirent
{ {
char d_name[1]; /* Variable length. */ char d_name[1]; /* Variable length. */
int d_fileno;
}; };

View File

@ -24,7 +24,7 @@ Cambridge, MA 02139, USA. */
int int
getpeername (fd, addr, len) getpeername (fd, addr, len)
int fd; int fd;
struct sockaddr *addr; __SOCKADDR_ARG addr;
size_t *len; size_t *len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int int
getsockname (fd, addr, len) getsockname (fd, addr, len)
int fd; int fd;
struct sockaddr *addr; __SOCKADDR_ARG addr;
size_t *len; size_t *len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -29,7 +29,7 @@ int
__readv (fd, vector, count) __readv (fd, vector, count)
int fd; int fd;
const struct iovec *vector; const struct iovec *vector;
size_t count; int count;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);
return -1; return -1;

View File

@ -28,7 +28,7 @@ recvfrom (fd, buf, n, flags, addr, addr_len)
void *buf; void *buf;
size_t n; size_t n;
int flags; int flags;
struct sockaddr *addr; __SOCKADDR_ARG addr;
size_t *addr_len; size_t *addr_len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
int int
send (fd, buf, n, flags) send (fd, buf, n, flags)
int fd; int fd;
void *buf; __const __ptr_t buf;
size_t n; size_t n;
int flags; int flags;
{ {

View File

@ -24,10 +24,10 @@ Cambridge, MA 02139, USA. */
int int
sendto (fd, buf, n, flags, addr, addr_len) sendto (fd, buf, n, flags, addr, addr_len)
int fd; int fd;
void *buf; __const __ptr_t buf;
size_t n; size_t n;
int flags; int flags;
const struct sockaddr *addr; __CONST_SOCKADDR_ARG addr;
size_t addr_len; size_t addr_len;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);

View File

@ -26,7 +26,7 @@ int
ttyname_r (fd, buf, buflen) ttyname_r (fd, buf, buflen)
int fd; int fd;
char *buf; char *buf;
int buflen; size_t buflen;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);
return -1; return -1;

View File

@ -29,7 +29,7 @@ int
__writev (fd, vector, count) __writev (fd, vector, count)
int fd; int fd;
const struct iovec *vector; const struct iovec *vector;
size_t count; int count;
{ {
__set_errno (ENOSYS); __set_errno (ENOSYS);
return -1; return -1;

View File

@ -19,7 +19,7 @@ Cambridge, MA 02139, USA. */
#include <sysdeps/unix/sysdep.h> #include <sysdeps/unix/sysdep.h>
#include <sysdeps/arm/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. */ without needing ARM-specific versions of all the files. */
#define ret RETINSTR(mov, pc, r14) #define ret RETINSTR(mov, pc, r14)

View File

@ -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);
}

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 /* Normally encoding the system call number in the instruction is
good. But we pay the price here. */ good. But we pay the price here. */
sub sp, sp, $0xc @ get 3 words on the stack sub sp, sp, $0xc @ get 3 words on the stack
orr r0, r0, $0xef000000 @ make up a SWI instruction orr r0, r0, $0xef000000 @ make up a SWI instruction
orr r0, r0, $SWI_BASE orr r0, r0, $SWI_BASE
str r0, [sp] str r0, [sp]
ldr r0, _reti ldr r0, _reti
str r0, [sp, $4] str r0, [sp, $4]
@ -43,5 +43,5 @@ _ret: add sp, sp, $0xc
RETINSTR(mov, pc, r14) RETINSTR(mov, pc, r14)
_reti: .word 0xe51ff004 @ ldr pc, [pc, $4] _reti: .word 0xe51ff004 @ ldr pc, [pc, $4]
PSEUDO_END (syscall) PSEUDO_END (syscall)

View File

@ -1,22 +1,22 @@
/* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc. /* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997. ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997.
The GNU C Library is free software; you can redistribute it and/or 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 modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public 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 License along with the GNU C Library; see the file COPYING.LIB. If not,
not, write to the Free Software Foundation, Inc., 675 Mass Ave, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Cambridge, MA 02139, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _LINUX_ARM_SYSDEP_H #ifndef _LINUX_ARM_SYSDEP_H
#define _LINUX_ARM_SYSDEP_H 1 #define _LINUX_ARM_SYSDEP_H 1
@ -61,12 +61,12 @@ Cambridge, MA 02139, USA. */
#ifndef PIC #ifndef PIC
#define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ #define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */
#else #else
#error Aiee #error Aiee
#endif /* PIC */ #endif /* PIC */
#undef DO_CALL #undef DO_CALL
#define DO_CALL(args, syscall_name) \ #define DO_CALL(args, syscall_name) \
swi SYS_ify (syscall_name); swi SYS_ify (syscall_name);
#endif /* ASSEMBLER */ #endif /* ASSEMBLER */

View File

@ -1,21 +1,21 @@
/* Copyright (C) 1992, 93, 95, 96 Free Software Foundation, Inc. /* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
The GNU C Library is free software; you can redistribute it and/or 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 modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version. License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public 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 License along with the GNU C Library; see the file COPYING.LIB. If not,
not, write to the Free Software Foundation, Inc., 675 Mass Ave, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Cambridge, MA 02139, USA. */ Boston, MA 02111-1307, USA. */
#ifndef _LINUX_I386_SYSDEP_H #ifndef _LINUX_I386_SYSDEP_H
#define _LINUX_I386_SYSDEP_H 1 #define _LINUX_I386_SYSDEP_H 1

View File

@ -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)) (((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)); extern int bindresvport __P ((int __sockfd, struct sockaddr_in *__sin));

View File

@ -32,7 +32,7 @@ shmat (shmid, shmaddr, shmflg)
int retval; int retval;
unsigned long raddr; 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 return ((unsigned long int) retval > -(unsigned long int) SHMLBA
? (void *) retval : (void *) raddr); ? (void *) retval : (void *) raddr);
} }

View File

@ -158,9 +158,13 @@ struct cmsghdr
#endif #endif
#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) #define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
#define CMSG_FIRSTHDR(mhdr) \ #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) ? (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 #ifndef _EXTERN_INLINE
# define _EXTERN_INLINE extern __inline # define _EXTERN_INLINE extern __inline