--- /dev/null
+/* Name of system error code.
+ Copyright (C) 2020 Free Software Foundation, Inc.
+
+ This program 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 3 of the License, or
+ (at your option) any later version.
+
+ This program 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 General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2020. */
+
+#include <config.h>
+
+/* Specification. */
+#include <string.h>
+
+#include <errno.h>
+
+const char *
+strerrorname_np (int errnum)
+{
+ switch (errnum)
+ {
+ /* Error codes specified by ISO C. */
+ case EDOM: return "EDOM";
+ case EILSEQ: return "EILSEQ";
+ case ERANGE: return "ERANGE";
+
+ /* Error codes specified by POSIX.
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html> */
+ #if defined E2BIG
+ case E2BIG: return "E2BIG";
+ #endif
+ #if defined EACCES
+ case EACCES: return "EACCES";
+ #endif
+ #if defined EADDRINUSE
+ case EADDRINUSE: return "EADDRINUSE";
+ #endif
+ #if defined EADDRNOTAVAIL
+ case EADDRNOTAVAIL: return "EADDRNOTAVAIL";
+ #endif
+ #if defined EAFNOSUPPORT
+ case EAFNOSUPPORT: return "EAFNOSUPPORT";
+ #endif
+ #if defined EAGAIN
+ case EAGAIN: return "EAGAIN";
+ #endif
+ #if defined EALREADY
+ case EALREADY: return "EALREADY";
+ #endif
+ #if defined EBADF
+ case EBADF: return "EBADF";
+ #endif
+ #if defined EBADMSG
+ case EBADMSG: return "EBADMSG";
+ #endif
+ #if defined EBUSY
+ case EBUSY: return "EBUSY";
+ #endif
+ #if defined ECANCELED
+ case ECANCELED: return "ECANCELED";
+ #endif
+ #if defined ECHILD
+ case ECHILD: return "ECHILD";
+ #endif
+ #if defined ECONNABORTED
+ case ECONNABORTED: return "ECONNABORTED";
+ #endif
+ #if defined ECONNREFUSED
+ case ECONNREFUSED: return "ECONNREFUSED";
+ #endif
+ #if defined ECONNRESET
+ case ECONNRESET: return "ECONNRESET";
+ #endif
+ #if defined EDEADLK
+ case EDEADLK: return "EDEADLK";
+ #endif
+ #if defined EDESTADDRREQ
+ case EDESTADDRREQ: return "EDESTADDRREQ";
+ #endif
+ #if defined EDQUOT
+ case EDQUOT: return "EDQUOT";
+ #endif
+ #if defined EEXIST
+ case EEXIST: return "EEXIST";
+ #endif
+ #if defined EFAULT
+ case EFAULT: return "EFAULT";
+ #endif
+ #if defined EFBIG
+ case EFBIG: return "EFBIG";
+ #endif
+ #if defined EHOSTUNREACH
+ case EHOSTUNREACH: return "EHOSTUNREACH";
+ #endif
+ #if defined EIDRM
+ case EIDRM: return "EIDRM";
+ #endif
+ #if defined EINPROGRESS
+ case EINPROGRESS: return "EINPROGRESS";
+ #endif
+ #if defined EINTR
+ case EINTR: return "EINTR";
+ #endif
+ #if defined EINVAL
+ case EINVAL: return "EINVAL";
+ #endif
+ #if defined EIO
+ case EIO: return "EIO";
+ #endif
+ #if defined EISCONN
+ case EISCONN: return "EISCONN";
+ #endif
+ #if defined EISDIR
+ case EISDIR: return "EISDIR";
+ #endif
+ #if defined ELOOP
+ case ELOOP: return "ELOOP";
+ #endif
+ #if defined EMFILE
+ case EMFILE: return "EMFILE";
+ #endif
+ #if defined EMLINK
+ case EMLINK: return "EMLINK";
+ #endif
+ #if defined EMSGSIZE
+ case EMSGSIZE: return "EMSGSIZE";
+ #endif
+ #if defined EMULTIHOP
+ case EMULTIHOP: return "EMULTIHOP";
+ #endif
+ #if defined ENAMETOOLONG
+ case ENAMETOOLONG: return "ENAMETOOLONG";
+ #endif
+ #if defined ENETDOWN
+ case ENETDOWN: return "ENETDOWN";
+ #endif
+ #if defined ENETRESET
+ case ENETRESET: return "ENETRESET";
+ #endif
+ #if defined ENETUNREACH
+ case ENETUNREACH: return "ENETUNREACH";
+ #endif
+ #if defined ENFILE
+ case ENFILE: return "ENFILE";
+ #endif
+ #if defined ENOBUFS
+ case ENOBUFS: return "ENOBUFS";
+ #endif
+ #if defined ENODATA
+ case ENODATA: return "ENODATA";
+ #endif
+ #if defined ENODEV
+ case ENODEV: return "ENODEV";
+ #endif
+ #if defined ENOENT
+ case ENOENT: return "ENOENT";
+ #endif
+ #if defined ENOEXEC
+ case ENOEXEC: return "ENOEXEC";
+ #endif
+ #if defined ENOLCK
+ case ENOLCK: return "ENOLCK";
+ #endif
+ #if defined ENOLINK
+ case ENOLINK: return "ENOLINK";
+ #endif
+ #if defined ENOMEM
+ case ENOMEM: return "ENOMEM";
+ #endif
+ #if defined ENOMSG
+ case ENOMSG: return "ENOMSG";
+ #endif
+ #if defined ENOPROTOOPT
+ case ENOPROTOOPT: return "ENOPROTOOPT";
+ #endif
+ #if defined ENOSPC
+ case ENOSPC: return "ENOSPC";
+ #endif
+ #if defined ENOSR
+ case ENOSR: return "ENOSR";
+ #endif
+ #if defined ENOSTR
+ case ENOSTR: return "ENOSTR";
+ #endif
+ #if defined ENOSYS
+ case ENOSYS: return "ENOSYS";
+ #endif
+ #if defined ENOTCONN
+ case ENOTCONN: return "ENOTCONN";
+ #endif
+ #if defined ENOTDIR
+ case ENOTDIR: return "ENOTDIR";
+ #endif
+ #if defined ENOTEMPTY && ENOTEMPTY != EEXIST
+ case ENOTEMPTY: return "ENOTEMPTY";
+ #endif
+ #if defined ENOTRECOVERABLE
+ case ENOTRECOVERABLE: return "ENOTRECOVERABLE";
+ #endif
+ #if defined ENOTSOCK
+ case ENOTSOCK: return "ENOTSOCK";
+ #endif
+ #if defined ENOTSUP && ENOTSUP != EOPNOTSUPP
+ case ENOTSUP: return "ENOTSUP";
+ #endif
+ #if defined ENOTTY
+ case ENOTTY: return "ENOTTY";
+ #endif
+ #if defined ENXIO
+ case ENXIO: return "ENXIO";
+ #endif
+ #if defined EOPNOTSUPP
+ case EOPNOTSUPP: return "EOPNOTSUPP";
+ #endif
+ #if defined EOVERFLOW
+ case EOVERFLOW: return "EOVERFLOW";
+ #endif
+ #if defined EOWNERDEAD
+ case EOWNERDEAD: return "EOWNERDEAD";
+ #endif
+ #if defined EPERM
+ case EPERM: return "EPERM";
+ #endif
+ #if defined EPIPE
+ case EPIPE: return "EPIPE";
+ #endif
+ #if defined EPROTO
+ case EPROTO: return "EPROTO";
+ #endif
+ #if defined EPROTONOSUPPORT
+ case EPROTONOSUPPORT: return "EPROTONOSUPPORT";
+ #endif
+ #if defined EPROTOTYPE
+ case EPROTOTYPE: return "EPROTOTYPE";
+ #endif
+ #if defined EROFS
+ case EROFS: return "EROFS";
+ #endif
+ #if defined ESPIPE
+ case ESPIPE: return "ESPIPE";
+ #endif
+ #if defined ESRCH
+ case ESRCH: return "ESRCH";
+ #endif
+ #if defined ESTALE
+ case ESTALE: return "ESTALE";
+ #endif
+ #if defined ETIME
+ case ETIME: return "ETIME";
+ #endif
+ #if defined ETIMEDOUT
+ case ETIMEDOUT: return "ETIMEDOUT";
+ #endif
+ #if defined ETXTBSY
+ case ETXTBSY: return "ETXTBSY";
+ #endif
+ #if defined EWOULDBLOCK && EWOULDBLOCK != EAGAIN
+ case EWOULDBLOCK: return "EWOULDBLOCK";
+ #endif
+ #if defined EXDEV
+ case EXDEV: return "EXDEV";
+ #endif
+
+ /* Other error codes on other systems. */
+ /* Solaris */
+ #if defined EADI
+ case EADI: return "EADI";
+ #endif
+ /* Linux, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EADV
+ case EADV: return "EADV";
+ #endif
+ /* OSF/1 */
+ #if defined EAIO
+ case EAIO: return "EAIO";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix */
+ #if defined EAUTH
+ case EAUTH: return "EAUTH";
+ #endif
+ /* GNU/Hurd */
+ #if defined EBACKGROUND
+ case EBACKGROUND: return "EBACKGROUND";
+ #endif
+ /* Mac OS X */
+ #if defined EBADARCH
+ case EBADARCH: return "EBADARCH";
+ #endif
+ /* Minix */
+ #if defined EBADCALL
+ case EBADCALL: return "EBADCALL";
+ #endif
+ /* Minix */
+ #if defined EBADCPU
+ case EBADCPU: return "EBADCPU";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBADE
+ case EBADE: return "EBADE";
+ #endif
+ /* Minix */
+ #if defined EBADEPT
+ case EBADEPT: return "EBADEPT";
+ #endif
+ /* Mac OS X */
+ #if defined EBADEXEC
+ case EBADEXEC: return "EBADEXEC";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBADFD
+ case EBADFD: return "EBADFD";
+ #endif
+ /* IRIX */
+ #if defined EBADFILT
+ case EBADFILT: return "EBADFILT";
+ #endif
+ /* Minix */
+ #if defined EBADIOCTL
+ case EBADIOCTL: return "EBADIOCTL";
+ #endif
+ /* Mac OS X */
+ #if defined EBADMACHO
+ case EBADMACHO: return "EBADMACHO";
+ #endif
+ /* Minix */
+ #if defined EBADMODE
+ case EBADMODE: return "EBADMODE";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBADR
+ case EBADR: return "EBADR";
+ #endif
+ /* Minix */
+ #if defined EBADREQUEST
+ case EBADREQUEST: return "EBADREQUEST";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix */
+ #if defined EBADRPC
+ case EBADRPC: return "EBADRPC";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBADRQC
+ case EBADRQC: return "EBADRQC";
+ #endif
+ /* IRIX */
+ #if defined EBADRSPEC
+ case EBADRSPEC: return "EBADRSPEC";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBADSLT
+ case EBADSLT: return "EBADSLT";
+ #endif
+ /* IRIX */
+ #if defined EBADTSPEC
+ case EBADTSPEC: return "EBADTSPEC";
+ #endif
+ /* HP-UX */
+ #if defined EBADVER
+ case EBADVER: return "EBADVER";
+ #endif
+ /* IRIX */
+ #if defined EBDHDL
+ case EBDHDL: return "EBDHDL";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EBFONT
+ case EBFONT: return "EBFONT";
+ #endif
+ /* IRIX */
+ #if defined EBUFSIZE
+ case EBUFSIZE: return "EBUFSIZE";
+ #endif
+ /* Minix */
+ #if defined ECALLDENIED
+ case ECALLDENIED: return "ECALLDENIED";
+ #endif
+ /* IRIX */
+ #if defined ECANTEXTENT
+ case ECANTEXTENT: return "ECANTEXTENT";
+ #endif
+ /* FreeBSD */
+ #if defined ECAPMODE
+ case ECAPMODE: return "ECAPMODE";
+ #endif
+ /* Cygwin */
+ #if defined ECASECLASH
+ case ECASECLASH: return "ECASECLASH";
+ #endif
+ /* IRIX */
+ #if defined ECELLDOWN
+ case ECELLDOWN: return "ECELLDOWN";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ECHRNG
+ case ECHRNG: return "ECHRNG";
+ #endif
+ /* IRIX */
+ #if defined ECKPT
+ case ECKPT: return "ECKPT";
+ #endif
+ /* IRIX */
+ #if defined ECLOCKCPU
+ case ECLOCKCPU: return "ECLOCKCPU";
+ #endif
+ /* OSF/1 */
+ #if defined ECLONEME && ECLONEME != ERESTART
+ case ECLONEME: return "ECLONEME";
+ #endif
+ /* Linux, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ECOMM
+ case ECOMM: return "ECOMM";
+ #endif
+ /* HP-UX */
+ #if defined ECONFIG
+ case ECONFIG: return "ECONFIG";
+ #endif
+ /* IRIX */
+ #if defined ECONTROLLER
+ case ECONTROLLER: return "ECONTROLLER";
+ #endif
+ /* AIX */
+ #if defined ECORRUPT
+ case ECORRUPT: return "ECORRUPT";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED
+ case ED: return "ED";
+ #endif
+ /* Minix */
+ #if defined EDEADEPT
+ case EDEADEPT: return "EDEADEPT";
+ #endif
+ /* IRIX, Solaris, Cygwin */
+ #if defined EDEADLOCK && EDEADLOCK != EDEADLK
+ case EDEADLOCK: return "EDEADLOCK";
+ #endif
+ /* Minix */
+ #if defined EDEADSRCDST
+ case EDEADSRCDST: return "EDEADSRCDST";
+ #endif
+ /* IRIX */
+ #if defined EDELAY
+ case EDELAY: return "EDELAY";
+ #endif
+ /* IRIX */
+ #if defined EDESTROYED
+ case EDESTROYED: return "EDESTROYED";
+ #endif
+ /* Mac OS X */
+ #if defined EDEVERR
+ case EDEVERR: return "EDEVERR";
+ #endif
+ /* GNU/Hurd */
+ #if defined EDIED
+ case EDIED: return "EDIED";
+ #endif
+ /* IRIX */
+ #if defined EDIRCORRUPTED
+ case EDIRCORRUPTED: return "EDIRCORRUPTED";
+ #endif
+ /* FreeBSD */
+ #if defined EDIRIOCTL
+ case EDIRIOCTL: return "EDIRIOCTL";
+ #endif
+ /* OSF/1 */
+ #if defined EDIRTY
+ case EDIRTY: return "EDIRTY";
+ #endif
+ /* IRIX */
+ #if defined EDISJOINT
+ case EDISJOINT: return "EDISJOINT";
+ #endif
+ /* AIX */
+ #if defined EDIST
+ case EDIST: return "EDIST";
+ #endif
+ /* Minix */
+ #if defined EDONTREPLY
+ case EDONTREPLY: return "EDONTREPLY";
+ #endif
+ /* FreeBSD */
+ #if defined EDOOFUS
+ case EDOOFUS: return "EDOOFUS";
+ #endif
+ /* Linux, HP-UX, Cygwin */
+ #if defined EDOTDOT
+ case EDOTDOT: return "EDOTDOT";
+ #endif
+ /* OSF/1 */
+ #if defined EDUPPKG
+ case EDUPPKG: return "EDUPPKG";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_ALREADY_OPEN
+ case ED_ALREADY_OPEN: return "ED_ALREADY_OPEN";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_DEVICE_DOWN
+ case ED_DEVICE_DOWN: return "ED_DEVICE_DOWN";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_INVALID_OPERATION
+ case ED_INVALID_OPERATION:return "ED_INVALID_OPERATION";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_INVALID_RECNUM
+ case ED_INVALID_RECNUM:return "ED_INVALID_RECNUM";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_INVALID_SIZE
+ case ED_INVALID_SIZE: return "ED_INVALID_SIZE";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_IO_ERROR
+ case ED_IO_ERROR: return "ED_IO_ERROR";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_NO_MEMORY
+ case ED_NO_MEMORY: return "ED_NO_MEMORY";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_NO_SUCH_DEVICE
+ case ED_NO_SUCH_DEVICE:return "ED_NO_SUCH_DEVICE";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_READ_ONLY
+ case ED_READ_ONLY: return "ED_READ_ONLY";
+ #endif
+ /* GNU/Hurd */
+ #if defined ED_WOULD_BLOCK
+ case ED_WOULD_BLOCK: return "ED_WOULD_BLOCK";
+ #endif
+ /* IRIX */
+ #if defined EEMPTY
+ case EEMPTY: return "EEMPTY";
+ #endif
+ /* OSF/1 */
+ #if defined EEMULATE
+ case EEMULATE: return "EEMULATE";
+ #endif
+ /* IRIX */
+ #if defined EENDOFMINOR
+ case EENDOFMINOR: return "EENDOFMINOR";
+ #endif
+ /* IRIX */
+ #if defined EENQUEUED
+ case EENQUEUED: return "EENQUEUED";
+ #endif
+ /* OSF/1 */
+ #if defined EFAIL
+ case EFAIL: return "EFAIL";
+ #endif
+ /* AIX */
+ #if defined EFORMAT
+ case EFORMAT: return "EFORMAT";
+ #endif
+ /* Haiku */
+ #if defined EFPOS
+ case EFPOS: return "EFPOS";
+ #endif
+ /* IRIX */
+ #if defined EFSCORRUPTED
+ case EFSCORRUPTED: return "EFSCORRUPTED";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix, Cygwin */
+ #if defined EFTYPE
+ case EFTYPE: return "EFTYPE";
+ #endif
+ /* Minix */
+ #if defined EGENERIC
+ case EGENERIC: return "EGENERIC";
+ #endif
+ /* GNU/Hurd */
+ #if defined EGRATUITOUS
+ case EGRATUITOUS: return "EGRATUITOUS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EGREGIOUS
+ case EGREGIOUS: return "EGREGIOUS";
+ #endif
+ /* IRIX */
+ #if defined EGROUPLOOP
+ case EGROUPLOOP: return "EGROUPLOOP";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Haiku, Cygwin */
+ #if defined EHOSTDOWN
+ case EHOSTDOWN: return "EHOSTDOWN";
+ #endif
+ /* Linux */
+ #if defined EHWPOISON
+ case EHWPOISON: return "EHWPOISON";
+ #endif
+ /* GNU/Hurd */
+ #if defined EIEIO
+ case EIEIO: return "EIEIO";
+ #endif
+ /* IRIX */
+ #if defined EINIT
+ case EINIT: return "EINIT";
+ #endif
+ /* OSF/1 */
+ #if defined EINPROG
+ case EINPROG: return "EINPROG";
+ #endif
+ /* IRIX */
+ #if defined EINVALMODE
+ case EINVALMODE: return "EINVALMODE";
+ #endif
+ /* IRIX */
+ #if defined EINVALSTATE
+ case EINVALSTATE: return "EINVALSTATE";
+ #endif
+ /* IRIX */
+ #if defined EINVALTIME
+ case EINVALTIME: return "EINVALTIME";
+ #endif
+ /* IRIX */
+ #if defined EIORESID
+ case EIORESID: return "EIORESID";
+ #endif
+ /* OpenBSD */
+ #if defined EIPSEC
+ case EIPSEC: return "EIPSEC";
+ #endif
+ /* Linux, IRIX */
+ #if defined EISNAM
+ case EISNAM: return "EISNAM";
+ #endif
+ /* IRIX */
+ #if defined EJOINED
+ case EJOINED: return "EJOINED";
+ #endif
+ /* FreeBSD, OSF/1 */
+ #if defined EJUSTRETURN
+ case EJUSTRETURN: return "EJUSTRETURN";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_ABORTED
+ case EKERN_ABORTED: return "EKERN_ABORTED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_FAILURE
+ case EKERN_FAILURE: return "EKERN_FAILURE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INTERRUPTED
+ case EKERN_INTERRUPTED:return "EKERN_INTERRUPTED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_ADDRESS
+ case EKERN_INVALID_ADDRESS:return "EKERN_INVALID_ADDRESS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_ARGUMENT
+ case EKERN_INVALID_ARGUMENT:return "EKERN_INVALID_ARGUMENT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_CAPABILITY
+ case EKERN_INVALID_CAPABILITY:return "EKERN_INVALID_CAPABILITY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_HOST
+ case EKERN_INVALID_HOST:return "EKERN_INVALID_HOST";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_NAME
+ case EKERN_INVALID_NAME:return "EKERN_INVALID_NAME";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_RIGHT
+ case EKERN_INVALID_RIGHT:return "EKERN_INVALID_RIGHT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_TASK
+ case EKERN_INVALID_TASK:return "EKERN_INVALID_TASK";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_INVALID_VALUE
+ case EKERN_INVALID_VALUE:return "EKERN_INVALID_VALUE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_MEMORY_ERROR
+ case EKERN_MEMORY_ERROR:return "EKERN_MEMORY_ERROR";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_MEMORY_FAILURE
+ case EKERN_MEMORY_FAILURE:return "EKERN_MEMORY_FAILURE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_MEMORY_PRESENT
+ case EKERN_MEMORY_PRESENT:return "EKERN_MEMORY_PRESENT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_NAME_EXISTS
+ case EKERN_NAME_EXISTS:return "EKERN_NAME_EXISTS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_NOT_IN_SET
+ case EKERN_NOT_IN_SET:return "EKERN_NOT_IN_SET";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_NOT_RECEIVER
+ case EKERN_NOT_RECEIVER:return "EKERN_NOT_RECEIVER";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_NO_ACCESS
+ case EKERN_NO_ACCESS: return "EKERN_NO_ACCESS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_NO_SPACE
+ case EKERN_NO_SPACE: return "EKERN_NO_SPACE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_PROTECTION_FAILURE
+ case EKERN_PROTECTION_FAILURE:return "EKERN_PROTECTION_FAILURE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_RESOURCE_SHORTAGE
+ case EKERN_RESOURCE_SHORTAGE:return "EKERN_RESOURCE_SHORTAGE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_RIGHT_EXISTS
+ case EKERN_RIGHT_EXISTS:return "EKERN_RIGHT_EXISTS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_TERMINATED
+ case EKERN_TERMINATED:return "EKERN_TERMINATED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_TIMEDOUT
+ case EKERN_TIMEDOUT: return "EKERN_TIMEDOUT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_UREFS_OVERFLOW
+ case EKERN_UREFS_OVERFLOW:return "EKERN_UREFS_OVERFLOW";
+ #endif
+ /* GNU/Hurd */
+ #if defined EKERN_WRITE_PROTECTION_FAILURE
+ case EKERN_WRITE_PROTECTION_FAILURE:return "EKERN_WRITE_PROTECTION_FAILURE";
+ #endif
+ /* Linux */
+ #if defined EKEYEXPIRED
+ case EKEYEXPIRED: return "EKEYEXPIRED";
+ #endif
+ /* Linux */
+ #if defined EKEYREJECTED
+ case EKEYREJECTED: return "EKEYREJECTED";
+ #endif
+ /* Linux */
+ #if defined EKEYREVOKED
+ case EKEYREVOKED: return "EKEYREVOKED";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EL2HLT
+ case EL2HLT: return "EL2HLT";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EL2NSYNC
+ case EL2NSYNC: return "EL2NSYNC";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EL3HLT
+ case EL3HLT: return "EL3HLT";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EL3RST
+ case EL3RST: return "EL3RST";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix */
+ #if defined ELAST && 0
+ case ELAST: return "ELAST";
+ #endif
+ /* Cygwin */
+ #if defined ELBIN
+ case ELBIN: return "ELBIN";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ELIBACC
+ case ELIBACC: return "ELIBACC";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ELIBBAD
+ case ELIBBAD: return "ELIBBAD";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ELIBEXEC
+ case ELIBEXEC: return "ELIBEXEC";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ELIBMAX
+ case ELIBMAX: return "ELIBMAX";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ELIBSCN
+ case ELIBSCN: return "ELIBSCN";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ELNRNG
+ case ELNRNG: return "ELNRNG";
+ #endif
+ /* Minix */
+ #if defined ELOCKED
+ case ELOCKED: return "ELOCKED";
+ #endif
+ /* Solaris */
+ #if defined ELOCKUNMAPPED
+ case ELOCKUNMAPPED: return "ELOCKUNMAPPED";
+ #endif
+ /* IRIX */
+ #if defined ELOGINLIM
+ case ELOGINLIM: return "ELOGINLIM";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_BODY_ERROR
+ case EMACH_RCV_BODY_ERROR:return "EMACH_RCV_BODY_ERROR";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_HEADER_ERROR
+ case EMACH_RCV_HEADER_ERROR:return "EMACH_RCV_HEADER_ERROR";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_INTERRUPTED
+ case EMACH_RCV_INTERRUPTED:return "EMACH_RCV_INTERRUPTED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_INVALID_DATA
+ case EMACH_RCV_INVALID_DATA:return "EMACH_RCV_INVALID_DATA";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_INVALID_NAME
+ case EMACH_RCV_INVALID_NAME:return "EMACH_RCV_INVALID_NAME";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_INVALID_NOTIFY
+ case EMACH_RCV_INVALID_NOTIFY:return "EMACH_RCV_INVALID_NOTIFY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_IN_PROGRESS
+ case EMACH_RCV_IN_PROGRESS:return "EMACH_RCV_IN_PROGRESS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_IN_SET
+ case EMACH_RCV_IN_SET:return "EMACH_RCV_IN_SET";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_PORT_CHANGED
+ case EMACH_RCV_PORT_CHANGED:return "EMACH_RCV_PORT_CHANGED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_PORT_DIED
+ case EMACH_RCV_PORT_DIED:return "EMACH_RCV_PORT_DIED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_TIMED_OUT
+ case EMACH_RCV_TIMED_OUT:return "EMACH_RCV_TIMED_OUT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_RCV_TOO_LARGE
+ case EMACH_RCV_TOO_LARGE:return "EMACH_RCV_TOO_LARGE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INTERRUPTED
+ case EMACH_SEND_INTERRUPTED:return "EMACH_SEND_INTERRUPTED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_DATA
+ case EMACH_SEND_INVALID_DATA:return "EMACH_SEND_INVALID_DATA";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_DEST
+ case EMACH_SEND_INVALID_DEST:return "EMACH_SEND_INVALID_DEST";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_HEADER
+ case EMACH_SEND_INVALID_HEADER:return "EMACH_SEND_INVALID_HEADER";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_MEMORY
+ case EMACH_SEND_INVALID_MEMORY:return "EMACH_SEND_INVALID_MEMORY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_NOTIFY
+ case EMACH_SEND_INVALID_NOTIFY:return "EMACH_SEND_INVALID_NOTIFY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_REPLY
+ case EMACH_SEND_INVALID_REPLY:return "EMACH_SEND_INVALID_REPLY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_RIGHT
+ case EMACH_SEND_INVALID_RIGHT:return "EMACH_SEND_INVALID_RIGHT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_INVALID_TYPE
+ case EMACH_SEND_INVALID_TYPE:return "EMACH_SEND_INVALID_TYPE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_IN_PROGRESS
+ case EMACH_SEND_IN_PROGRESS:return "EMACH_SEND_IN_PROGRESS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_MSG_TOO_SMALL
+ case EMACH_SEND_MSG_TOO_SMALL:return "EMACH_SEND_MSG_TOO_SMALL";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_NOTIFY_IN_PROGRESS
+ case EMACH_SEND_NOTIFY_IN_PROGRESS:return "EMACH_SEND_NOTIFY_IN_PROGRESS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_NO_BUFFER
+ case EMACH_SEND_NO_BUFFER:return "EMACH_SEND_NO_BUFFER";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_NO_NOTIFY
+ case EMACH_SEND_NO_NOTIFY:return "EMACH_SEND_NO_NOTIFY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_TIMED_OUT
+ case EMACH_SEND_TIMED_OUT:return "EMACH_SEND_TIMED_OUT";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMACH_SEND_WILL_NOTIFY
+ case EMACH_SEND_WILL_NOTIFY:return "EMACH_SEND_WILL_NOTIFY";
+ #endif
+ /* AIX, OSF/1 */
+ #if defined EMEDIA
+ case EMEDIA: return "EMEDIA";
+ #endif
+ /* Linux, OpenBSD */
+ #if defined EMEDIUMTYPE
+ case EMEDIUMTYPE: return "EMEDIUMTYPE";
+ #endif
+ /* IRIX */
+ #if defined EMEMRETRY
+ case EMEMRETRY: return "EMEMRETRY";
+ #endif
+ /* IRIX */
+ #if defined EMIGRATED
+ case EMIGRATED: return "EMIGRATED";
+ #endif
+ /* IRIX */
+ #if defined EMIGRATING
+ case EMIGRATING: return "EMIGRATING";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_ARRAY_TOO_LARGE
+ case EMIG_ARRAY_TOO_LARGE:return "EMIG_ARRAY_TOO_LARGE";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_BAD_ARGUMENTS
+ case EMIG_BAD_ARGUMENTS:return "EMIG_BAD_ARGUMENTS";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_BAD_ID
+ case EMIG_BAD_ID: return "EMIG_BAD_ID";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_DESTROY_REQUEST
+ case EMIG_DESTROY_REQUEST:return "EMIG_DESTROY_REQUEST";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_EXCEPTION
+ case EMIG_EXCEPTION: return "EMIG_EXCEPTION";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_NO_REPLY
+ case EMIG_NO_REPLY: return "EMIG_NO_REPLY";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_REMOTE_ERROR
+ case EMIG_REMOTE_ERROR:return "EMIG_REMOTE_ERROR";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_REPLY_MISMATCH
+ case EMIG_REPLY_MISMATCH:return "EMIG_REPLY_MISMATCH";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_SERVER_DIED
+ case EMIG_SERVER_DIED:return "EMIG_SERVER_DIED";
+ #endif
+ /* GNU/Hurd */
+ #if defined EMIG_TYPE_ERROR
+ case EMIG_TYPE_ERROR: return "EMIG_TYPE_ERROR";
+ #endif
+ /* OSF/1 */
+ #if defined EMTIMERS
+ case EMTIMERS: return "EMTIMERS";
+ #endif
+ /* IRIX */
+ #if defined EMUSTRUN
+ case EMUSTRUN: return "EMUSTRUN";
+ #endif
+ /* Linux, IRIX */
+ #if defined ENAVAIL
+ case ENAVAIL: return "ENAVAIL";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix */
+ #if defined ENEEDAUTH
+ case ENEEDAUTH: return "ENEEDAUTH";
+ #endif
+ /* IRIX */
+ #if defined ENFSREMOTE
+ case ENFSREMOTE: return "ENFSREMOTE";
+ #endif
+ /* Cygwin */
+ #if defined ENMFILE
+ case ENMFILE: return "ENMFILE";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ENOANO
+ case ENOANO: return "ENOANO";
+ #endif
+ /* IRIX */
+ #if defined ENOATTACH
+ case ENOATTACH: return "ENOATTACH";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, IRIX, Minix */
+ #if defined ENOATTR
+ case ENOATTR: return "ENOATTR";
+ #endif
+ /* IRIX */
+ #if defined ENOBWD
+ case ENOBWD: return "ENOBWD";
+ #endif
+ /* MirBSD */
+ #if defined ENOCOFFEE
+ case ENOCOFFEE: return "ENOCOFFEE";
+ #endif
+ /* Minix */
+ #if defined ENOCONN
+ case ENOCONN: return "ENOCONN";
+ #endif
+ /* AIX */
+ #if defined ENOCONNECT
+ case ENOCONNECT: return "ENOCONNECT";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ENOCSI
+ case ENOCSI: return "ENOCSI";
+ #endif
+ /* IRIX */
+ #if defined ENOEXIST
+ case ENOEXIST: return "ENOEXIST";
+ #endif
+ /* IRIX */
+ #if defined ENOINTRGROUP
+ case ENOINTRGROUP: return "ENOINTRGROUP";
+ #endif
+ /* FreeBSD */
+ #if defined ENOIOCTL
+ case ENOIOCTL: return "ENOIOCTL";
+ #endif
+ /* Linux */
+ #if defined ENOKEY
+ case ENOKEY: return "ENOKEY";
+ #endif
+ /* IRIX */
+ #if defined ENOLIMFILE
+ case ENOLIMFILE: return "ENOLIMFILE";
+ #endif
+ /* HP-UX */
+ #if defined ENOLOAD
+ case ENOLOAD: return "ENOLOAD";
+ #endif
+ /* IRIX */
+ #if defined ENOLOGIN
+ case ENOLOGIN: return "ENOLOGIN";
+ #endif
+ /* HP-UX */
+ #if defined ENOMATCH
+ case ENOMATCH: return "ENOMATCH";
+ #endif
+ /* Linux, OpenBSD, Cygwin */
+ #if defined ENOMEDIUM
+ case ENOMEDIUM: return "ENOMEDIUM";
+ #endif
+ /* IRIX */
+ #if defined ENOMESSAGE
+ case ENOMESSAGE: return "ENOMESSAGE";
+ #endif
+ /* Linux, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ENONET
+ case ENONET: return "ENONET";
+ #endif
+ /* Linux, HP-UX, IRIX, OSF/1, Solaris, Cygwin */
+ #if defined ENOPKG
+ case ENOPKG: return "ENOPKG";
+ #endif
+ /* Mac OS X */
+ #if defined ENOPOLICY
+ case ENOPOLICY: return "ENOPOLICY";
+ #endif
+ /* IRIX */
+ #if defined ENOPROC
+ case ENOPROC: return "ENOPROC";
+ #endif
+ /* HP-UX */
+ #if defined ENOREG
+ case ENOREG: return "ENOREG";
+ #endif
+ /* IRIX */
+ #if defined ENOSERVICE
+ case ENOSERVICE: return "ENOSERVICE";
+ #endif
+ /* Cygwin */
+ #if defined ENOSHARE
+ case ENOSHARE: return "ENOSHARE";
+ #endif
+ /* HP-UX, OSF/1 */
+ #if defined ENOSYM
+ case ENOSYM: return "ENOSYM";
+ #endif
+ /* Solaris */
+ #if defined ENOTACTIVE
+ case ENOTACTIVE: return "ENOTACTIVE";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Cygwin */
+ #if defined ENOTBLK
+ case ENOTBLK: return "ENOTBLK";
+ #endif
+ /* FreeBSD */
+ #if defined ENOTCAPABLE
+ case ENOTCAPABLE: return "ENOTCAPABLE";
+ #endif
+ /* IRIX */
+ #if defined ENOTCONTROLLER
+ case ENOTCONTROLLER: return "ENOTCONTROLLER";
+ #endif
+ /* IRIX */
+ #if defined ENOTENQUEUED
+ case ENOTENQUEUED: return "ENOTENQUEUED";
+ #endif
+ /* IRIX */
+ #if defined ENOTJOINED
+ case ENOTJOINED: return "ENOTJOINED";
+ #endif
+ /* Linux, IRIX */
+ #if defined ENOTNAM
+ case ENOTNAM: return "ENOTNAM";
+ #endif
+ /* AIX, Minix */
+ #if defined ENOTREADY
+ case ENOTREADY: return "ENOTREADY";
+ #endif
+ /* AIX */
+ #if defined ENOTRUST
+ case ENOTRUST: return "ENOTRUST";
+ #endif
+ /* IRIX */
+ #if defined ENOTSTOPPED
+ case ENOTSTOPPED: return "ENOTSTOPPED";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ENOTUNIQ
+ case ENOTUNIQ: return "ENOTUNIQ";
+ #endif
+ /* HP-UX */
+ #if defined ENOUNLD
+ case ENOUNLD: return "ENOUNLD";
+ #endif
+ /* HP-UX */
+ #if defined ENOUNREG
+ case ENOUNREG: return "ENOUNREG";
+ #endif
+ /* Minix */
+ #if defined ENOURG
+ case ENOURG: return "ENOURG";
+ #endif
+ /* native Windows */
+ #if defined EOTHER
+ case EOTHER: return "EOTHER";
+ #endif
+ /* Minix */
+ #if defined EPACKSIZE
+ case EPACKSIZE: return "EPACKSIZE";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Haiku, Cygwin */
+ #if defined EPFNOSUPPORT
+ case EPFNOSUPPORT: return "EPFNOSUPPORT";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, IRIX, OSF/1, Minix, Cygwin */
+ #if defined EPROCLIM
+ case EPROCLIM: return "EPROCLIM";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix */
+ #if defined EPROCUNAVAIL
+ case EPROCUNAVAIL: return "EPROCUNAVAIL";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix */
+ #if defined EPROGMISMATCH
+ case EPROGMISMATCH: return "EPROGMISMATCH";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix */
+ #if defined EPROGUNAVAIL
+ case EPROGUNAVAIL: return "EPROGUNAVAIL";
+ #endif
+ /* Mac OS X */
+ #if defined EPWROFF
+ case EPWROFF: return "EPWROFF";
+ #endif
+ /* Mac OS X */
+ #if defined EQFULL
+ case EQFULL: return "EQFULL";
+ #endif
+ /* HP-UX */
+ #if defined ERELOC
+ case ERELOC: return "ERELOC";
+ #endif
+ /* OSF/1 */
+ #if defined ERELOCATED
+ case ERELOCATED: return "ERELOCATED";
+ #endif
+ /* FreeBSD */
+ #if defined ERELOOKUP
+ case ERELOOKUP: return "ERELOOKUP";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EREMCHG
+ case EREMCHG: return "EREMCHG";
+ #endif
+ /* IRIX */
+ #if defined EREMDEV
+ case EREMDEV: return "EREMDEV";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Haiku, Cygwin */
+ #if defined EREMOTE
+ case EREMOTE: return "EREMOTE";
+ #endif
+ /* Linux, IRIX */
+ #if defined EREMOTEIO
+ case EREMOTEIO: return "EREMOTEIO";
+ #endif
+ /* HP-UX */
+ #if defined EREMOTERELEASE
+ case EREMOTERELEASE: return "EREMOTERELEASE";
+ #endif
+ /* Linux, FreeBSD, AIX, IRIX, OSF/1, Solaris, Minix */
+ #if defined ERESTART
+ case ERESTART: return "ERESTART";
+ #endif
+ /* Linux */
+ #if defined ERFKILL
+ case ERFKILL: return "ERFKILL";
+ #endif
+ /* Mac OS X, FreeBSD, NetBSD, OpenBSD, OSF/1, Minix */
+ #if defined ERPCMISMATCH
+ case ERPCMISMATCH: return "ERPCMISMATCH";
+ #endif
+ /* AIX */
+ #if defined ESAD
+ case ESAD: return "ESAD";
+ #endif
+ /* Mac OS X */
+ #if defined ESHLIBVERS
+ case ESHLIBVERS: return "ESHLIBVERS";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Haiku, Cygwin */
+ #if defined ESHUTDOWN
+ case ESHUTDOWN: return "ESHUTDOWN";
+ #endif
+ /* Haiku */
+ #if defined ESIGPARM
+ case ESIGPARM: return "ESIGPARM";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Cygwin */
+ #if defined ESOCKTNOSUPPORT
+ case ESOCKTNOSUPPORT: return "ESOCKTNOSUPPORT";
+ #endif
+ /* AIX, OSF/1 */
+ #if defined ESOFT
+ case ESOFT: return "ESOFT";
+ #endif
+ /* Linux, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined ESRMNT
+ case ESRMNT: return "ESRMNT";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined ESTRPIPE
+ case ESTRPIPE: return "ESTRPIPE";
+ #endif
+ /* OSF/1 */
+ #if defined ESUCCESS
+ case ESUCCESS: return "ESUCCESS";
+ #endif
+ /* AIX */
+ #if defined ESYSERROR
+ case ESYSERROR: return "ESYSERROR";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Cygwin */
+ #if defined ETOOMANYREFS
+ case ETOOMANYREFS: return "ETOOMANYREFS";
+ #endif
+ /* Minix */
+ #if defined ETRAPDENIED
+ case ETRAPDENIED: return "ETRAPDENIED";
+ #endif
+ /* Linux, IRIX */
+ #if defined EUCLEAN
+ case EUCLEAN: return "EUCLEAN";
+ #endif
+ /* Linux, AIX, HP-UX, IRIX, Solaris, Cygwin */
+ #if defined EUNATCH
+ case EUNATCH: return "EUNATCH";
+ #endif
+ /* Minix */
+ #if defined EURG
+ case EURG: return "EURG";
+ #endif
+ /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, IRIX, OSF/1, Solaris, Minix, Cygwin */
+ #if defined EUSERS
+ case EUSERS: return "EUSERS";
+ #endif
+ /* OSF/1 */
+ #if defined EVERSION
+ case EVERSION: return "EVERSION";
+ #endif
+ /* IRIX */
+ #if defined EWRONGFS
+ case EWRONGFS: return "EWRONGFS";
+ #endif
+ /* AIX */
+ #if defined EWRPROTECT
+ case EWRPROTECT: return "EWRPROTECT";
+ #endif
+ /* Linux, IRIX, Solaris, Cygwin */
+ #if defined EXFULL
+ case EXFULL: return "EXFULL";
+ #endif
+
+ default:
+ return NULL;
+ }
+}