blob: 03c65f796d739e2b6d8175be354bca2ac16a1308 [file] [log] [blame]
Guido van Rossum4dc66221996-07-24 00:51:51 +00001
2/* Errno module */
3
4#include "Python.h"
5
Tim Peters902952b2002-01-26 17:58:02 +00006/* Windows socket errors (WSA*) */
Guido van Rossum49f9d8e1997-09-28 05:41:56 +00007#ifdef MS_WINDOWS
Christian Heimesc36625b2008-01-04 13:33:00 +00008#define WIN32_LEAN_AND_MEAN
Amaury Forgeot d'Arc3d17a5c2008-06-13 01:09:34 +00009#include <windows.h>
Guido van Rossum49f9d8e1997-09-28 05:41:56 +000010#endif
11
Guido van Rossum4dc66221996-07-24 00:51:51 +000012/*
13 * Pull in the system error definitions
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000014 */
Guido van Rossum4dc66221996-07-24 00:51:51 +000015
Guido van Rossum4dc66221996-07-24 00:51:51 +000016static PyMethodDef errno_methods[] = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000017 {NULL, NULL}
Guido van Rossum4dc66221996-07-24 00:51:51 +000018};
19
Guido van Rossum49f9d8e1997-09-28 05:41:56 +000020/* Helper function doing the dictionary inserting */
Guido van Rossum4dc66221996-07-24 00:51:51 +000021
22static void
Neal Norwitz0d942032007-08-24 00:10:00 +000023_inscode(PyObject *d, PyObject *de, const char *name, int code)
Guido van Rossum4dc66221996-07-24 00:51:51 +000024{
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000025 PyObject *u = PyUnicode_FromString(name);
26 PyObject *v = PyLong_FromLong((long) code);
Guido van Rossum49f9d8e1997-09-28 05:41:56 +000027
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000028 /* Don't bother checking for errors; they'll be caught at the end
29 * of the module initialization function by the caller of
30 * initerrno().
31 */
32 if (u && v) {
33 /* insert in modules dict */
34 PyDict_SetItem(d, u, v);
35 /* insert in errorcode dict */
36 PyDict_SetItem(de, v, u);
37 }
38 Py_XDECREF(u);
39 Py_XDECREF(v);
Guido van Rossum4dc66221996-07-24 00:51:51 +000040}
41
Martin v. Löwis14f8b4c2002-06-13 20:33:02 +000042PyDoc_STRVAR(errno__doc__,
Guido van Rossum549cb6e1998-08-11 17:50:22 +000043"This module makes available standard errno system symbols.\n\
44\n\
45The value of each symbol is the corresponding integer value,\n\
46e.g., on most systems, errno.ENOENT equals the integer 2.\n\
47\n\
48The dictionary errno.errorcode maps numeric codes to symbol names,\n\
49e.g., errno.errorcode[2] could be the string 'ENOENT'.\n\
50\n\
51Symbols that are not relevant to the underlying system are not defined.\n\
52\n\
53To map error codes to error messages, use the function os.strerror(),\n\
Martin v. Löwis14f8b4c2002-06-13 20:33:02 +000054e.g. os.strerror(2) could return 'No such file or directory'.");
Guido van Rossum549cb6e1998-08-11 17:50:22 +000055
Martin v. Löwis1a214512008-06-11 05:26:20 +000056static struct PyModuleDef errnomodule = {
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000057 PyModuleDef_HEAD_INIT,
58 "errno",
59 errno__doc__,
60 -1,
61 errno_methods,
62 NULL,
63 NULL,
64 NULL,
65 NULL
Martin v. Löwis1a214512008-06-11 05:26:20 +000066};
67
Mark Hammondfe51c6d2002-08-02 02:27:13 +000068PyMODINIT_FUNC
Martin v. Löwis1a214512008-06-11 05:26:20 +000069PyInit_errno(void)
Guido van Rossum4dc66221996-07-24 00:51:51 +000070{
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000071 PyObject *m, *d, *de;
72 m = PyModule_Create(&errnomodule);
73 if (m == NULL)
74 return NULL;
75 d = PyModule_GetDict(m);
76 de = PyDict_New();
77 if (!d || !de || PyDict_SetItemString(d, "errorcode", de) < 0)
78 return NULL;
Guido van Rossum4dc66221996-07-24 00:51:51 +000079
Guido van Rossum851e7d51997-11-04 20:22:24 +000080/* Macro so I don't have to edit each and every line below... */
81#define inscode(d, ds, de, name, code, comment) _inscode(d, de, name, code)
82
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000083 /*
84 * The names and comments are borrowed from linux/include/errno.h,
85 * which should be pretty all-inclusive
86 */
Guido van Rossum4dc66221996-07-24 00:51:51 +000087
Guido van Rossum4dc66221996-07-24 00:51:51 +000088#ifdef ENODEV
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000089 inscode(d, ds, de, "ENODEV", ENODEV, "No such device");
Guido van Rossum4dc66221996-07-24 00:51:51 +000090#endif
91#ifdef ENOCSI
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000092 inscode(d, ds, de, "ENOCSI", ENOCSI, "No CSI structure available");
Guido van Rossum4dc66221996-07-24 00:51:51 +000093#endif
94#ifdef EHOSTUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000095 inscode(d, ds, de, "EHOSTUNREACH", EHOSTUNREACH, "No route to host");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +000096#else
97#ifdef WSAEHOSTUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +000098 inscode(d, ds, de, "EHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
Guido van Rossum4dc66221996-07-24 00:51:51 +000099#endif
Guido van Rossum4dc66221996-07-24 00:51:51 +0000100#endif
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000101#ifdef ENOMSG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000102 inscode(d, ds, de, "ENOMSG", ENOMSG, "No message of desired type");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000103#endif
104#ifdef EUCLEAN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000105 inscode(d, ds, de, "EUCLEAN", EUCLEAN, "Structure needs cleaning");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000106#endif
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000107#ifdef EL2NSYNC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000108 inscode(d, ds, de, "EL2NSYNC", EL2NSYNC, "Level 2 not synchronized");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000109#endif
110#ifdef EL2HLT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000111 inscode(d, ds, de, "EL2HLT", EL2HLT, "Level 2 halted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000112#endif
113#ifdef ENODATA
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000114 inscode(d, ds, de, "ENODATA", ENODATA, "No data available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000115#endif
116#ifdef ENOTBLK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000117 inscode(d, ds, de, "ENOTBLK", ENOTBLK, "Block device required");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000118#endif
119#ifdef ENOSYS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000120 inscode(d, ds, de, "ENOSYS", ENOSYS, "Function not implemented");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000121#endif
122#ifdef EPIPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000123 inscode(d, ds, de, "EPIPE", EPIPE, "Broken pipe");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000124#endif
125#ifdef EINVAL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000126 inscode(d, ds, de, "EINVAL", EINVAL, "Invalid argument");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000127#else
128#ifdef WSAEINVAL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000129 inscode(d, ds, de, "EINVAL", WSAEINVAL, "Invalid argument");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000130#endif
131#endif
132#ifdef EOVERFLOW
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000133 inscode(d, ds, de, "EOVERFLOW", EOVERFLOW, "Value too large for defined data type");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000134#endif
135#ifdef EADV
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000136 inscode(d, ds, de, "EADV", EADV, "Advertise error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000137#endif
138#ifdef EINTR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000139 inscode(d, ds, de, "EINTR", EINTR, "Interrupted system call");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000140#else
141#ifdef WSAEINTR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000142 inscode(d, ds, de, "EINTR", WSAEINTR, "Interrupted system call");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000143#endif
144#endif
145#ifdef EUSERS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000146 inscode(d, ds, de, "EUSERS", EUSERS, "Too many users");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000147#else
148#ifdef WSAEUSERS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000149 inscode(d, ds, de, "EUSERS", WSAEUSERS, "Too many users");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000150#endif
151#endif
152#ifdef ENOTEMPTY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000153 inscode(d, ds, de, "ENOTEMPTY", ENOTEMPTY, "Directory not empty");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000154#else
155#ifdef WSAENOTEMPTY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000156 inscode(d, ds, de, "ENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000157#endif
158#endif
159#ifdef ENOBUFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000160 inscode(d, ds, de, "ENOBUFS", ENOBUFS, "No buffer space available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000161#else
162#ifdef WSAENOBUFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000163 inscode(d, ds, de, "ENOBUFS", WSAENOBUFS, "No buffer space available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000164#endif
165#endif
166#ifdef EPROTO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000167 inscode(d, ds, de, "EPROTO", EPROTO, "Protocol error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000168#endif
169#ifdef EREMOTE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000170 inscode(d, ds, de, "EREMOTE", EREMOTE, "Object is remote");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000171#else
172#ifdef WSAEREMOTE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000173 inscode(d, ds, de, "EREMOTE", WSAEREMOTE, "Object is remote");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000174#endif
Guido van Rossum4dc66221996-07-24 00:51:51 +0000175#endif
176#ifdef ENAVAIL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000177 inscode(d, ds, de, "ENAVAIL", ENAVAIL, "No XENIX semaphores available");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000178#endif
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000179#ifdef ECHILD
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000180 inscode(d, ds, de, "ECHILD", ECHILD, "No child processes");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000181#endif
182#ifdef ELOOP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000183 inscode(d, ds, de, "ELOOP", ELOOP, "Too many symbolic links encountered");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000184#else
185#ifdef WSAELOOP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000186 inscode(d, ds, de, "ELOOP", WSAELOOP, "Too many symbolic links encountered");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000187#endif
188#endif
189#ifdef EXDEV
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000190 inscode(d, ds, de, "EXDEV", EXDEV, "Cross-device link");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000191#endif
192#ifdef E2BIG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000193 inscode(d, ds, de, "E2BIG", E2BIG, "Arg list too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000194#endif
195#ifdef ESRCH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000196 inscode(d, ds, de, "ESRCH", ESRCH, "No such process");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000197#endif
198#ifdef EMSGSIZE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000199 inscode(d, ds, de, "EMSGSIZE", EMSGSIZE, "Message too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000200#else
201#ifdef WSAEMSGSIZE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000202 inscode(d, ds, de, "EMSGSIZE", WSAEMSGSIZE, "Message too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000203#endif
204#endif
205#ifdef EAFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000206 inscode(d, ds, de, "EAFNOSUPPORT", EAFNOSUPPORT, "Address family not supported by protocol");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000207#else
208#ifdef WSAEAFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000209 inscode(d, ds, de, "EAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000210#endif
211#endif
212#ifdef EBADR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000213 inscode(d, ds, de, "EBADR", EBADR, "Invalid request descriptor");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000214#endif
215#ifdef EHOSTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000216 inscode(d, ds, de, "EHOSTDOWN", EHOSTDOWN, "Host is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000217#else
218#ifdef WSAEHOSTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000219 inscode(d, ds, de, "EHOSTDOWN", WSAEHOSTDOWN, "Host is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000220#endif
221#endif
222#ifdef EPFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000223 inscode(d, ds, de, "EPFNOSUPPORT", EPFNOSUPPORT, "Protocol family not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000224#else
225#ifdef WSAEPFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000226 inscode(d, ds, de, "EPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000227#endif
228#endif
229#ifdef ENOPROTOOPT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000230 inscode(d, ds, de, "ENOPROTOOPT", ENOPROTOOPT, "Protocol not available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000231#else
232#ifdef WSAENOPROTOOPT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000233 inscode(d, ds, de, "ENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000234#endif
235#endif
236#ifdef EBUSY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000237 inscode(d, ds, de, "EBUSY", EBUSY, "Device or resource busy");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000238#endif
239#ifdef EWOULDBLOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000240 inscode(d, ds, de, "EWOULDBLOCK", EWOULDBLOCK, "Operation would block");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000241#else
242#ifdef WSAEWOULDBLOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000243 inscode(d, ds, de, "EWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000244#endif
245#endif
246#ifdef EBADFD
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000247 inscode(d, ds, de, "EBADFD", EBADFD, "File descriptor in bad state");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000248#endif
249#ifdef EDOTDOT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000250 inscode(d, ds, de, "EDOTDOT", EDOTDOT, "RFS specific error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000251#endif
252#ifdef EISCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000253 inscode(d, ds, de, "EISCONN", EISCONN, "Transport endpoint is already connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000254#else
255#ifdef WSAEISCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000256 inscode(d, ds, de, "EISCONN", WSAEISCONN, "Transport endpoint is already connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000257#endif
258#endif
259#ifdef ENOANO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000260 inscode(d, ds, de, "ENOANO", ENOANO, "No anode");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000261#endif
262#ifdef ESHUTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000263 inscode(d, ds, de, "ESHUTDOWN", ESHUTDOWN, "Cannot send after transport endpoint shutdown");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000264#else
265#ifdef WSAESHUTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000266 inscode(d, ds, de, "ESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000267#endif
268#endif
269#ifdef ECHRNG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000270 inscode(d, ds, de, "ECHRNG", ECHRNG, "Channel number out of range");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000271#endif
272#ifdef ELIBBAD
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000273 inscode(d, ds, de, "ELIBBAD", ELIBBAD, "Accessing a corrupted shared library");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000274#endif
275#ifdef ENONET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000276 inscode(d, ds, de, "ENONET", ENONET, "Machine is not on the network");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000277#endif
278#ifdef EBADE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000279 inscode(d, ds, de, "EBADE", EBADE, "Invalid exchange");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000280#endif
281#ifdef EBADF
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000282 inscode(d, ds, de, "EBADF", EBADF, "Bad file number");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000283#else
284#ifdef WSAEBADF
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000285 inscode(d, ds, de, "EBADF", WSAEBADF, "Bad file number");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000286#endif
287#endif
288#ifdef EMULTIHOP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000289 inscode(d, ds, de, "EMULTIHOP", EMULTIHOP, "Multihop attempted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000290#endif
291#ifdef EIO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000292 inscode(d, ds, de, "EIO", EIO, "I/O error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000293#endif
294#ifdef EUNATCH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000295 inscode(d, ds, de, "EUNATCH", EUNATCH, "Protocol driver not attached");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000296#endif
297#ifdef EPROTOTYPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000298 inscode(d, ds, de, "EPROTOTYPE", EPROTOTYPE, "Protocol wrong type for socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000299#else
300#ifdef WSAEPROTOTYPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000301 inscode(d, ds, de, "EPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000302#endif
303#endif
304#ifdef ENOSPC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000305 inscode(d, ds, de, "ENOSPC", ENOSPC, "No space left on device");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000306#endif
307#ifdef ENOEXEC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000308 inscode(d, ds, de, "ENOEXEC", ENOEXEC, "Exec format error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000309#endif
310#ifdef EALREADY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000311 inscode(d, ds, de, "EALREADY", EALREADY, "Operation already in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000312#else
313#ifdef WSAEALREADY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000314 inscode(d, ds, de, "EALREADY", WSAEALREADY, "Operation already in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000315#endif
316#endif
317#ifdef ENETDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000318 inscode(d, ds, de, "ENETDOWN", ENETDOWN, "Network is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000319#else
320#ifdef WSAENETDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000321 inscode(d, ds, de, "ENETDOWN", WSAENETDOWN, "Network is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000322#endif
323#endif
324#ifdef ENOTNAM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000325 inscode(d, ds, de, "ENOTNAM", ENOTNAM, "Not a XENIX named type file");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000326#endif
327#ifdef EACCES
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000328 inscode(d, ds, de, "EACCES", EACCES, "Permission denied");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000329#else
330#ifdef WSAEACCES
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000331 inscode(d, ds, de, "EACCES", WSAEACCES, "Permission denied");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000332#endif
333#endif
334#ifdef ELNRNG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000335 inscode(d, ds, de, "ELNRNG", ELNRNG, "Link number out of range");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000336#endif
337#ifdef EILSEQ
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000338 inscode(d, ds, de, "EILSEQ", EILSEQ, "Illegal byte sequence");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000339#endif
340#ifdef ENOTDIR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000341 inscode(d, ds, de, "ENOTDIR", ENOTDIR, "Not a directory");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000342#endif
343#ifdef ENOTUNIQ
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000344 inscode(d, ds, de, "ENOTUNIQ", ENOTUNIQ, "Name not unique on network");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000345#endif
346#ifdef EPERM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000347 inscode(d, ds, de, "EPERM", EPERM, "Operation not permitted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000348#endif
349#ifdef EDOM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000350 inscode(d, ds, de, "EDOM", EDOM, "Math argument out of domain of func");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000351#endif
352#ifdef EXFULL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000353 inscode(d, ds, de, "EXFULL", EXFULL, "Exchange full");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000354#endif
355#ifdef ECONNREFUSED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000356 inscode(d, ds, de, "ECONNREFUSED", ECONNREFUSED, "Connection refused");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000357#else
358#ifdef WSAECONNREFUSED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000359 inscode(d, ds, de, "ECONNREFUSED", WSAECONNREFUSED, "Connection refused");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000360#endif
361#endif
362#ifdef EISDIR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000363 inscode(d, ds, de, "EISDIR", EISDIR, "Is a directory");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000364#endif
365#ifdef EPROTONOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000366 inscode(d, ds, de, "EPROTONOSUPPORT", EPROTONOSUPPORT, "Protocol not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000367#else
368#ifdef WSAEPROTONOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000369 inscode(d, ds, de, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000370#endif
371#endif
372#ifdef EROFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000373 inscode(d, ds, de, "EROFS", EROFS, "Read-only file system");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000374#endif
375#ifdef EADDRNOTAVAIL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000376 inscode(d, ds, de, "EADDRNOTAVAIL", EADDRNOTAVAIL, "Cannot assign requested address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000377#else
378#ifdef WSAEADDRNOTAVAIL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000379 inscode(d, ds, de, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000380#endif
381#endif
382#ifdef EIDRM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000383 inscode(d, ds, de, "EIDRM", EIDRM, "Identifier removed");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000384#endif
385#ifdef ECOMM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000386 inscode(d, ds, de, "ECOMM", ECOMM, "Communication error on send");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000387#endif
388#ifdef ESRMNT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000389 inscode(d, ds, de, "ESRMNT", ESRMNT, "Srmount error");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000390#endif
391#ifdef EREMOTEIO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000392 inscode(d, ds, de, "EREMOTEIO", EREMOTEIO, "Remote I/O error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000393#endif
394#ifdef EL3RST
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000395 inscode(d, ds, de, "EL3RST", EL3RST, "Level 3 reset");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000396#endif
397#ifdef EBADMSG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000398 inscode(d, ds, de, "EBADMSG", EBADMSG, "Not a data message");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000399#endif
400#ifdef ENFILE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000401 inscode(d, ds, de, "ENFILE", ENFILE, "File table overflow");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000402#endif
403#ifdef ELIBMAX
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000404 inscode(d, ds, de, "ELIBMAX", ELIBMAX, "Attempting to link in too many shared libraries");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000405#endif
406#ifdef ESPIPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000407 inscode(d, ds, de, "ESPIPE", ESPIPE, "Illegal seek");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000408#endif
409#ifdef ENOLINK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000410 inscode(d, ds, de, "ENOLINK", ENOLINK, "Link has been severed");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000411#endif
412#ifdef ENETRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000413 inscode(d, ds, de, "ENETRESET", ENETRESET, "Network dropped connection because of reset");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000414#else
415#ifdef WSAENETRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000416 inscode(d, ds, de, "ENETRESET", WSAENETRESET, "Network dropped connection because of reset");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000417#endif
418#endif
419#ifdef ETIMEDOUT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000420 inscode(d, ds, de, "ETIMEDOUT", ETIMEDOUT, "Connection timed out");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000421#else
422#ifdef WSAETIMEDOUT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000423 inscode(d, ds, de, "ETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000424#endif
425#endif
426#ifdef ENOENT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000427 inscode(d, ds, de, "ENOENT", ENOENT, "No such file or directory");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000428#endif
429#ifdef EEXIST
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000430 inscode(d, ds, de, "EEXIST", EEXIST, "File exists");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000431#endif
432#ifdef EDQUOT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000433 inscode(d, ds, de, "EDQUOT", EDQUOT, "Quota exceeded");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000434#else
435#ifdef WSAEDQUOT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000436 inscode(d, ds, de, "EDQUOT", WSAEDQUOT, "Quota exceeded");
Guido van Rossum4dc66221996-07-24 00:51:51 +0000437#endif
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000438#endif
439#ifdef ENOSTR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000440 inscode(d, ds, de, "ENOSTR", ENOSTR, "Device not a stream");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000441#endif
442#ifdef EBADSLT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000443 inscode(d, ds, de, "EBADSLT", EBADSLT, "Invalid slot");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000444#endif
445#ifdef EBADRQC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000446 inscode(d, ds, de, "EBADRQC", EBADRQC, "Invalid request code");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000447#endif
448#ifdef ELIBACC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000449 inscode(d, ds, de, "ELIBACC", ELIBACC, "Can not access a needed shared library");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000450#endif
451#ifdef EFAULT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000452 inscode(d, ds, de, "EFAULT", EFAULT, "Bad address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000453#else
454#ifdef WSAEFAULT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000455 inscode(d, ds, de, "EFAULT", WSAEFAULT, "Bad address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000456#endif
457#endif
458#ifdef EFBIG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000459 inscode(d, ds, de, "EFBIG", EFBIG, "File too large");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000460#endif
461#ifdef EDEADLK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000462 inscode(d, ds, de, "EDEADLK", EDEADLK, "Resource deadlock would occur");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000463#endif
464#ifdef ENOTCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000465 inscode(d, ds, de, "ENOTCONN", ENOTCONN, "Transport endpoint is not connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000466#else
467#ifdef WSAENOTCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000468 inscode(d, ds, de, "ENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000469#endif
470#endif
471#ifdef EDESTADDRREQ
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000472 inscode(d, ds, de, "EDESTADDRREQ", EDESTADDRREQ, "Destination address required");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000473#else
474#ifdef WSAEDESTADDRREQ
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000475 inscode(d, ds, de, "EDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000476#endif
477#endif
478#ifdef ELIBSCN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000479 inscode(d, ds, de, "ELIBSCN", ELIBSCN, ".lib section in a.out corrupted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000480#endif
481#ifdef ENOLCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000482 inscode(d, ds, de, "ENOLCK", ENOLCK, "No record locks available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000483#endif
484#ifdef EISNAM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000485 inscode(d, ds, de, "EISNAM", EISNAM, "Is a named type file");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000486#endif
487#ifdef ECONNABORTED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000488 inscode(d, ds, de, "ECONNABORTED", ECONNABORTED, "Software caused connection abort");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000489#else
490#ifdef WSAECONNABORTED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000491 inscode(d, ds, de, "ECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000492#endif
493#endif
494#ifdef ENETUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000495 inscode(d, ds, de, "ENETUNREACH", ENETUNREACH, "Network is unreachable");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000496#else
497#ifdef WSAENETUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000498 inscode(d, ds, de, "ENETUNREACH", WSAENETUNREACH, "Network is unreachable");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000499#endif
500#endif
501#ifdef ESTALE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000502 inscode(d, ds, de, "ESTALE", ESTALE, "Stale NFS file handle");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000503#else
504#ifdef WSAESTALE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000505 inscode(d, ds, de, "ESTALE", WSAESTALE, "Stale NFS file handle");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000506#endif
507#endif
508#ifdef ENOSR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000509 inscode(d, ds, de, "ENOSR", ENOSR, "Out of streams resources");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000510#endif
511#ifdef ENOMEM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000512 inscode(d, ds, de, "ENOMEM", ENOMEM, "Out of memory");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000513#endif
514#ifdef ENOTSOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000515 inscode(d, ds, de, "ENOTSOCK", ENOTSOCK, "Socket operation on non-socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000516#else
517#ifdef WSAENOTSOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000518 inscode(d, ds, de, "ENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000519#endif
520#endif
521#ifdef ESTRPIPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000522 inscode(d, ds, de, "ESTRPIPE", ESTRPIPE, "Streams pipe error");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000523#endif
524#ifdef EMLINK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000525 inscode(d, ds, de, "EMLINK", EMLINK, "Too many links");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000526#endif
527#ifdef ERANGE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000528 inscode(d, ds, de, "ERANGE", ERANGE, "Math result not representable");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000529#endif
530#ifdef ELIBEXEC
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000531 inscode(d, ds, de, "ELIBEXEC", ELIBEXEC, "Cannot exec a shared library directly");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000532#endif
533#ifdef EL3HLT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000534 inscode(d, ds, de, "EL3HLT", EL3HLT, "Level 3 halted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000535#endif
536#ifdef ECONNRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000537 inscode(d, ds, de, "ECONNRESET", ECONNRESET, "Connection reset by peer");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000538#else
539#ifdef WSAECONNRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000540 inscode(d, ds, de, "ECONNRESET", WSAECONNRESET, "Connection reset by peer");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000541#endif
542#endif
543#ifdef EADDRINUSE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000544 inscode(d, ds, de, "EADDRINUSE", EADDRINUSE, "Address already in use");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000545#else
546#ifdef WSAEADDRINUSE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000547 inscode(d, ds, de, "EADDRINUSE", WSAEADDRINUSE, "Address already in use");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000548#endif
549#endif
550#ifdef EOPNOTSUPP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000551 inscode(d, ds, de, "EOPNOTSUPP", EOPNOTSUPP, "Operation not supported on transport endpoint");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000552#else
553#ifdef WSAEOPNOTSUPP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000554 inscode(d, ds, de, "EOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000555#endif
556#endif
557#ifdef EREMCHG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000558 inscode(d, ds, de, "EREMCHG", EREMCHG, "Remote address changed");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000559#endif
560#ifdef EAGAIN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000561 inscode(d, ds, de, "EAGAIN", EAGAIN, "Try again");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000562#endif
563#ifdef ENAMETOOLONG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000564 inscode(d, ds, de, "ENAMETOOLONG", ENAMETOOLONG, "File name too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000565#else
566#ifdef WSAENAMETOOLONG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000567 inscode(d, ds, de, "ENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000568#endif
569#endif
570#ifdef ENOTTY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000571 inscode(d, ds, de, "ENOTTY", ENOTTY, "Not a typewriter");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000572#endif
573#ifdef ERESTART
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000574 inscode(d, ds, de, "ERESTART", ERESTART, "Interrupted system call should be restarted");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000575#endif
576#ifdef ESOCKTNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000577 inscode(d, ds, de, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, "Socket type not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000578#else
579#ifdef WSAESOCKTNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000580 inscode(d, ds, de, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000581#endif
582#endif
583#ifdef ETIME
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000584 inscode(d, ds, de, "ETIME", ETIME, "Timer expired");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000585#endif
586#ifdef EBFONT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000587 inscode(d, ds, de, "EBFONT", EBFONT, "Bad font file format");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000588#endif
589#ifdef EDEADLOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000590 inscode(d, ds, de, "EDEADLOCK", EDEADLOCK, "Error EDEADLOCK");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000591#endif
592#ifdef ETOOMANYREFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000593 inscode(d, ds, de, "ETOOMANYREFS", ETOOMANYREFS, "Too many references: cannot splice");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000594#else
595#ifdef WSAETOOMANYREFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000596 inscode(d, ds, de, "ETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000597#endif
598#endif
599#ifdef EMFILE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000600 inscode(d, ds, de, "EMFILE", EMFILE, "Too many open files");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000601#else
602#ifdef WSAEMFILE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000603 inscode(d, ds, de, "EMFILE", WSAEMFILE, "Too many open files");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000604#endif
605#endif
606#ifdef ETXTBSY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000607 inscode(d, ds, de, "ETXTBSY", ETXTBSY, "Text file busy");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000608#endif
609#ifdef EINPROGRESS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000610 inscode(d, ds, de, "EINPROGRESS", EINPROGRESS, "Operation now in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000611#else
612#ifdef WSAEINPROGRESS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000613 inscode(d, ds, de, "EINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000614#endif
615#endif
616#ifdef ENXIO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000617 inscode(d, ds, de, "ENXIO", ENXIO, "No such device or address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000618#endif
619#ifdef ENOPKG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000620 inscode(d, ds, de, "ENOPKG", ENOPKG, "Package not installed");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000621#endif
622#ifdef WSASY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000623 inscode(d, ds, de, "WSASY", WSASY, "Error WSASY");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000624#endif
625#ifdef WSAEHOSTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000626 inscode(d, ds, de, "WSAEHOSTDOWN", WSAEHOSTDOWN, "Host is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000627#endif
628#ifdef WSAENETDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000629 inscode(d, ds, de, "WSAENETDOWN", WSAENETDOWN, "Network is down");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000630#endif
631#ifdef WSAENOTSOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000632 inscode(d, ds, de, "WSAENOTSOCK", WSAENOTSOCK, "Socket operation on non-socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000633#endif
634#ifdef WSAEHOSTUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000635 inscode(d, ds, de, "WSAEHOSTUNREACH", WSAEHOSTUNREACH, "No route to host");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000636#endif
637#ifdef WSAELOOP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000638 inscode(d, ds, de, "WSAELOOP", WSAELOOP, "Too many symbolic links encountered");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000639#endif
640#ifdef WSAEMFILE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000641 inscode(d, ds, de, "WSAEMFILE", WSAEMFILE, "Too many open files");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000642#endif
643#ifdef WSAESTALE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000644 inscode(d, ds, de, "WSAESTALE", WSAESTALE, "Stale NFS file handle");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000645#endif
646#ifdef WSAVERNOTSUPPORTED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000647 inscode(d, ds, de, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED, "Error WSAVERNOTSUPPORTED");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000648#endif
649#ifdef WSAENETUNREACH
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000650 inscode(d, ds, de, "WSAENETUNREACH", WSAENETUNREACH, "Network is unreachable");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000651#endif
652#ifdef WSAEPROCLIM
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000653 inscode(d, ds, de, "WSAEPROCLIM", WSAEPROCLIM, "Error WSAEPROCLIM");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000654#endif
655#ifdef WSAEFAULT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000656 inscode(d, ds, de, "WSAEFAULT", WSAEFAULT, "Bad address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000657#endif
658#ifdef WSANOTINITIALISED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000659 inscode(d, ds, de, "WSANOTINITIALISED", WSANOTINITIALISED, "Error WSANOTINITIALISED");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000660#endif
661#ifdef WSAEUSERS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000662 inscode(d, ds, de, "WSAEUSERS", WSAEUSERS, "Too many users");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000663#endif
664#ifdef WSAMAKEASYNCREPL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000665 inscode(d, ds, de, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL, "Error WSAMAKEASYNCREPL");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000666#endif
667#ifdef WSAENOPROTOOPT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000668 inscode(d, ds, de, "WSAENOPROTOOPT", WSAENOPROTOOPT, "Protocol not available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000669#endif
670#ifdef WSAECONNABORTED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000671 inscode(d, ds, de, "WSAECONNABORTED", WSAECONNABORTED, "Software caused connection abort");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000672#endif
673#ifdef WSAENAMETOOLONG
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000674 inscode(d, ds, de, "WSAENAMETOOLONG", WSAENAMETOOLONG, "File name too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000675#endif
676#ifdef WSAENOTEMPTY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000677 inscode(d, ds, de, "WSAENOTEMPTY", WSAENOTEMPTY, "Directory not empty");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000678#endif
679#ifdef WSAESHUTDOWN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000680 inscode(d, ds, de, "WSAESHUTDOWN", WSAESHUTDOWN, "Cannot send after transport endpoint shutdown");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000681#endif
682#ifdef WSAEAFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000683 inscode(d, ds, de, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT, "Address family not supported by protocol");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000684#endif
685#ifdef WSAETOOMANYREFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000686 inscode(d, ds, de, "WSAETOOMANYREFS", WSAETOOMANYREFS, "Too many references: cannot splice");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000687#endif
688#ifdef WSAEACCES
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000689 inscode(d, ds, de, "WSAEACCES", WSAEACCES, "Permission denied");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000690#endif
691#ifdef WSATR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000692 inscode(d, ds, de, "WSATR", WSATR, "Error WSATR");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000693#endif
694#ifdef WSABASEERR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000695 inscode(d, ds, de, "WSABASEERR", WSABASEERR, "Error WSABASEERR");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000696#endif
697#ifdef WSADESCRIPTIO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000698 inscode(d, ds, de, "WSADESCRIPTIO", WSADESCRIPTIO, "Error WSADESCRIPTIO");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000699#endif
700#ifdef WSAEMSGSIZE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000701 inscode(d, ds, de, "WSAEMSGSIZE", WSAEMSGSIZE, "Message too long");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000702#endif
703#ifdef WSAEBADF
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000704 inscode(d, ds, de, "WSAEBADF", WSAEBADF, "Bad file number");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000705#endif
706#ifdef WSAECONNRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000707 inscode(d, ds, de, "WSAECONNRESET", WSAECONNRESET, "Connection reset by peer");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000708#endif
709#ifdef WSAGETSELECTERRO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000710 inscode(d, ds, de, "WSAGETSELECTERRO", WSAGETSELECTERRO, "Error WSAGETSELECTERRO");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000711#endif
712#ifdef WSAETIMEDOUT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000713 inscode(d, ds, de, "WSAETIMEDOUT", WSAETIMEDOUT, "Connection timed out");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000714#endif
715#ifdef WSAENOBUFS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000716 inscode(d, ds, de, "WSAENOBUFS", WSAENOBUFS, "No buffer space available");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000717#endif
718#ifdef WSAEDISCON
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000719 inscode(d, ds, de, "WSAEDISCON", WSAEDISCON, "Error WSAEDISCON");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000720#endif
721#ifdef WSAEINTR
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000722 inscode(d, ds, de, "WSAEINTR", WSAEINTR, "Interrupted system call");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000723#endif
724#ifdef WSAEPROTOTYPE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000725 inscode(d, ds, de, "WSAEPROTOTYPE", WSAEPROTOTYPE, "Protocol wrong type for socket");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000726#endif
727#ifdef WSAHOS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000728 inscode(d, ds, de, "WSAHOS", WSAHOS, "Error WSAHOS");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000729#endif
730#ifdef WSAEADDRINUSE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000731 inscode(d, ds, de, "WSAEADDRINUSE", WSAEADDRINUSE, "Address already in use");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000732#endif
733#ifdef WSAEADDRNOTAVAIL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000734 inscode(d, ds, de, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL, "Cannot assign requested address");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000735#endif
736#ifdef WSAEALREADY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000737 inscode(d, ds, de, "WSAEALREADY", WSAEALREADY, "Operation already in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000738#endif
739#ifdef WSAEPROTONOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000740 inscode(d, ds, de, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT, "Protocol not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000741#endif
742#ifdef WSASYSNOTREADY
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000743 inscode(d, ds, de, "WSASYSNOTREADY", WSASYSNOTREADY, "Error WSASYSNOTREADY");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000744#endif
745#ifdef WSAEWOULDBLOCK
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000746 inscode(d, ds, de, "WSAEWOULDBLOCK", WSAEWOULDBLOCK, "Operation would block");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000747#endif
748#ifdef WSAEPFNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000749 inscode(d, ds, de, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT, "Protocol family not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000750#endif
751#ifdef WSAEOPNOTSUPP
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000752 inscode(d, ds, de, "WSAEOPNOTSUPP", WSAEOPNOTSUPP, "Operation not supported on transport endpoint");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000753#endif
754#ifdef WSAEISCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000755 inscode(d, ds, de, "WSAEISCONN", WSAEISCONN, "Transport endpoint is already connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000756#endif
757#ifdef WSAEDQUOT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000758 inscode(d, ds, de, "WSAEDQUOT", WSAEDQUOT, "Quota exceeded");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000759#endif
760#ifdef WSAENOTCONN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000761 inscode(d, ds, de, "WSAENOTCONN", WSAENOTCONN, "Transport endpoint is not connected");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000762#endif
763#ifdef WSAEREMOTE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000764 inscode(d, ds, de, "WSAEREMOTE", WSAEREMOTE, "Object is remote");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000765#endif
766#ifdef WSAEINVAL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000767 inscode(d, ds, de, "WSAEINVAL", WSAEINVAL, "Invalid argument");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000768#endif
769#ifdef WSAEINPROGRESS
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000770 inscode(d, ds, de, "WSAEINPROGRESS", WSAEINPROGRESS, "Operation now in progress");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000771#endif
772#ifdef WSAGETSELECTEVEN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000773 inscode(d, ds, de, "WSAGETSELECTEVEN", WSAGETSELECTEVEN, "Error WSAGETSELECTEVEN");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000774#endif
775#ifdef WSAESOCKTNOSUPPORT
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000776 inscode(d, ds, de, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT, "Socket type not supported");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000777#endif
778#ifdef WSAGETASYNCERRO
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000779 inscode(d, ds, de, "WSAGETASYNCERRO", WSAGETASYNCERRO, "Error WSAGETASYNCERRO");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000780#endif
781#ifdef WSAMAKESELECTREPL
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000782 inscode(d, ds, de, "WSAMAKESELECTREPL", WSAMAKESELECTREPL, "Error WSAMAKESELECTREPL");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000783#endif
784#ifdef WSAGETASYNCBUFLE
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000785 inscode(d, ds, de, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE, "Error WSAGETASYNCBUFLE");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000786#endif
787#ifdef WSAEDESTADDRREQ
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000788 inscode(d, ds, de, "WSAEDESTADDRREQ", WSAEDESTADDRREQ, "Destination address required");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000789#endif
790#ifdef WSAECONNREFUSED
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000791 inscode(d, ds, de, "WSAECONNREFUSED", WSAECONNREFUSED, "Connection refused");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000792#endif
793#ifdef WSAENETRESET
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000794 inscode(d, ds, de, "WSAENETRESET", WSAENETRESET, "Network dropped connection because of reset");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000795#endif
796#ifdef WSAN
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000797 inscode(d, ds, de, "WSAN", WSAN, "Error WSAN");
Guido van Rossum49f9d8e1997-09-28 05:41:56 +0000798#endif
799
Antoine Pitrouf95a1b32010-05-09 15:52:27 +0000800 Py_DECREF(de);
801 return m;
Guido van Rossum4dc66221996-07-24 00:51:51 +0000802}