mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
5e8754f90a
This reverts commit 7a6dbc2fdb
("Update
gnulib to current upstream master"). It is needed because the gnulib
update caused problems with people using old GCC compilers (version
4.8, for example), which support C99 but don't default to using it.
Unfortunately this broke GDB for these users. A more detailed report
of what happened can be found at:
https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00157.html
The reason for updating our gnulib copy was to fix PR gdb/23558.
Reverting this patch reintroduces the bug, so in order to fix it I
will submit a subsequent patch which cherry-picks the fix from gnulib.
gdb/ChangeLog:
2018-09-10 Sergio Durigan Junior <sergiodj@redhat.com>
Revert:
2018-08-29 Sergio Durigan Junior <sergiodj@redhat.com>
PR gdb/23555
PR gdb/23558
* gnulib/aclocal.m4: Regenerate.
* gnulib/config.in: Regenerate.
* gnulib/configure: Regenerate.
* gnulib/import/Makefile.am: Update.
* gnulib/import/Makefile.in: Update.
* gnulib/import/extra/snippet/_Noreturn.h: Rename to...
* gnulib/import/_Noreturn.h: ... this.
* gnulib/import/alloca.in.h: Update.
* gnulib/import/extra/snippet/arg-nonnull.h: Rename to...
* gnulib/import/arg-nonnull.h: ... this.
* gnulib/import/assure.h: Update.
* gnulib/import/at-func.c: Update.
* gnulib/import/basename-lgpl.c: Update.
* gnulib/import/extra/snippet/c++defs.h: Rename to...
* gnulib/import/c++defs.h: ... this.
* gnulib/import/canonicalize-lgpl.c: Update.
* gnulib/import/cdefs.h: Update.
* gnulib/import/chdir-long.c: Update.
* gnulib/import/chdir-long.h: Update.
* gnulib/import/cloexec.c: Update.
* gnulib/import/cloexec.h: Update.
* gnulib/import/close.c: Update.
* gnulib/import/closedir.c: Update.
* gnulib/import/config.charset: Update.
* gnulib/import/dirent-private.h: Update.
* gnulib/import/dirent.in.h: Update.
* gnulib/import/dirfd.c: Update.
* gnulib/import/dirname-lgpl.c: Update.
* gnulib/import/dirname.h: Update.
* gnulib/import/dosname.h: Update.
* gnulib/import/dup-safer-flag.c: Update.
* gnulib/import/dup-safer.c: Update.
* gnulib/import/dup.c: Update.
* gnulib/import/dup2.c: Update.
* gnulib/import/errno.in.h: Update.
* gnulib/import/error.c: Update.
* gnulib/import/error.h: Update.
* gnulib/import/exitfail.c: Update.
* gnulib/import/exitfail.h: Update.
* gnulib/import/extra/update-copyright: Update.
* gnulib/import/fchdir.c: Update.
* gnulib/import/fcntl.c: Update.
* gnulib/import/fcntl.in.h: Update.
* gnulib/import/fd-hook.c: Update.
* gnulib/import/fd-hook.h: Update.
* gnulib/import/fd-safer-flag.c: Update.
* gnulib/import/fd-safer.c: Update.
* gnulib/import/fdopendir.c: Update.
* gnulib/import/filename.h: Update.
* gnulib/import/filenamecat-lgpl.c: Update.
* gnulib/import/filenamecat.h: Update.
* gnulib/import/flexmember.h: Update.
* gnulib/import/float+.h: Update.
* gnulib/import/float.c: Update.
* gnulib/import/float.in.h: Update.
* gnulib/import/fnmatch.c: Update.
* gnulib/import/fnmatch.in.h: Update.
* gnulib/import/fnmatch_loop.c: Update.
* gnulib/import/fpucw.h: Update.
* gnulib/import/frexp.c: Update.
* gnulib/import/frexpl.c: Update.
* gnulib/import/fstat.c: Update.
* gnulib/import/fstatat.c: Update.
* gnulib/import/getcwd-lgpl.c: Update.
* gnulib/import/getcwd.c: Update.
* gnulib/import/getdtablesize.c: Update.
* gnulib/import/getlogin_r.c: Update.
* gnulib/import/getprogname.c: Update.
* gnulib/import/getprogname.h: Update.
* gnulib/import/gettext.h: Update.
* gnulib/import/gettimeofday.c: Update.
* gnulib/import/glob-libc.h: Update.
* gnulib/import/glob.c: Update.
* gnulib/import/glob.in.h: Update.
* gnulib/import/glob_internal.h: Update.
* gnulib/import/glob_pattern_p.c: Update.
* gnulib/import/globfree.c: Update.
* gnulib/import/hard-locale.c: Update.
* gnulib/import/hard-locale.h: Update.
* gnulib/import/intprops.h: Update.
* gnulib/import/inttypes.in.h: Update.
* gnulib/import/isnan.c: Update.
* gnulib/import/isnand-nolibm.h: Update.
* gnulib/import/isnand.c: Update.
* gnulib/import/isnanl-nolibm.h: Update.
* gnulib/import/isnanl.c: Update.
* gnulib/import/itold.c: Update.
* gnulib/import/libc-config.h: Update.
* gnulib/import/limits.in.h: Update.
* gnulib/import/localcharset.c: Update.
* gnulib/import/localcharset.h: Update.
* gnulib/import/localtime-buffer.c: Update.
* gnulib/import/localtime-buffer.h: Update.
* gnulib/import/lstat.c: Update.
* gnulib/import/m4/00gnulib.m4: Update.
* gnulib/import/m4/__inline.m4: Update.
* gnulib/import/m4/absolute-header.m4: Update.
* gnulib/import/m4/alloca.m4: Update.
* gnulib/import/m4/builtin-expect.m4: Update.
* gnulib/import/m4/canonicalize.m4: Update.
* gnulib/import/m4/chdir-long.m4: Update.
* gnulib/import/m4/close.m4: Update.
* gnulib/import/m4/closedir.m4: Update.
* gnulib/import/m4/configmake.m4: Update.
* gnulib/import/m4/d-ino.m4: Update.
* gnulib/import/m4/d-type.m4: Update.
* gnulib/import/m4/dirent_h.m4: Update.
* gnulib/import/m4/dirfd.m4: Update.
* gnulib/import/m4/dirname.m4: Update.
* gnulib/import/m4/double-slash-root.m4: Update.
* gnulib/import/m4/dup.m4: Update.
* gnulib/import/m4/dup2.m4: Update.
* gnulib/import/m4/eealloc.m4: Update.
* gnulib/import/m4/environ.m4: Update.
* gnulib/import/m4/errno_h.m4: Update.
* gnulib/import/m4/error.m4: Update.
* gnulib/import/m4/exponentd.m4: Update.
* gnulib/import/m4/exponentl.m4: Update.
* gnulib/import/m4/extensions.m4: Update.
* gnulib/import/m4/extern-inline.m4: Update.
* gnulib/import/m4/fchdir.m4: Update.
* gnulib/import/m4/fcntl-o.m4: Update.
* gnulib/import/m4/fcntl.m4: Update.
* gnulib/import/m4/fcntl_h.m4: Update.
* gnulib/import/m4/fdopendir.m4: Update.
* gnulib/import/m4/filenamecat.m4: Update.
* gnulib/import/m4/flexmember.m4: Update.
* gnulib/import/m4/float_h.m4: Update.
* gnulib/import/m4/fnmatch.m4: Update.
* gnulib/import/m4/fnmatch_h.m4: Update.
* gnulib/import/m4/fpieee.m4: Update.
* gnulib/import/m4/frexp.m4: Update.
* gnulib/import/m4/frexpl.m4: Update.
* gnulib/import/m4/fstat.m4: Update.
* gnulib/import/m4/fstatat.m4: Update.
* gnulib/import/m4/getcwd-abort-bug.m4: Update.
* gnulib/import/m4/getcwd-path-max.m4: Update.
* gnulib/import/m4/getcwd.m4: Update.
* gnulib/import/m4/getdtablesize.m4: Update.
* gnulib/import/m4/getlogin.m4: Update.
* gnulib/import/m4/getlogin_r.m4: Update.
* gnulib/import/m4/getpagesize.m4: Update.
* gnulib/import/m4/getprogname.m4: Update.
* gnulib/import/m4/gettimeofday.m4: Update.
* gnulib/import/m4/glibc21.m4: Update.
* gnulib/import/m4/glob.m4: Update.
* gnulib/import/m4/glob_h.m4: Update.
* gnulib/import/m4/gnulib-cache.m4: Update.
* gnulib/import/m4/gnulib-common.m4: Update.
* gnulib/import/m4/gnulib-comp.m4: Update.
* gnulib/import/m4/gnulib-tool.m4: Update.
* gnulib/import/m4/hard-locale.m4: Update.
* gnulib/import/m4/include_next.m4: Update.
* gnulib/import/m4/inttypes-pri.m4: Update.
* gnulib/import/m4/inttypes.m4: Update.
* gnulib/import/m4/isnand.m4: Update.
* gnulib/import/m4/isnanl.m4: Update.
* gnulib/import/m4/largefile.m4: Update.
* gnulib/import/m4/limits-h.m4: Update.
* gnulib/import/m4/localcharset.m4: Update.
* gnulib/import/m4/locale-fr.m4: Update.
* gnulib/import/m4/locale-ja.m4: Update.
* gnulib/import/m4/locale-zh.m4: Update.
* gnulib/import/m4/localtime-buffer.m4: Update.
* gnulib/import/m4/longlong.m4: Update.
* gnulib/import/m4/lstat.m4: Update.
* gnulib/import/m4/malloc.m4: Update.
* gnulib/import/m4/malloca.m4: Update.
* gnulib/import/m4/math_h.m4: Update.
* gnulib/import/m4/mbrtowc.m4: Update.
* gnulib/import/m4/mbsinit.m4: Update.
* gnulib/import/m4/mbsrtowcs.m4: Update.
* gnulib/import/m4/mbstate_t.m4: Update.
* gnulib/import/m4/memchr.m4: Update.
* gnulib/import/m4/memmem.m4: Update.
* gnulib/import/m4/mempcpy.m4: Update.
* gnulib/import/m4/memrchr.m4: Update.
* gnulib/import/m4/mkdir.m4: Update.
* gnulib/import/m4/mkstemp.m4: Update.
* gnulib/import/m4/mmap-anon.m4: Update.
* gnulib/import/m4/mode_t.m4: Update.
* gnulib/import/m4/msvc-inval.m4: Update.
* gnulib/import/m4/msvc-nothrow.m4: Update.
* gnulib/import/m4/multiarch.m4: Update.
* gnulib/import/m4/nocrash.m4: Update.
* gnulib/import/m4/off_t.m4: Update.
* gnulib/import/m4/onceonly.m4: Update.
* gnulib/import/m4/open-cloexec.m4: Update.
* gnulib/import/m4/open.m4: Update.
* gnulib/import/m4/openat.m4: Update.
* gnulib/import/m4/opendir.m4: Update.
* gnulib/import/m4/pathmax.m4: Update.
* gnulib/import/m4/rawmemchr.m4: Update.
* gnulib/import/m4/readdir.m4: Update.
* gnulib/import/m4/readlink.m4: Update.
* gnulib/import/m4/realloc.m4: Update.
* gnulib/import/m4/rename.m4: Update.
* gnulib/import/m4/rewinddir.m4: Update.
* gnulib/import/m4/rmdir.m4: Update.
* gnulib/import/m4/save-cwd.m4: Update.
* gnulib/import/m4/secure_getenv.m4: Update.
* gnulib/import/m4/setenv.m4: Update.
* gnulib/import/m4/signal_h.m4: Update.
* gnulib/import/m4/ssize_t.m4: Update.
* gnulib/import/m4/stat-time.m4: Update.
* gnulib/import/m4/stat.m4: Update.
* gnulib/import/m4/std-gnu11.m4: Update.
* gnulib/import/m4/stdbool.m4: Update.
* gnulib/import/m4/stddef_h.m4: Update.
* gnulib/import/m4/stdint.m4: Update.
* gnulib/import/m4/stdio_h.m4: Update.
* gnulib/import/m4/stdlib_h.m4: Update.
* gnulib/import/m4/strchrnul.m4: Update.
* gnulib/import/m4/strdup.m4: Update.
* gnulib/import/m4/strerror.m4: Update.
* gnulib/import/m4/string_h.m4: Update.
* gnulib/import/m4/strstr.m4: Update.
* gnulib/import/m4/strtok_r.m4: Update.
* gnulib/import/m4/sys_socket_h.m4: Update.
* gnulib/import/m4/sys_stat_h.m4: Update.
* gnulib/import/m4/sys_time_h.m4: Update.
* gnulib/import/m4/sys_types_h.m4: Update.
* gnulib/import/m4/tempname.m4: Update.
* gnulib/import/m4/time_h.m4: Update.
* gnulib/import/m4/unistd-safer.m4: Update.
* gnulib/import/m4/unistd_h.m4: Update.
* gnulib/import/m4/warn-on-use.m4: Update.
* gnulib/import/m4/wchar_h.m4: Update.
* gnulib/import/m4/wchar_t.m4: Update.
* gnulib/import/m4/wctype_h.m4: Update.
* gnulib/import/m4/wint_t.m4: Update.
* gnulib/import/malloc.c: Update.
* gnulib/import/malloc/scratch_buffer.h: Update.
* gnulib/import/malloc/scratch_buffer_grow.c: Update.
* gnulib/import/malloc/scratch_buffer_grow_preserve.c: Update.
* gnulib/import/malloc/scratch_buffer_set_array_size.c: Update.
* gnulib/import/malloca.c: Update.
* gnulib/import/malloca.h: Update.
* gnulib/import/malloca.valgrind: Update.
* gnulib/import/math.in.h: Update.
* gnulib/import/mbrtowc.c: Update.
* gnulib/import/mbsinit.c: Update.
* gnulib/import/mbsrtowcs-impl.h: Update.
* gnulib/import/mbsrtowcs-state.c: Update.
* gnulib/import/mbsrtowcs.c: Update.
* gnulib/import/memchr.c: Update.
* gnulib/import/memmem.c: Update.
* gnulib/import/mempcpy.c: Update.
* gnulib/import/memrchr.c: Update.
* gnulib/import/mkdir.c: Update.
* gnulib/import/mkstemp.c: Update.
* gnulib/import/msvc-inval.c: Update.
* gnulib/import/msvc-inval.h: Update.
* gnulib/import/msvc-nothrow.c: Update.
* gnulib/import/msvc-nothrow.h: Update.
* gnulib/import/open.c: Update.
* gnulib/import/openat-die.c: Update.
* gnulib/import/openat-priv.h: Update.
* gnulib/import/openat-proc.c: Update.
* gnulib/import/openat.c: Update.
* gnulib/import/openat.h: Update.
* gnulib/import/opendir.c: Update.
* gnulib/import/pathmax.h: Update.
* gnulib/import/pipe-safer.c: Update.
* gnulib/import/rawmemchr.c: Update.
* gnulib/import/readdir.c: Update.
* gnulib/import/readlink.c: Update.
* gnulib/import/realloc.c: Update.
* gnulib/import/ref-add.sin: Update.
* gnulib/import/ref-del.sin: Update.
* gnulib/import/rename.c: Update.
* gnulib/import/rewinddir.c: Update.
* gnulib/import/rmdir.c: Update.
* gnulib/import/same-inode.h: Update.
* gnulib/import/save-cwd.c: Update.
* gnulib/import/save-cwd.h: Update.
* gnulib/import/scratch_buffer.h: Update.
* gnulib/import/secure_getenv.c: Update.
* gnulib/import/setenv.c: Update.
* gnulib/import/signal.in.h: Update.
* gnulib/import/stat-time.c: Update.
* gnulib/import/stat-time.h: Update.
* gnulib/import/stat-w32.c: Update.
* gnulib/import/stat-w32.h: Update.
* gnulib/import/stat.c: Update.
* gnulib/import/stdbool.in.h: Update.
* gnulib/import/stddef.in.h: Update.
* gnulib/import/stdint.in.h: Update.
* gnulib/import/stdio.in.h: Update.
* gnulib/import/stdlib.in.h: Update.
* gnulib/import/str-two-way.h: Update.
* gnulib/import/strchrnul.c: Update.
* gnulib/import/strdup.c: Update.
* gnulib/import/streq.h: Update.
* gnulib/import/strerror-override.c: Update.
* gnulib/import/strerror-override.h: Update.
* gnulib/import/strerror.c: Update.
* gnulib/import/string.in.h: Update.
* gnulib/import/stripslash.c: Update.
* gnulib/import/strnlen1.c: Update.
* gnulib/import/strnlen1.h: Update.
* gnulib/import/strstr.c: Update.
* gnulib/import/strtok_r.c: Update.
* gnulib/import/sys_stat.in.h: Update.
* gnulib/import/sys_time.in.h: Update.
* gnulib/import/sys_types.in.h: Update.
* gnulib/import/tempname.c: Update.
* gnulib/import/tempname.h: Update.
* gnulib/import/time.in.h: Update.
* gnulib/import/unistd--.h: Update.
* gnulib/import/unistd-safer.h: Update.
* gnulib/import/unistd.in.h: Update.
* gnulib/import/unsetenv.c: Update.
* gnulib/import/verify.h: Update.
* gnulib/import/extra/snippet/warn-on-use.h: Update.
* gnulib/import/wchar.in.h: Update.
* gnulib/import/wctype.in.h: Update.
* gnulib/import/xalloc-oversized.h: Update.
* gnulib/update-gnulib.sh (GNULIB_COMMIT_SHA1): Set to
"53e2c179f26a890fa6685af4b6c1397ee370433b".
303 lines
8.8 KiB
C
303 lines
8.8 KiB
C
/* strerror-override.c --- POSIX compatible system error routine
|
|
|
|
Copyright (C) 2010-2016 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 <http://www.gnu.org/licenses/>. */
|
|
|
|
/* Written by Bruno Haible <bruno@clisp.org>, 2010. */
|
|
|
|
#include <config.h>
|
|
|
|
#include "strerror-override.h"
|
|
|
|
#include <errno.h>
|
|
|
|
#if GNULIB_defined_EWINSOCK /* native Windows platforms */
|
|
# if HAVE_WINSOCK2_H
|
|
# include <winsock2.h>
|
|
# endif
|
|
#endif
|
|
|
|
/* If ERRNUM maps to an errno value defined by gnulib, return a string
|
|
describing the error. Otherwise return NULL. */
|
|
const char *
|
|
strerror_override (int errnum)
|
|
{
|
|
/* These error messages are taken from glibc/sysdeps/gnu/errlist.c. */
|
|
switch (errnum)
|
|
{
|
|
#if REPLACE_STRERROR_0
|
|
case 0:
|
|
return "Success";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ESOCK /* native Windows platforms with older <errno.h> */
|
|
case EINPROGRESS:
|
|
return "Operation now in progress";
|
|
case EALREADY:
|
|
return "Operation already in progress";
|
|
case ENOTSOCK:
|
|
return "Socket operation on non-socket";
|
|
case EDESTADDRREQ:
|
|
return "Destination address required";
|
|
case EMSGSIZE:
|
|
return "Message too long";
|
|
case EPROTOTYPE:
|
|
return "Protocol wrong type for socket";
|
|
case ENOPROTOOPT:
|
|
return "Protocol not available";
|
|
case EPROTONOSUPPORT:
|
|
return "Protocol not supported";
|
|
case EOPNOTSUPP:
|
|
return "Operation not supported";
|
|
case EAFNOSUPPORT:
|
|
return "Address family not supported by protocol";
|
|
case EADDRINUSE:
|
|
return "Address already in use";
|
|
case EADDRNOTAVAIL:
|
|
return "Cannot assign requested address";
|
|
case ENETDOWN:
|
|
return "Network is down";
|
|
case ENETUNREACH:
|
|
return "Network is unreachable";
|
|
case ECONNRESET:
|
|
return "Connection reset by peer";
|
|
case ENOBUFS:
|
|
return "No buffer space available";
|
|
case EISCONN:
|
|
return "Transport endpoint is already connected";
|
|
case ENOTCONN:
|
|
return "Transport endpoint is not connected";
|
|
case ETIMEDOUT:
|
|
return "Connection timed out";
|
|
case ECONNREFUSED:
|
|
return "Connection refused";
|
|
case ELOOP:
|
|
return "Too many levels of symbolic links";
|
|
case EHOSTUNREACH:
|
|
return "No route to host";
|
|
case EWOULDBLOCK:
|
|
return "Operation would block";
|
|
#endif
|
|
#if GNULIB_defined_ESTREAMS /* native Windows platforms with older <errno.h> */
|
|
case ETXTBSY:
|
|
return "Text file busy";
|
|
case ENODATA:
|
|
return "No data available";
|
|
case ENOSR:
|
|
return "Out of streams resources";
|
|
case ENOSTR:
|
|
return "Device not a stream";
|
|
case ETIME:
|
|
return "Timer expired";
|
|
case EOTHER:
|
|
return "Other error";
|
|
#endif
|
|
#if GNULIB_defined_EWINSOCK /* native Windows platforms */
|
|
case ESOCKTNOSUPPORT:
|
|
return "Socket type not supported";
|
|
case EPFNOSUPPORT:
|
|
return "Protocol family not supported";
|
|
case ESHUTDOWN:
|
|
return "Cannot send after transport endpoint shutdown";
|
|
case ETOOMANYREFS:
|
|
return "Too many references: cannot splice";
|
|
case EHOSTDOWN:
|
|
return "Host is down";
|
|
case EPROCLIM:
|
|
return "Too many processes";
|
|
case EUSERS:
|
|
return "Too many users";
|
|
case EDQUOT:
|
|
return "Disk quota exceeded";
|
|
case ESTALE:
|
|
return "Stale NFS file handle";
|
|
case EREMOTE:
|
|
return "Object is remote";
|
|
# if HAVE_WINSOCK2_H
|
|
/* WSA_INVALID_HANDLE maps to EBADF */
|
|
/* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
|
|
/* WSA_INVALID_PARAMETER maps to EINVAL */
|
|
case WSA_OPERATION_ABORTED:
|
|
return "Overlapped operation aborted";
|
|
case WSA_IO_INCOMPLETE:
|
|
return "Overlapped I/O event object not in signaled state";
|
|
case WSA_IO_PENDING:
|
|
return "Overlapped operations will complete later";
|
|
/* WSAEINTR maps to EINTR */
|
|
/* WSAEBADF maps to EBADF */
|
|
/* WSAEACCES maps to EACCES */
|
|
/* WSAEFAULT maps to EFAULT */
|
|
/* WSAEINVAL maps to EINVAL */
|
|
/* WSAEMFILE maps to EMFILE */
|
|
/* WSAEWOULDBLOCK maps to EWOULDBLOCK */
|
|
/* WSAEINPROGRESS maps to EINPROGRESS */
|
|
/* WSAEALREADY maps to EALREADY */
|
|
/* WSAENOTSOCK maps to ENOTSOCK */
|
|
/* WSAEDESTADDRREQ maps to EDESTADDRREQ */
|
|
/* WSAEMSGSIZE maps to EMSGSIZE */
|
|
/* WSAEPROTOTYPE maps to EPROTOTYPE */
|
|
/* WSAENOPROTOOPT maps to ENOPROTOOPT */
|
|
/* WSAEPROTONOSUPPORT maps to EPROTONOSUPPORT */
|
|
/* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
|
|
/* WSAEOPNOTSUPP maps to EOPNOTSUPP */
|
|
/* WSAEPFNOSUPPORT is EPFNOSUPPORT */
|
|
/* WSAEAFNOSUPPORT maps to EAFNOSUPPORT */
|
|
/* WSAEADDRINUSE maps to EADDRINUSE */
|
|
/* WSAEADDRNOTAVAIL maps to EADDRNOTAVAIL */
|
|
/* WSAENETDOWN maps to ENETDOWN */
|
|
/* WSAENETUNREACH maps to ENETUNREACH */
|
|
/* WSAENETRESET maps to ENETRESET */
|
|
/* WSAECONNABORTED maps to ECONNABORTED */
|
|
/* WSAECONNRESET maps to ECONNRESET */
|
|
/* WSAENOBUFS maps to ENOBUFS */
|
|
/* WSAEISCONN maps to EISCONN */
|
|
/* WSAENOTCONN maps to ENOTCONN */
|
|
/* WSAESHUTDOWN is ESHUTDOWN */
|
|
/* WSAETOOMANYREFS is ETOOMANYREFS */
|
|
/* WSAETIMEDOUT maps to ETIMEDOUT */
|
|
/* WSAECONNREFUSED maps to ECONNREFUSED */
|
|
/* WSAELOOP maps to ELOOP */
|
|
/* WSAENAMETOOLONG maps to ENAMETOOLONG */
|
|
/* WSAEHOSTDOWN is EHOSTDOWN */
|
|
/* WSAEHOSTUNREACH maps to EHOSTUNREACH */
|
|
/* WSAENOTEMPTY maps to ENOTEMPTY */
|
|
/* WSAEPROCLIM is EPROCLIM */
|
|
/* WSAEUSERS is EUSERS */
|
|
/* WSAEDQUOT is EDQUOT */
|
|
/* WSAESTALE is ESTALE */
|
|
/* WSAEREMOTE is EREMOTE */
|
|
case WSASYSNOTREADY:
|
|
return "Network subsystem is unavailable";
|
|
case WSAVERNOTSUPPORTED:
|
|
return "Winsock.dll version out of range";
|
|
case WSANOTINITIALISED:
|
|
return "Successful WSAStartup not yet performed";
|
|
case WSAEDISCON:
|
|
return "Graceful shutdown in progress";
|
|
case WSAENOMORE: case WSA_E_NO_MORE:
|
|
return "No more results";
|
|
case WSAECANCELLED: case WSA_E_CANCELLED:
|
|
return "Call was canceled";
|
|
case WSAEINVALIDPROCTABLE:
|
|
return "Procedure call table is invalid";
|
|
case WSAEINVALIDPROVIDER:
|
|
return "Service provider is invalid";
|
|
case WSAEPROVIDERFAILEDINIT:
|
|
return "Service provider failed to initialize";
|
|
case WSASYSCALLFAILURE:
|
|
return "System call failure";
|
|
case WSASERVICE_NOT_FOUND:
|
|
return "Service not found";
|
|
case WSATYPE_NOT_FOUND:
|
|
return "Class type not found";
|
|
case WSAEREFUSED:
|
|
return "Database query was refused";
|
|
case WSAHOST_NOT_FOUND:
|
|
return "Host not found";
|
|
case WSATRY_AGAIN:
|
|
return "Nonauthoritative host not found";
|
|
case WSANO_RECOVERY:
|
|
return "Nonrecoverable error";
|
|
case WSANO_DATA:
|
|
return "Valid name, no data record of requested type";
|
|
/* WSA_QOS_* omitted */
|
|
# endif
|
|
#endif
|
|
|
|
#if GNULIB_defined_ENOMSG
|
|
case ENOMSG:
|
|
return "No message of desired type";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EIDRM
|
|
case EIDRM:
|
|
return "Identifier removed";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ENOLINK
|
|
case ENOLINK:
|
|
return "Link has been severed";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EPROTO
|
|
case EPROTO:
|
|
return "Protocol error";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EMULTIHOP
|
|
case EMULTIHOP:
|
|
return "Multihop attempted";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EBADMSG
|
|
case EBADMSG:
|
|
return "Bad message";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EOVERFLOW
|
|
case EOVERFLOW:
|
|
return "Value too large for defined data type";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ENOTSUP
|
|
case ENOTSUP:
|
|
return "Not supported";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ENETRESET
|
|
case ENETRESET:
|
|
return "Network dropped connection on reset";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ECONNABORTED
|
|
case ECONNABORTED:
|
|
return "Software caused connection abort";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ESTALE
|
|
case ESTALE:
|
|
return "Stale NFS file handle";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EDQUOT
|
|
case EDQUOT:
|
|
return "Disk quota exceeded";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ECANCELED
|
|
case ECANCELED:
|
|
return "Operation canceled";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EOWNERDEAD
|
|
case EOWNERDEAD:
|
|
return "Owner died";
|
|
#endif
|
|
|
|
#if GNULIB_defined_ENOTRECOVERABLE
|
|
case ENOTRECOVERABLE:
|
|
return "State not recoverable";
|
|
#endif
|
|
|
|
#if GNULIB_defined_EILSEQ
|
|
case EILSEQ:
|
|
return "Invalid or incomplete multibyte or wide character";
|
|
#endif
|
|
|
|
default:
|
|
return NULL;
|
|
}
|
|
}
|