mirror of
https://github.com/python/cpython
synced 2024-09-15 22:48:24 +00:00
49f9d8e405
maps errno numbers to errno names (e.g. EINTR), and errorcode maps them to message strings. (The latter is redundant because the new call posix.strerror() now does the same, but alla...)
826 lines
24 KiB
C
826 lines
24 KiB
C
/***********************************************************
|
|
Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
|
|
The Netherlands.
|
|
|
|
All Rights Reserved
|
|
|
|
Permission to use, copy, modify, and distribute this software and its
|
|
documentation for any purpose and without fee is hereby granted,
|
|
provided that the above copyright notice appear in all copies and that
|
|
both that copyright notice and this permission notice appear in
|
|
supporting documentation, and that the names of Stichting Mathematisch
|
|
Centrum or CWI or Corporation for National Research Initiatives or
|
|
CNRI not be used in advertising or publicity pertaining to
|
|
distribution of the software without specific, written prior
|
|
permission.
|
|
|
|
While CWI is the initial source for this software, a modified version
|
|
is made available by the Corporation for National Research Initiatives
|
|
(CNRI) at the Internet address ftp://ftp.python.org.
|
|
|
|
STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
|
|
REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
|
|
MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
|
|
CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
|
|
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
******************************************************************/
|
|
|
|
/* Errno module */
|
|
|
|
#include "Python.h"
|
|
|
|
/* Mac with GUSI has more errors than those in errno.h */
|
|
#ifdef USE_GUSI
|
|
#include <sys/errno.h>
|
|
#endif
|
|
|
|
/* Windows socket errors (WSA*): XXX is this the correct path ??? */
|
|
#ifdef MS_WINDOWS
|
|
#include <winsock.h>
|
|
#endif
|
|
|
|
/*
|
|
* Pull in the system error definitions
|
|
*/
|
|
|
|
static PyMethodDef errno_methods[] = {
|
|
{NULL, NULL}
|
|
};
|
|
|
|
/* Helper function doing the dictionary inserting */
|
|
|
|
static void
|
|
inscode(d, e, c, name, code, comment)
|
|
PyObject * d;
|
|
PyObject * e;
|
|
PyObject * c;
|
|
char *name;
|
|
int code;
|
|
char * comment;
|
|
{
|
|
PyObject *u;
|
|
PyObject *v;
|
|
PyObject *w;
|
|
|
|
#ifdef HAVE_STRERROR
|
|
if (strerror(code) != NULL)
|
|
comment = strerror(code);
|
|
#endif
|
|
|
|
u = PyString_FromString(name);
|
|
v = PyInt_FromLong((long) code);
|
|
w = PyString_FromString(comment);
|
|
|
|
if (!u || !v || !w) {
|
|
/* Don't bother reporting this error */
|
|
PyErr_Clear();
|
|
}
|
|
else {
|
|
/* insert in modules dict */
|
|
PyDict_SetItem(d, u, v);
|
|
/* insert in errorstr dict */
|
|
PyDict_SetItem(e, v, w);
|
|
/* insert in errorcode dict */
|
|
PyDict_SetItem(c, v, u);
|
|
}
|
|
Py_XDECREF(u);
|
|
Py_XDECREF(v);
|
|
Py_XDECREF(w);
|
|
}
|
|
|
|
void
|
|
initerrno()
|
|
{
|
|
PyObject *m, *d, *ds, *de;
|
|
m = Py_InitModule("errno", errno_methods);
|
|
d = PyModule_GetDict(m);
|
|
ds = PyDict_New();
|
|
if (ds == NULL || PyDict_SetItemString(d,"errorstr",ds))
|
|
Py_FatalError("can't initialize errno module");
|
|
de = PyDict_New();
|
|
if (de == NULL || PyDict_SetItemString(d,"errorcode",de))
|
|
Py_FatalError("can't initialize errno module");
|
|
|
|
/*
|
|
* The names and comments are borrowed from linux/include/errno.h,
|
|
* which should be pretty all-inclusive
|
|
*/
|
|
|
|
#ifdef ENODEV
|
|
inscode(d, ds, de, "ENODEV", ENODEV, "No such device");
|
|
#endif
|
|
#ifdef ENOCSI
|
|
inscode(d, ds, de, "ENOCSI", ENOCSI, "No CSI structure available");
|
|
#endif
|
|
#ifdef EHOSTUNREACH
|
|
inscode(d, ds, de, "EHOSTUNREACH", EHOSTUNREACH, "No route to host");
|
|
#else
|
|
#ifdef WSAEHOSTUNREACH
|
|
inscode(d, ds, de, "EHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOMSG
|
|
inscode(d, ds, de, "ENOMSG", ENOMSG, "No message of desired type");
|
|
#endif
|
|
#ifdef EUCLEAN
|
|
inscode(d, ds, de, "EUCLEAN", EUCLEAN, "Structure needs cleaning");
|
|
#endif
|
|
#ifdef EL2NSYNC
|
|
inscode(d, ds, de, "EL2NSYNC", EL2NSYNC, "Level 2 not synchronized");
|
|
#endif
|
|
#ifdef EL2HLT
|
|
inscode(d, ds, de, "EL2HLT", EL2HLT, "Level 2 halted");
|
|
#endif
|
|
#ifdef ENODATA
|
|
inscode(d, ds, de, "ENODATA", ENODATA, "No data available");
|
|
#endif
|
|
#ifdef ENOTBLK
|
|
inscode(d, ds, de, "ENOTBLK", ENOTBLK, "Block device required");
|
|
#endif
|
|
#ifdef ENOSYS
|
|
inscode(d, ds, de, "ENOSYS", ENOSYS, "Function not implemented");
|
|
#endif
|
|
#ifdef EPIPE
|
|
inscode(d, ds, de, "EPIPE", EPIPE, "Broken pipe");
|
|
#endif
|
|
#ifdef EINVAL
|
|
inscode(d, ds, de, "EINVAL", EINVAL, "Invalid argument");
|
|
#else
|
|
#ifdef WSAEINVAL
|
|
inscode(d, ds, de, "EINVAL", WSAEINVAL, "Invalid argument");
|
|
#endif
|
|
#endif
|
|
#ifdef EOVERFLOW
|
|
inscode(d, ds, de, "EOVERFLOW", EOVERFLOW, "Value too large for defined data type");
|
|
#endif
|
|
#ifdef EADV
|
|
inscode(d, ds, de, "EADV", EADV, "Advertise error");
|
|
#endif
|
|
#ifdef EINTR
|
|
inscode(d, ds, de, "EINTR", EINTR, "Interrupted system call");
|
|
#else
|
|
#ifdef WSAEINTR
|
|
inscode(d, ds, de, "EINTR", WSAEINTR, "Interrupted system call");
|
|
#endif
|
|
#endif
|
|
#ifdef EUSERS
|
|
inscode(d, ds, de, "EUSERS", EUSERS, "Too many users");
|
|
#else
|
|
#ifdef WSAEUSERS
|
|
inscode(d, ds, de, "EUSERS", WSAEUSERS, "Too many users");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOTEMPTY
|
|
inscode(d, ds, de, "ENOTEMPTY", ENOTEMPTY, "Directory not empty");
|
|
#else
|
|
#ifdef WSAENOTEMPTY
|
|
inscode(d, ds, de, "ENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOBUFS
|
|
inscode(d, ds, de, "ENOBUFS", ENOBUFS, "No buffer space available");
|
|
#else
|
|
#ifdef WSAENOBUFS
|
|
inscode(d, ds, de, "ENOBUFS", WSAENOBUFS, "No buffer space available");
|
|
#endif
|
|
#endif
|
|
#ifdef EPROTO
|
|
inscode(d, ds, de, "EPROTO", EPROTO, "Protocol error");
|
|
#endif
|
|
#ifdef EREMOTE
|
|
inscode(d, ds, de, "EREMOTE", EREMOTE, "Object is remote");
|
|
#else
|
|
#ifdef WSAEREMOTE
|
|
inscode(d, ds, de, "EREMOTE", WSAEREMOTE, "Object is remote");
|
|
#endif
|
|
#endif
|
|
#ifdef ENAVAIL
|
|
inscode(d, ds, de, "ENAVAIL", ENAVAIL, "No XENIX semaphores available");
|
|
#endif
|
|
#ifdef ECHILD
|
|
inscode(d, ds, de, "ECHILD", ECHILD, "No child processes");
|
|
#endif
|
|
#ifdef ELOOP
|
|
inscode(d, ds, de, "ELOOP", ELOOP, "Too many symbolic links encountered");
|
|
#else
|
|
#ifdef WSAELOOP
|
|
inscode(d, ds, de, "ELOOP", WSAELOOP, "Too many symbolic links encountered");
|
|
#endif
|
|
#endif
|
|
#ifdef EXDEV
|
|
inscode(d, ds, de, "EXDEV", EXDEV, "Cross-device link");
|
|
#endif
|
|
#ifdef E2BIG
|
|
inscode(d, ds, de, "E2BIG", E2BIG, "Arg list too long");
|
|
#endif
|
|
#ifdef ESRCH
|
|
inscode(d, ds, de, "ESRCH", ESRCH, "No such process");
|
|
#endif
|
|
#ifdef EMSGSIZE
|
|
inscode(d, ds, de, "EMSGSIZE", EMSGSIZE, "Message too long");
|
|
#else
|
|
#ifdef WSAEMSGSIZE
|
|
inscode(d, ds, de, "EMSGSIZE", WSAEMSGSIZE, "Message too long");
|
|
#endif
|
|
#endif
|
|
#ifdef EAFNOSUPPORT
|
|
inscode(d, ds, de, "EAFNOSUPPORT", EAFNOSUPPORT, "Address family not supported by protocol");
|
|
#else
|
|
#ifdef WSAEAFNOSUPPORT
|
|
inscode(d, ds, de, "EAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
|
|
#endif
|
|
#endif
|
|
#ifdef EBADR
|
|
inscode(d, ds, de, "EBADR", EBADR, "Invalid request descriptor");
|
|
#endif
|
|
#ifdef EHOSTDOWN
|
|
inscode(d, ds, de, "EHOSTDOWN", EHOSTDOWN, "Host is down");
|
|
#else
|
|
#ifdef WSAEHOSTDOWN
|
|
inscode(d, ds, de, "EHOSTDOWN", WSAEHOSTDOWN, "Host is down");
|
|
#endif
|
|
#endif
|
|
#ifdef EPFNOSUPPORT
|
|
inscode(d, ds, de, "EPFNOSUPPORT", EPFNOSUPPORT, "Protocol family not supported");
|
|
#else
|
|
#ifdef WSAEPFNOSUPPORT
|
|
inscode(d, ds, de, "EPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOPROTOOPT
|
|
inscode(d, ds, de, "ENOPROTOOPT", ENOPROTOOPT, "Protocol not available");
|
|
#else
|
|
#ifdef WSAENOPROTOOPT
|
|
inscode(d, ds, de, "ENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
|
|
#endif
|
|
#endif
|
|
#ifdef EBUSY
|
|
inscode(d, ds, de, "EBUSY", EBUSY, "Device or resource busy");
|
|
#endif
|
|
#ifdef EWOULDBLOCK
|
|
inscode(d, ds, de, "EWOULDBLOCK", EWOULDBLOCK, "Operation would block");
|
|
#else
|
|
#ifdef WSAEWOULDBLOCK
|
|
inscode(d, ds, de, "EWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
|
|
#endif
|
|
#endif
|
|
#ifdef EBADFD
|
|
inscode(d, ds, de, "EBADFD", EBADFD, "File descriptor in bad state");
|
|
#endif
|
|
#ifdef EDOTDOT
|
|
inscode(d, ds, de, "EDOTDOT", EDOTDOT, "RFS specific error");
|
|
#endif
|
|
#ifdef EISCONN
|
|
inscode(d, ds, de, "EISCONN", EISCONN, "Transport endpoint is already connected");
|
|
#else
|
|
#ifdef WSAEISCONN
|
|
inscode(d, ds, de, "EISCONN", WSAEISCONN, "Transport endpoint is already connected");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOANO
|
|
inscode(d, ds, de, "ENOANO", ENOANO, "No anode");
|
|
#endif
|
|
#ifdef ESHUTDOWN
|
|
inscode(d, ds, de, "ESHUTDOWN", ESHUTDOWN, "Cannot send after transport endpoint shutdown");
|
|
#else
|
|
#ifdef WSAESHUTDOWN
|
|
inscode(d, ds, de, "ESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
|
|
#endif
|
|
#endif
|
|
#ifdef ECHRNG
|
|
inscode(d, ds, de, "ECHRNG", ECHRNG, "Channel number out of range");
|
|
#endif
|
|
#ifdef ELIBBAD
|
|
inscode(d, ds, de, "ELIBBAD", ELIBBAD, "Accessing a corrupted shared library");
|
|
#endif
|
|
#ifdef ENONET
|
|
inscode(d, ds, de, "ENONET", ENONET, "Machine is not on the network");
|
|
#endif
|
|
#ifdef EBADE
|
|
inscode(d, ds, de, "EBADE", EBADE, "Invalid exchange");
|
|
#endif
|
|
#ifdef EBADF
|
|
inscode(d, ds, de, "EBADF", EBADF, "Bad file number");
|
|
#else
|
|
#ifdef WSAEBADF
|
|
inscode(d, ds, de, "EBADF", WSAEBADF, "Bad file number");
|
|
#endif
|
|
#endif
|
|
#ifdef EMULTIHOP
|
|
inscode(d, ds, de, "EMULTIHOP", EMULTIHOP, "Multihop attempted");
|
|
#endif
|
|
#ifdef EIO
|
|
inscode(d, ds, de, "EIO", EIO, "I/O error");
|
|
#endif
|
|
#ifdef EUNATCH
|
|
inscode(d, ds, de, "EUNATCH", EUNATCH, "Protocol driver not attached");
|
|
#endif
|
|
#ifdef EPROTOTYPE
|
|
inscode(d, ds, de, "EPROTOTYPE", EPROTOTYPE, "Protocol wrong type for socket");
|
|
#else
|
|
#ifdef WSAEPROTOTYPE
|
|
inscode(d, ds, de, "EPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOSPC
|
|
inscode(d, ds, de, "ENOSPC", ENOSPC, "No space left on device");
|
|
#endif
|
|
#ifdef ENOEXEC
|
|
inscode(d, ds, de, "ENOEXEC", ENOEXEC, "Exec format error");
|
|
#endif
|
|
#ifdef EALREADY
|
|
inscode(d, ds, de, "EALREADY", EALREADY, "Operation already in progress");
|
|
#else
|
|
#ifdef WSAEALREADY
|
|
inscode(d, ds, de, "EALREADY", WSAEALREADY, "Operation already in progress");
|
|
#endif
|
|
#endif
|
|
#ifdef ENETDOWN
|
|
inscode(d, ds, de, "ENETDOWN", ENETDOWN, "Network is down");
|
|
#else
|
|
#ifdef WSAENETDOWN
|
|
inscode(d, ds, de, "ENETDOWN", WSAENETDOWN, "Network is down");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOTNAM
|
|
inscode(d, ds, de, "ENOTNAM", ENOTNAM, "Not a XENIX named type file");
|
|
#endif
|
|
#ifdef EACCES
|
|
inscode(d, ds, de, "EACCES", EACCES, "Permission denied");
|
|
#else
|
|
#ifdef WSAEACCES
|
|
inscode(d, ds, de, "EACCES", WSAEACCES, "Permission denied");
|
|
#endif
|
|
#endif
|
|
#ifdef ELNRNG
|
|
inscode(d, ds, de, "ELNRNG", ELNRNG, "Link number out of range");
|
|
#endif
|
|
#ifdef EILSEQ
|
|
inscode(d, ds, de, "EILSEQ", EILSEQ, "Illegal byte sequence");
|
|
#endif
|
|
#ifdef ENOTDIR
|
|
inscode(d, ds, de, "ENOTDIR", ENOTDIR, "Not a directory");
|
|
#endif
|
|
#ifdef ENOTUNIQ
|
|
inscode(d, ds, de, "ENOTUNIQ", ENOTUNIQ, "Name not unique on network");
|
|
#endif
|
|
#ifdef EPERM
|
|
inscode(d, ds, de, "EPERM", EPERM, "Operation not permitted");
|
|
#endif
|
|
#ifdef EDOM
|
|
inscode(d, ds, de, "EDOM", EDOM, "Math argument out of domain of func");
|
|
#endif
|
|
#ifdef EXFULL
|
|
inscode(d, ds, de, "EXFULL", EXFULL, "Exchange full");
|
|
#endif
|
|
#ifdef ECONNREFUSED
|
|
inscode(d, ds, de, "ECONNREFUSED", ECONNREFUSED, "Connection refused");
|
|
#else
|
|
#ifdef WSAECONNREFUSED
|
|
inscode(d, ds, de, "ECONNREFUSED", WSAECONNREFUSED, "Connection refused");
|
|
#endif
|
|
#endif
|
|
#ifdef EISDIR
|
|
inscode(d, ds, de, "EISDIR", EISDIR, "Is a directory");
|
|
#endif
|
|
#ifdef EPROTONOSUPPORT
|
|
inscode(d, ds, de, "EPROTONOSUPPORT", EPROTONOSUPPORT, "Protocol not supported");
|
|
#else
|
|
#ifdef WSAEPROTONOSUPPORT
|
|
inscode(d, ds, de, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
|
|
#endif
|
|
#endif
|
|
#ifdef EROFS
|
|
inscode(d, ds, de, "EROFS", EROFS, "Read-only file system");
|
|
#endif
|
|
#ifdef EADDRNOTAVAIL
|
|
inscode(d, ds, de, "EADDRNOTAVAIL", EADDRNOTAVAIL, "Cannot assign requested address");
|
|
#else
|
|
#ifdef WSAEADDRNOTAVAIL
|
|
inscode(d, ds, de, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
|
|
#endif
|
|
#endif
|
|
#ifdef EIDRM
|
|
inscode(d, ds, de, "EIDRM", EIDRM, "Identifier removed");
|
|
#endif
|
|
#ifdef ECOMM
|
|
inscode(d, ds, de, "ECOMM", ECOMM, "Communication error on send");
|
|
#endif
|
|
#ifdef ESRMNT
|
|
inscode(d, ds, de, "ESRMNT", ESRMNT, "Srmount error");
|
|
#endif
|
|
#ifdef EREMOTEIO
|
|
inscode(d, ds, de, "EREMOTEIO", EREMOTEIO, "Remote I/O error");
|
|
#endif
|
|
#ifdef EL3RST
|
|
inscode(d, ds, de, "EL3RST", EL3RST, "Level 3 reset");
|
|
#endif
|
|
#ifdef EBADMSG
|
|
inscode(d, ds, de, "EBADMSG", EBADMSG, "Not a data message");
|
|
#endif
|
|
#ifdef ENFILE
|
|
inscode(d, ds, de, "ENFILE", ENFILE, "File table overflow");
|
|
#endif
|
|
#ifdef ELIBMAX
|
|
inscode(d, ds, de, "ELIBMAX", ELIBMAX, "Attempting to link in too many shared libraries");
|
|
#endif
|
|
#ifdef ESPIPE
|
|
inscode(d, ds, de, "ESPIPE", ESPIPE, "Illegal seek");
|
|
#endif
|
|
#ifdef ENOLINK
|
|
inscode(d, ds, de, "ENOLINK", ENOLINK, "Link has been severed");
|
|
#endif
|
|
#ifdef ENETRESET
|
|
inscode(d, ds, de, "ENETRESET", ENETRESET, "Network dropped connection because of reset");
|
|
#else
|
|
#ifdef WSAENETRESET
|
|
inscode(d, ds, de, "ENETRESET", WSAENETRESET, "Network dropped connection because of reset");
|
|
#endif
|
|
#endif
|
|
#ifdef ETIMEDOUT
|
|
inscode(d, ds, de, "ETIMEDOUT", ETIMEDOUT, "Connection timed out");
|
|
#else
|
|
#ifdef WSAETIMEDOUT
|
|
inscode(d, ds, de, "ETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOENT
|
|
inscode(d, ds, de, "ENOENT", ENOENT, "No such file or directory");
|
|
#endif
|
|
#ifdef EEXIST
|
|
inscode(d, ds, de, "EEXIST", EEXIST, "File exists");
|
|
#endif
|
|
#ifdef EDQUOT
|
|
inscode(d, ds, de, "EDQUOT", EDQUOT, "Quota exceeded");
|
|
#else
|
|
#ifdef WSAEDQUOT
|
|
inscode(d, ds, de, "EDQUOT", WSAEDQUOT, "Quota exceeded");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOSTR
|
|
inscode(d, ds, de, "ENOSTR", ENOSTR, "Device not a stream");
|
|
#endif
|
|
#ifdef EBADSLT
|
|
inscode(d, ds, de, "EBADSLT", EBADSLT, "Invalid slot");
|
|
#endif
|
|
#ifdef EBADRQC
|
|
inscode(d, ds, de, "EBADRQC", EBADRQC, "Invalid request code");
|
|
#endif
|
|
#ifdef ELIBACC
|
|
inscode(d, ds, de, "ELIBACC", ELIBACC, "Can not access a needed shared library");
|
|
#endif
|
|
#ifdef EFAULT
|
|
inscode(d, ds, de, "EFAULT", EFAULT, "Bad address");
|
|
#else
|
|
#ifdef WSAEFAULT
|
|
inscode(d, ds, de, "EFAULT", WSAEFAULT, "Bad address");
|
|
#endif
|
|
#endif
|
|
#ifdef EFBIG
|
|
inscode(d, ds, de, "EFBIG", EFBIG, "File too large");
|
|
#endif
|
|
#ifdef EDEADLK
|
|
inscode(d, ds, de, "EDEADLK", EDEADLK, "Resource deadlock would occur");
|
|
#endif
|
|
#ifdef ENOTCONN
|
|
inscode(d, ds, de, "ENOTCONN", ENOTCONN, "Transport endpoint is not connected");
|
|
#else
|
|
#ifdef WSAENOTCONN
|
|
inscode(d, ds, de, "ENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
|
|
#endif
|
|
#endif
|
|
#ifdef EDESTADDRREQ
|
|
inscode(d, ds, de, "EDESTADDRREQ", EDESTADDRREQ, "Destination address required");
|
|
#else
|
|
#ifdef WSAEDESTADDRREQ
|
|
inscode(d, ds, de, "EDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
|
|
#endif
|
|
#endif
|
|
#ifdef ELIBSCN
|
|
inscode(d, ds, de, "ELIBSCN", ELIBSCN, ".lib section in a.out corrupted");
|
|
#endif
|
|
#ifdef ENOLCK
|
|
inscode(d, ds, de, "ENOLCK", ENOLCK, "No record locks available");
|
|
#endif
|
|
#ifdef EISNAM
|
|
inscode(d, ds, de, "EISNAM", EISNAM, "Is a named type file");
|
|
#endif
|
|
#ifdef ECONNABORTED
|
|
inscode(d, ds, de, "ECONNABORTED", ECONNABORTED, "Software caused connection abort");
|
|
#else
|
|
#ifdef WSAECONNABORTED
|
|
inscode(d, ds, de, "ECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
|
|
#endif
|
|
#endif
|
|
#ifdef ENETUNREACH
|
|
inscode(d, ds, de, "ENETUNREACH", ENETUNREACH, "Network is unreachable");
|
|
#else
|
|
#ifdef WSAENETUNREACH
|
|
inscode(d, ds, de, "ENETUNREACH", WSAENETUNREACH, "Network is unreachable");
|
|
#endif
|
|
#endif
|
|
#ifdef ESTALE
|
|
inscode(d, ds, de, "ESTALE", ESTALE, "Stale NFS file handle");
|
|
#else
|
|
#ifdef WSAESTALE
|
|
inscode(d, ds, de, "ESTALE", WSAESTALE, "Stale NFS file handle");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOSR
|
|
inscode(d, ds, de, "ENOSR", ENOSR, "Out of streams resources");
|
|
#endif
|
|
#ifdef ENOMEM
|
|
inscode(d, ds, de, "ENOMEM", ENOMEM, "Out of memory");
|
|
#endif
|
|
#ifdef ENOTSOCK
|
|
inscode(d, ds, de, "ENOTSOCK", ENOTSOCK, "Socket operation on non-socket");
|
|
#else
|
|
#ifdef WSAENOTSOCK
|
|
inscode(d, ds, de, "ENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
|
|
#endif
|
|
#endif
|
|
#ifdef ESTRPIPE
|
|
inscode(d, ds, de, "ESTRPIPE", ESTRPIPE, "Streams pipe error");
|
|
#endif
|
|
#ifdef EMLINK
|
|
inscode(d, ds, de, "EMLINK", EMLINK, "Too many links");
|
|
#endif
|
|
#ifdef ERANGE
|
|
inscode(d, ds, de, "ERANGE", ERANGE, "Math result not representable");
|
|
#endif
|
|
#ifdef ELIBEXEC
|
|
inscode(d, ds, de, "ELIBEXEC", ELIBEXEC, "Cannot exec a shared library directly");
|
|
#endif
|
|
#ifdef EL3HLT
|
|
inscode(d, ds, de, "EL3HLT", EL3HLT, "Level 3 halted");
|
|
#endif
|
|
#ifdef ECONNRESET
|
|
inscode(d, ds, de, "ECONNRESET", ECONNRESET, "Connection reset by peer");
|
|
#else
|
|
#ifdef WSAECONNRESET
|
|
inscode(d, ds, de, "ECONNRESET", WSAECONNRESET, "Connection reset by peer");
|
|
#endif
|
|
#endif
|
|
#ifdef EADDRINUSE
|
|
inscode(d, ds, de, "EADDRINUSE", EADDRINUSE, "Address already in use");
|
|
#else
|
|
#ifdef WSAEADDRINUSE
|
|
inscode(d, ds, de, "EADDRINUSE", WSAEADDRINUSE, "Address already in use");
|
|
#endif
|
|
#endif
|
|
#ifdef EOPNOTSUPP
|
|
inscode(d, ds, de, "EOPNOTSUPP", EOPNOTSUPP, "Operation not supported on transport endpoint");
|
|
#else
|
|
#ifdef WSAEOPNOTSUPP
|
|
inscode(d, ds, de, "EOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
|
|
#endif
|
|
#endif
|
|
#ifdef EREMCHG
|
|
inscode(d, ds, de, "EREMCHG", EREMCHG, "Remote address changed");
|
|
#endif
|
|
#ifdef EAGAIN
|
|
inscode(d, ds, de, "EAGAIN", EAGAIN, "Try again");
|
|
#endif
|
|
#ifdef ENAMETOOLONG
|
|
inscode(d, ds, de, "ENAMETOOLONG", ENAMETOOLONG, "File name too long");
|
|
#else
|
|
#ifdef WSAENAMETOOLONG
|
|
inscode(d, ds, de, "ENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
|
|
#endif
|
|
#endif
|
|
#ifdef ENOTTY
|
|
inscode(d, ds, de, "ENOTTY", ENOTTY, "Not a typewriter");
|
|
#endif
|
|
#ifdef ERESTART
|
|
inscode(d, ds, de, "ERESTART", ERESTART, "Interrupted system call should be restarted");
|
|
#endif
|
|
#ifdef ESOCKTNOSUPPORT
|
|
inscode(d, ds, de, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, "Socket type not supported");
|
|
#else
|
|
#ifdef WSAESOCKTNOSUPPORT
|
|
inscode(d, ds, de, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
|
|
#endif
|
|
#endif
|
|
#ifdef ETIME
|
|
inscode(d, ds, de, "ETIME", ETIME, "Timer expired");
|
|
#endif
|
|
#ifdef EBFONT
|
|
inscode(d, ds, de, "EBFONT", EBFONT, "Bad font file format");
|
|
#endif
|
|
#ifdef EDEADLOCK
|
|
inscode(d, ds, de, "EDEADLOCK", EDEADLOCK, "Error EDEADLOCK");
|
|
#endif
|
|
#ifdef ETOOMANYREFS
|
|
inscode(d, ds, de, "ETOOMANYREFS", ETOOMANYREFS, "Too many references: cannot splice");
|
|
#else
|
|
#ifdef WSAETOOMANYREFS
|
|
inscode(d, ds, de, "ETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
|
|
#endif
|
|
#endif
|
|
#ifdef EMFILE
|
|
inscode(d, ds, de, "EMFILE", EMFILE, "Too many open files");
|
|
#else
|
|
#ifdef WSAEMFILE
|
|
inscode(d, ds, de, "EMFILE", WSAEMFILE, "Too many open files");
|
|
#endif
|
|
#endif
|
|
#ifdef ETXTBSY
|
|
inscode(d, ds, de, "ETXTBSY", ETXTBSY, "Text file busy");
|
|
#endif
|
|
#ifdef EINPROGRESS
|
|
inscode(d, ds, de, "EINPROGRESS", EINPROGRESS, "Operation now in progress");
|
|
#else
|
|
#ifdef WSAEINPROGRESS
|
|
inscode(d, ds, de, "EINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
|
|
#endif
|
|
#endif
|
|
#ifdef ENXIO
|
|
inscode(d, ds, de, "ENXIO", ENXIO, "No such device or address");
|
|
#endif
|
|
#ifdef ENOPKG
|
|
inscode(d, ds, de, "ENOPKG", ENOPKG, "Package not installed");
|
|
#endif
|
|
#ifdef WSASY
|
|
inscode(d, ds, de, "WSASY", WSASY, "Error WSASY");
|
|
#endif
|
|
#ifdef WSAEHOSTDOWN
|
|
inscode(d, ds, de, "WSAEHOSTDOWN", WSAEHOSTDOWN, "Host is down");
|
|
#endif
|
|
#ifdef WSAENETDOWN
|
|
inscode(d, ds, de, "WSAENETDOWN", WSAENETDOWN, "Network is down");
|
|
#endif
|
|
#ifdef WSAENOTSOCK
|
|
inscode(d, ds, de, "WSAENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
|
|
#endif
|
|
#ifdef WSAEHOSTUNREACH
|
|
inscode(d, ds, de, "WSAEHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
|
|
#endif
|
|
#ifdef WSAELOOP
|
|
inscode(d, ds, de, "WSAELOOP", WSAELOOP, "Too many symbolic links encountered");
|
|
#endif
|
|
#ifdef WSAEMFILE
|
|
inscode(d, ds, de, "WSAEMFILE", WSAEMFILE, "Too many open files");
|
|
#endif
|
|
#ifdef WSAESTALE
|
|
inscode(d, ds, de, "WSAESTALE", WSAESTALE, "Stale NFS file handle");
|
|
#endif
|
|
#ifdef WSAVERNOTSUPPORTED
|
|
inscode(d, ds, de, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED, "Error WSAVERNOTSUPPORTED");
|
|
#endif
|
|
#ifdef WSAENETUNREACH
|
|
inscode(d, ds, de, "WSAENETUNREACH", WSAENETUNREACH, "Network is unreachable");
|
|
#endif
|
|
#ifdef WSAEPROCLIM
|
|
inscode(d, ds, de, "WSAEPROCLIM", WSAEPROCLIM, "Error WSAEPROCLIM");
|
|
#endif
|
|
#ifdef WSAEFAULT
|
|
inscode(d, ds, de, "WSAEFAULT", WSAEFAULT, "Bad address");
|
|
#endif
|
|
#ifdef WSANOTINITIALISED
|
|
inscode(d, ds, de, "WSANOTINITIALISED", WSANOTINITIALISED, "Error WSANOTINITIALISED");
|
|
#endif
|
|
#ifdef WSAEUSERS
|
|
inscode(d, ds, de, "WSAEUSERS", WSAEUSERS, "Too many users");
|
|
#endif
|
|
#ifdef WSAMAKEASYNCREPL
|
|
inscode(d, ds, de, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL, "Error WSAMAKEASYNCREPL");
|
|
#endif
|
|
#ifdef WSAENOPROTOOPT
|
|
inscode(d, ds, de, "WSAENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
|
|
#endif
|
|
#ifdef WSAECONNABORTED
|
|
inscode(d, ds, de, "WSAECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
|
|
#endif
|
|
#ifdef WSAENAMETOOLONG
|
|
inscode(d, ds, de, "WSAENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
|
|
#endif
|
|
#ifdef WSAENOTEMPTY
|
|
inscode(d, ds, de, "WSAENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
|
|
#endif
|
|
#ifdef WSAESHUTDOWN
|
|
inscode(d, ds, de, "WSAESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
|
|
#endif
|
|
#ifdef WSAEAFNOSUPPORT
|
|
inscode(d, ds, de, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
|
|
#endif
|
|
#ifdef WSAETOOMANYREFS
|
|
inscode(d, ds, de, "WSAETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
|
|
#endif
|
|
#ifdef WSAEACCES
|
|
inscode(d, ds, de, "WSAEACCES", WSAEACCES, "Permission denied");
|
|
#endif
|
|
#ifdef WSATR
|
|
inscode(d, ds, de, "WSATR", WSATR, "Error WSATR");
|
|
#endif
|
|
#ifdef WSABASEERR
|
|
inscode(d, ds, de, "WSABASEERR", WSABASEERR, "Error WSABASEERR");
|
|
#endif
|
|
#ifdef WSADESCRIPTIO
|
|
inscode(d, ds, de, "WSADESCRIPTIO", WSADESCRIPTIO, "Error WSADESCRIPTIO");
|
|
#endif
|
|
#ifdef WSAEMSGSIZE
|
|
inscode(d, ds, de, "WSAEMSGSIZE", WSAEMSGSIZE, "Message too long");
|
|
#endif
|
|
#ifdef WSAEBADF
|
|
inscode(d, ds, de, "WSAEBADF", WSAEBADF, "Bad file number");
|
|
#endif
|
|
#ifdef WSAECONNRESET
|
|
inscode(d, ds, de, "WSAECONNRESET", WSAECONNRESET, "Connection reset by peer");
|
|
#endif
|
|
#ifdef WSAGETSELECTERRO
|
|
inscode(d, ds, de, "WSAGETSELECTERRO", WSAGETSELECTERRO, "Error WSAGETSELECTERRO");
|
|
#endif
|
|
#ifdef WSAETIMEDOUT
|
|
inscode(d, ds, de, "WSAETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
|
|
#endif
|
|
#ifdef WSAENOBUFS
|
|
inscode(d, ds, de, "WSAENOBUFS", WSAENOBUFS, "No buffer space available");
|
|
#endif
|
|
#ifdef WSAEDISCON
|
|
inscode(d, ds, de, "WSAEDISCON", WSAEDISCON, "Error WSAEDISCON");
|
|
#endif
|
|
#ifdef WSAEINTR
|
|
inscode(d, ds, de, "WSAEINTR", WSAEINTR, "Interrupted system call");
|
|
#endif
|
|
#ifdef WSAEPROTOTYPE
|
|
inscode(d, ds, de, "WSAEPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
|
|
#endif
|
|
#ifdef WSAHOS
|
|
inscode(d, ds, de, "WSAHOS", WSAHOS, "Error WSAHOS");
|
|
#endif
|
|
#ifdef WSAEADDRINUSE
|
|
inscode(d, ds, de, "WSAEADDRINUSE", WSAEADDRINUSE, "Address already in use");
|
|
#endif
|
|
#ifdef WSAEADDRNOTAVAIL
|
|
inscode(d, ds, de, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
|
|
#endif
|
|
#ifdef WSAEALREADY
|
|
inscode(d, ds, de, "WSAEALREADY", WSAEALREADY, "Operation already in progress");
|
|
#endif
|
|
#ifdef WSAEPROTONOSUPPORT
|
|
inscode(d, ds, de, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
|
|
#endif
|
|
#ifdef WSASYSNOTREADY
|
|
inscode(d, ds, de, "WSASYSNOTREADY", WSASYSNOTREADY, "Error WSASYSNOTREADY");
|
|
#endif
|
|
#ifdef WSAEWOULDBLOCK
|
|
inscode(d, ds, de, "WSAEWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
|
|
#endif
|
|
#ifdef WSAEPFNOSUPPORT
|
|
inscode(d, ds, de, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
|
|
#endif
|
|
#ifdef WSAEOPNOTSUPP
|
|
inscode(d, ds, de, "WSAEOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
|
|
#endif
|
|
#ifdef WSAEISCONN
|
|
inscode(d, ds, de, "WSAEISCONN", WSAEISCONN, "Transport endpoint is already connected");
|
|
#endif
|
|
#ifdef WSAEDQUOT
|
|
inscode(d, ds, de, "WSAEDQUOT", WSAEDQUOT, "Quota exceeded");
|
|
#endif
|
|
#ifdef WSAENOTCONN
|
|
inscode(d, ds, de, "WSAENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
|
|
#endif
|
|
#ifdef WSAEREMOTE
|
|
inscode(d, ds, de, "WSAEREMOTE", WSAEREMOTE, "Object is remote");
|
|
#endif
|
|
#ifdef WSAEINVAL
|
|
inscode(d, ds, de, "WSAEINVAL", WSAEINVAL, "Invalid argument");
|
|
#endif
|
|
#ifdef WSAEINPROGRESS
|
|
inscode(d, ds, de, "WSAEINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
|
|
#endif
|
|
#ifdef WSAGETSELECTEVEN
|
|
inscode(d, ds, de, "WSAGETSELECTEVEN", WSAGETSELECTEVEN, "Error WSAGETSELECTEVEN");
|
|
#endif
|
|
#ifdef WSAESOCKTNOSUPPORT
|
|
inscode(d, ds, de, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
|
|
#endif
|
|
#ifdef WSAGETASYNCERRO
|
|
inscode(d, ds, de, "WSAGETASYNCERRO", WSAGETASYNCERRO, "Error WSAGETASYNCERRO");
|
|
#endif
|
|
#ifdef WSAMAKESELECTREPL
|
|
inscode(d, ds, de, "WSAMAKESELECTREPL", WSAMAKESELECTREPL, "Error WSAMAKESELECTREPL");
|
|
#endif
|
|
#ifdef WSAGETASYNCBUFLE
|
|
inscode(d, ds, de, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE, "Error WSAGETASYNCBUFLE");
|
|
#endif
|
|
#ifdef WSAEDESTADDRREQ
|
|
inscode(d, ds, de, "WSAEDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
|
|
#endif
|
|
#ifdef WSAECONNREFUSED
|
|
inscode(d, ds, de, "WSAECONNREFUSED", WSAECONNREFUSED, "Connection refused");
|
|
#endif
|
|
#ifdef WSAENETRESET
|
|
inscode(d, ds, de, "WSAENETRESET", WSAENETRESET, "Network dropped connection because of reset");
|
|
#endif
|
|
#ifdef WSAN
|
|
inscode(d, ds, de, "WSAN", WSAN, "Error WSAN");
|
|
#endif
|
|
|
|
}
|