From b25ae9c6a41d91a57379c223420b6b8a05940ff2 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 4 Jun 1996 01:41:11 +0000 Subject: Tue Jun 4 00:16:03 1996 Roland McGrath * sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("..."). * intl: Updated from gettext-0.10.13. * intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA. * signal/siggetmask.c: New file. Wrapper around sigblock with link_warning about obsolescence. * signal/Makefile (routines): Add siggetmask. * sysdeps/gnu/errlist.awk: New file, adapted from ... * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it. * sysdeps/mach/hurd/Makefile (errlist.c): Target removed. * sysdeps/gnu/Makefile: New file. (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this. * manual/errno.texi (Error Codes): Add placeholder items for missing Linux/i386 errno codes, with perror text but no documentation. Some existing perror texts changed. --- sysdeps/gnu/Makefile | 28 ++++ sysdeps/gnu/errlist.awk | 65 ++++++++ sysdeps/gnu/errlist.c | 423 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 516 insertions(+) create mode 100644 sysdeps/gnu/Makefile create mode 100644 sysdeps/gnu/errlist.awk create mode 100644 sysdeps/gnu/errlist.c (limited to 'sysdeps/gnu') diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile new file mode 100644 index 0000000000..45c63136f8 --- /dev/null +++ b/sysdeps/gnu/Makefile @@ -0,0 +1,28 @@ +# Copyright (C) 1996 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., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# Generate the list of strings for errno codes from the section of the +# manual which documents the codes. + +$(..)sysdeps/gnu/errlist.c: $(..)sysdeps/gnu/errlist.awk \ + $(..)manual/errno.texi + awk -f $^ > $@-tmp +# Make it unwritable so noone will edit it by mistake. + -chmod a-w $@-tmp + mv -f $@-tmp $@ + test ! -d CVS || cvs commit -m'Regenerated from $^' $@ diff --git a/sysdeps/gnu/errlist.awk b/sysdeps/gnu/errlist.awk new file mode 100644 index 0000000000..d14348f0b9 --- /dev/null +++ b/sysdeps/gnu/errlist.awk @@ -0,0 +1,65 @@ +# Copyright (C) 1991, 92, 93, 94, 95, 96 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., 675 Mass Ave, +# Cambridge, MA 02139, USA. + +# errno.texinfo contains lines like: +# @comment errno.h +# @comment POSIX.1: Function not implemented +# @deftypevr Macro int ENOSYS +# @comment errno 78 + +BEGIN { + print "/* This file is generated from errno.texi by errlist.awk. */" + print ""; + print "#include "; + print ""; + print "const char *_sys_errlist[] ="; + print " {"; + print " [0] = N_(\"Success\")," + } +$1 == "@comment" && $2 == "errno.h" { errnoh=1; next } +errnoh == 1 && $1 == "@comment" \ + { + ++errnoh; + etext = $3; + for (i = 4; i <= NF; ++i) + etext = etext " " $i; + next; + } +errnoh == 2 && $1 == "@deftypevr" && $2 == "Macro" && $3 == "int" \ + { + e = $4; errnoh++; next; + } +errnoh == 3 && $1 == "@comment" && $2 == "errno" \ + { + errno = $3 + 0; + if (e == "EWOULDBLOCK") + print "#if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN"; + else + printf "#ifdef %s\n", e; + printf " [%s] = N_(\"%s\"),\n", e, etext; + print "#endif"; + next; + } +{ errnoh=0 } +END { + print " };"; + print ""; + print "const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0];"; + print "weak_alias (_sys_errlist, sys_errlist)"; + print "weak_alias (_sys_nerr, sys_nerr)"; + } diff --git a/sysdeps/gnu/errlist.c b/sysdeps/gnu/errlist.c new file mode 100644 index 0000000000..59e7f52b97 --- /dev/null +++ b/sysdeps/gnu/errlist.c @@ -0,0 +1,423 @@ +/* This file is generated from errno.texi by errlist.awk. */ + +#include + +const char *_sys_errlist[] = + { + [0] = N_("Success"), +#ifdef EPERM + [EPERM] = N_("Operation not permitted"), +#endif +#ifdef ENOENT + [ENOENT] = N_("No such file or directory"), +#endif +#ifdef ESRCH + [ESRCH] = N_("No such process"), +#endif +#ifdef EINTR + [EINTR] = N_("Interrupted system call"), +#endif +#ifdef EIO + [EIO] = N_("Input/output error"), +#endif +#ifdef ENXIO + [ENXIO] = N_("Device not configured"), +#endif +#ifdef E2BIG + [E2BIG] = N_("Argument list too long"), +#endif +#ifdef ENOEXEC + [ENOEXEC] = N_("Exec format error"), +#endif +#ifdef EBADF + [EBADF] = N_("Bad file descriptor"), +#endif +#ifdef ECHILD + [ECHILD] = N_("No child processes"), +#endif +#ifdef EDEADLK + [EDEADLK] = N_("Resource deadlock avoided"), +#endif +#ifdef ENOMEM + [ENOMEM] = N_("Cannot allocate memory"), +#endif +#ifdef EACCES + [EACCES] = N_("Permission denied"), +#endif +#ifdef EFAULT + [EFAULT] = N_("Bad address"), +#endif +#ifdef ENOTBLK + [ENOTBLK] = N_("Block device required"), +#endif +#ifdef EBUSY + [EBUSY] = N_("Device or resource busy"), +#endif +#ifdef EEXIST + [EEXIST] = N_("File exists"), +#endif +#ifdef EXDEV + [EXDEV] = N_("Invalid cross-device link"), +#endif +#ifdef ENODEV + [ENODEV] = N_("Operation not supported by device"), +#endif +#ifdef ENOTDIR + [ENOTDIR] = N_("Not a directory"), +#endif +#ifdef EISDIR + [EISDIR] = N_("Is a directory"), +#endif +#ifdef EINVAL + [EINVAL] = N_("Invalid argument"), +#endif +#ifdef EMFILE + [EMFILE] = N_("Too many open files"), +#endif +#ifdef ENFILE + [ENFILE] = N_("Too many open files in system"), +#endif +#ifdef ENOTTY + [ENOTTY] = N_("Inappropriate ioctl for device"), +#endif +#ifdef ETXTBSY + [ETXTBSY] = N_("Text file busy"), +#endif +#ifdef EFBIG + [EFBIG] = N_("File too large"), +#endif +#ifdef ENOSPC + [ENOSPC] = N_("No space left on device"), +#endif +#ifdef ESPIPE + [ESPIPE] = N_("Illegal seek"), +#endif +#ifdef EROFS + [EROFS] = N_("Read-only file system"), +#endif +#ifdef EMLINK + [EMLINK] = N_("Too many links"), +#endif +#ifdef EPIPE + [EPIPE] = N_("Broken pipe"), +#endif +#ifdef EDOM + [EDOM] = N_("Numerical argument out of domain"), +#endif +#ifdef ERANGE + [ERANGE] = N_("Numerical result out of range"), +#endif +#ifdef EAGAIN + [EAGAIN] = N_("Resource temporarily unavailable"), +#endif +#if defined (EWOULDBLOCK) && EWOULDBLOCK != EAGAIN + [EWOULDBLOCK] = N_("Operation would block"), +#endif +#ifdef EINPROGRESS + [EINPROGRESS] = N_("Operation now in progress"), +#endif +#ifdef EALREADY + [EALREADY] = N_("Operation already in progress"), +#endif +#ifdef ENOTSOCK + [ENOTSOCK] = N_("Socket operation on non-socket"), +#endif +#ifdef EMSGSIZE + [EMSGSIZE] = N_("Message too long"), +#endif +#ifdef EPROTOTYPE + [EPROTOTYPE] = N_("Protocol wrong type for socket"), +#endif +#ifdef ENOPROTOOPT + [ENOPROTOOPT] = N_("Protocol not available"), +#endif +#ifdef EPROTONOSUPPORT + [EPROTONOSUPPORT] = N_("Protocol not supported"), +#endif +#ifdef ESOCKTNOSUPPORT + [ESOCKTNOSUPPORT] = N_("Socket type not supported"), +#endif +#ifdef EOPNOTSUPP + [EOPNOTSUPP] = N_("Operation not supported"), +#endif +#ifdef EPFNOSUPPORT + [EPFNOSUPPORT] = N_("Protocol family not supported"), +#endif +#ifdef EAFNOSUPPORT + [EAFNOSUPPORT] = N_("Address family not supported by protocol"), +#endif +#ifdef EADDRINUSE + [EADDRINUSE] = N_("Address already in use"), +#endif +#ifdef EADDRNOTAVAIL + [EADDRNOTAVAIL] = N_("Cannot assign requested address"), +#endif +#ifdef ENETDOWN + [ENETDOWN] = N_("Network is down"), +#endif +#ifdef ENETUNREACH + [ENETUNREACH] = N_("Network is unreachable"), +#endif +#ifdef ENETRESET + [ENETRESET] = N_("Network dropped connection on reset"), +#endif +#ifdef ECONNABORTED + [ECONNABORTED] = N_("Software caused connection abort"), +#endif +#ifdef ECONNRESET + [ECONNRESET] = N_("Connection reset by peer"), +#endif +#ifdef ENOBUFS + [ENOBUFS] = N_("No buffer space available"), +#endif +#ifdef EISCONN + [EISCONN] = N_("Transport endpoint is already connected"), +#endif +#ifdef ENOTCONN + [ENOTCONN] = N_("Transport endpoint is not connected"), +#endif +#ifdef EDESTADDRREQ + [EDESTADDRREQ] = N_("Destination address required"), +#endif +#ifdef ESHUTDOWN + [ESHUTDOWN] = N_("Cannot send after transport endpoint shutdown"), +#endif +#ifdef ETOOMANYREFS + [ETOOMANYREFS] = N_("Too many references: cannot splice"), +#endif +#ifdef ETIMEDOUT + [ETIMEDOUT] = N_("Connection timed out"), +#endif +#ifdef ECONNREFUSED + [ECONNREFUSED] = N_("Connection refused"), +#endif +#ifdef ELOOP + [ELOOP] = N_("Too many levels of symbolic links"), +#endif +#ifdef ENAMETOOLONG + [ENAMETOOLONG] = N_("File name too long"), +#endif +#ifdef EHOSTDOWN + [EHOSTDOWN] = N_("Host is down"), +#endif +#ifdef EHOSTUNREACH + [EHOSTUNREACH] = N_("No route to host"), +#endif +#ifdef ENOTEMPTY + [ENOTEMPTY] = N_("Directory not empty"), +#endif +#ifdef EPROCLIM + [EPROCLIM] = N_("Too many processes"), +#endif +#ifdef EUSERS + [EUSERS] = N_("Too many users"), +#endif +#ifdef EDQUOT + [EDQUOT] = N_("Disc quota exceeded"), +#endif +#ifdef ESTALE + [ESTALE] = N_("Stale NFS file handle"), +#endif +#ifdef EREMOTE + [EREMOTE] = N_("Object is remote"), +#endif +#ifdef EBADRPC + [EBADRPC] = N_("RPC struct is bad"), +#endif +#ifdef ERPCMISMATCH + [ERPCMISMATCH] = N_("RPC version wrong"), +#endif +#ifdef EPROGUNAVAIL + [EPROGUNAVAIL] = N_("RPC program not available"), +#endif +#ifdef EPROGMISMATCH + [EPROGMISMATCH] = N_("RPC program version wrong"), +#endif +#ifdef EPROCUNAVAIL + [EPROCUNAVAIL] = N_("RPC bad procedure for program"), +#endif +#ifdef ENOLCK + [ENOLCK] = N_("No locks available"), +#endif +#ifdef EFTYPE + [EFTYPE] = N_("Inappropriate file type or format"), +#endif +#ifdef EAUTH + [EAUTH] = N_("Authentication error"), +#endif +#ifdef ENEEDAUTH + [ENEEDAUTH] = N_("Need authenticator"), +#endif +#ifdef ENOSYS + [ENOSYS] = N_("Function not implemented"), +#endif +#ifdef EILSEQ + [EILSEQ] = N_("Invalid or incomplete multibyte or wide character"), +#endif +#ifdef EBACKGROUND + [EBACKGROUND] = N_("Inappropriate operation for background process"), +#endif +#ifdef EDIED + [EDIED] = N_("Translator died"), +#endif +#ifdef ED + [ED] = N_("?"), +#endif +#ifdef EGREGIOUS + [EGREGIOUS] = N_("You really blew it this time"), +#endif +#ifdef EIEIO + [EIEIO] = N_("Computer bought the farm"), +#endif +#ifdef EGRATUITOUS + [EGRATUITOUS] = N_("Gratuitous error"), +#endif +#ifdef ERESTART + [ERESTART] = N_("Interrupted system call should be restarted"), +#endif +#ifdef ENOMSG + [ENOMSG] = N_("No message of desired type"), +#endif +#ifdef EIDRM + [EIDRM] = N_("Identifier removed"), +#endif +#ifdef ECHRNG + [ECHRNG] = N_("Channel number out of range"), +#endif +#ifdef EL2NSYNC + [EL2NSYNC] = N_("Level 2 not synchronized"), +#endif +#ifdef EL3HLT + [EL3HLT] = N_("Level 3 halted"), +#endif +#ifdef EL3RST + [EL3RST] = N_("Level 3 reset"), +#endif +#ifdef ELNRNG + [ELNRNG] = N_("Link number out of range"), +#endif +#ifdef EUNATCH + [EUNATCH] = N_("Protocol driver not attached"), +#endif +#ifdef ENOCSI + [ENOCSI] = N_("No CSI structure available"), +#endif +#ifdef EL2HLT + [EL2HLT] = N_("Level 2 halted"), +#endif +#ifdef EBADE + [EBADE] = N_("Invalid exchange"), +#endif +#ifdef EBADR + [EBADR] = N_("Invalid request descriptor"), +#endif +#ifdef EXFULL + [EXFULL] = N_("Exchange full"), +#endif +#ifdef ENOANO + [ENOANO] = N_("No anode"), +#endif +#ifdef EBADRQC + [EBADRQC] = N_("Invalid request code"), +#endif +#ifdef EBADSLT + [EBADSLT] = N_("Invalid slot"), +#endif +#ifdef EDEADLOCK + [EDEADLOCK] = N_("File locking deadlock error"), +#endif +#ifdef EBFONT + [EBFONT] = N_("Bad font file format"), +#endif +#ifdef ENOSTR + [ENOSTR] = N_("Device not a stream"), +#endif +#ifdef ENODATA + [ENODATA] = N_("No data available"), +#endif +#ifdef ETIME + [ETIME] = N_("Timer expired"), +#endif +#ifdef ENOSR + [ENOSR] = N_("Out of streams resources"), +#endif +#ifdef ENONET + [ENONET] = N_("Machine is not on the network"), +#endif +#ifdef ENOPKG + [ENOPKG] = N_("Package not installed"), +#endif +#ifdef ENOLINK + [ENOLINK] = N_("Link has been severed"), +#endif +#ifdef EADV + [EADV] = N_("Advertise error"), +#endif +#ifdef ESRMNT + [ESRMNT] = N_("Srmount error"), +#endif +#ifdef ECOMM + [ECOMM] = N_("Communication error on send"), +#endif +#ifdef EPROTO + [EPROTO] = N_("Protocol error"), +#endif +#ifdef EMULTIHOP + [EMULTIHOP] = N_("Multihop attempted"), +#endif +#ifdef EDOTDOT + [EDOTDOT] = N_("RFS specific error"), +#endif +#ifdef EBADMSG + [EBADMSG] = N_("Not a data message"), +#endif +#ifdef EOVERFLOW + [EOVERFLOW] = N_("Value too large for defined data type"), +#endif +#ifdef ENOTUNIQ + [ENOTUNIQ] = N_("Name not unique on network"), +#endif +#ifdef EBADFD + [EBADFD] = N_("File descriptor in bad state"), +#endif +#ifdef EREMCHG + [EREMCHG] = N_("Remote address changed"), +#endif +#ifdef ELIBACC + [ELIBACC] = N_("Can not access a needed shared library"), +#endif +#ifdef ELIBBAD + [ELIBBAD] = N_("Accessing a corrupted shared library"), +#endif +#ifdef ELIBSCN + [ELIBSCN] = N_(".lib section in a.out corrupted"), +#endif +#ifdef ELIBMAX + [ELIBMAX] = N_("Attempting to link in too many shared libraries"), +#endif +#ifdef ELIBEXEC + [ELIBEXEC] = N_("Cannot exec a shared library directly"), +#endif +#ifdef ESTRPIPE + [ESTRPIPE] = N_("Streams pipe error"), +#endif +#ifdef EUCLEAN + [EUCLEAN] = N_("Structure needs cleaning"), +#endif +#ifdef ENOTNAM + [ENOTNAM] = N_("Not a XENIX named type file"), +#endif +#ifdef ENAVAIL + [ENAVAIL] = N_("No XENIX semaphores available"), +#endif +#ifdef EISNAM + [EISNAM] = N_("Is a named type file"), +#endif +#ifdef EREMOTEIO + [EREMOTEIO] = N_("Remote I/O error"), +#endif + }; + +const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0]; +weak_alias (_sys_errlist, sys_errlist) +weak_alias (_sys_nerr, sys_nerr) -- cgit v1.2.3