6 /* Windows socket errors (WSA*) */
12 * Pull in the system error definitions
15 static PyMethodDef errno_methods
[] = {
19 /* Helper function doing the dictionary inserting */
22 _inscode(PyObject
*d
, PyObject
*de
, char *name
, int code
)
24 PyObject
*u
= PyString_FromString(name
);
25 PyObject
*v
= PyInt_FromLong((long) code
);
27 /* Don't bother checking for errors; they'll be caught at the end
28 * of the module initialization function by the caller of
32 /* insert in modules dict */
33 PyDict_SetItem(d
, u
, v
);
34 /* insert in errorcode dict */
35 PyDict_SetItem(de
, v
, u
);
41 PyDoc_STRVAR(errno__doc__
,
42 "This module makes available standard errno system symbols.\n\
44 The value of each symbol is the corresponding integer value,\n\
45 e.g., on most systems, errno.ENOENT equals the integer 2.\n\
47 The dictionary errno.errorcode maps numeric codes to symbol names,\n\
48 e.g., errno.errorcode[2] could be the string 'ENOENT'.\n\
50 Symbols that are not relevant to the underlying system are not defined.\n\
52 To map error codes to error messages, use the function os.strerror(),\n\
53 e.g. os.strerror(2) could return 'No such file or directory'.");
59 m
= Py_InitModule3("errno", errno_methods
, errno__doc__
);
62 d
= PyModule_GetDict(m
);
64 if (!d
|| !de
|| PyDict_SetItemString(d
, "errorcode", de
) < 0)
67 /* Macro so I don't have to edit each and every line below... */
68 #define inscode(d, ds, de, name, code, comment) _inscode(d, de, name, code)
71 * The names and comments are borrowed from linux/include/errno.h,
72 * which should be pretty all-inclusive
76 inscode(d
, ds
, de
, "ENODEV", ENODEV
, "No such device");
79 inscode(d
, ds
, de
, "ENOCSI", ENOCSI
, "No CSI structure available");
82 inscode(d
, ds
, de
, "EHOSTUNREACH", EHOSTUNREACH
, "No route to host");
84 #ifdef WSAEHOSTUNREACH
85 inscode(d
, ds
, de
, "EHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
89 inscode(d
, ds
, de
, "ENOMSG", ENOMSG
, "No message of desired type");
92 inscode(d
, ds
, de
, "EUCLEAN", EUCLEAN
, "Structure needs cleaning");
95 inscode(d
, ds
, de
, "EL2NSYNC", EL2NSYNC
, "Level 2 not synchronized");
98 inscode(d
, ds
, de
, "EL2HLT", EL2HLT
, "Level 2 halted");
101 inscode(d
, ds
, de
, "ENODATA", ENODATA
, "No data available");
104 inscode(d
, ds
, de
, "ENOTBLK", ENOTBLK
, "Block device required");
107 inscode(d
, ds
, de
, "ENOSYS", ENOSYS
, "Function not implemented");
110 inscode(d
, ds
, de
, "EPIPE", EPIPE
, "Broken pipe");
113 inscode(d
, ds
, de
, "EINVAL", EINVAL
, "Invalid argument");
116 inscode(d
, ds
, de
, "EINVAL", WSAEINVAL
, "Invalid argument");
120 inscode(d
, ds
, de
, "EOVERFLOW", EOVERFLOW
, "Value too large for defined data type");
123 inscode(d
, ds
, de
, "EADV", EADV
, "Advertise error");
126 inscode(d
, ds
, de
, "EINTR", EINTR
, "Interrupted system call");
129 inscode(d
, ds
, de
, "EINTR", WSAEINTR
, "Interrupted system call");
133 inscode(d
, ds
, de
, "EUSERS", EUSERS
, "Too many users");
136 inscode(d
, ds
, de
, "EUSERS", WSAEUSERS
, "Too many users");
140 inscode(d
, ds
, de
, "ENOTEMPTY", ENOTEMPTY
, "Directory not empty");
143 inscode(d
, ds
, de
, "ENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
147 inscode(d
, ds
, de
, "ENOBUFS", ENOBUFS
, "No buffer space available");
150 inscode(d
, ds
, de
, "ENOBUFS", WSAENOBUFS
, "No buffer space available");
154 inscode(d
, ds
, de
, "EPROTO", EPROTO
, "Protocol error");
157 inscode(d
, ds
, de
, "EREMOTE", EREMOTE
, "Object is remote");
160 inscode(d
, ds
, de
, "EREMOTE", WSAEREMOTE
, "Object is remote");
164 inscode(d
, ds
, de
, "ENAVAIL", ENAVAIL
, "No XENIX semaphores available");
167 inscode(d
, ds
, de
, "ECHILD", ECHILD
, "No child processes");
170 inscode(d
, ds
, de
, "ELOOP", ELOOP
, "Too many symbolic links encountered");
173 inscode(d
, ds
, de
, "ELOOP", WSAELOOP
, "Too many symbolic links encountered");
177 inscode(d
, ds
, de
, "EXDEV", EXDEV
, "Cross-device link");
180 inscode(d
, ds
, de
, "E2BIG", E2BIG
, "Arg list too long");
183 inscode(d
, ds
, de
, "ESRCH", ESRCH
, "No such process");
186 inscode(d
, ds
, de
, "EMSGSIZE", EMSGSIZE
, "Message too long");
189 inscode(d
, ds
, de
, "EMSGSIZE", WSAEMSGSIZE
, "Message too long");
193 inscode(d
, ds
, de
, "EAFNOSUPPORT", EAFNOSUPPORT
, "Address family not supported by protocol");
195 #ifdef WSAEAFNOSUPPORT
196 inscode(d
, ds
, de
, "EAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
200 inscode(d
, ds
, de
, "EBADR", EBADR
, "Invalid request descriptor");
203 inscode(d
, ds
, de
, "EHOSTDOWN", EHOSTDOWN
, "Host is down");
206 inscode(d
, ds
, de
, "EHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
210 inscode(d
, ds
, de
, "EPFNOSUPPORT", EPFNOSUPPORT
, "Protocol family not supported");
212 #ifdef WSAEPFNOSUPPORT
213 inscode(d
, ds
, de
, "EPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
217 inscode(d
, ds
, de
, "ENOPROTOOPT", ENOPROTOOPT
, "Protocol not available");
219 #ifdef WSAENOPROTOOPT
220 inscode(d
, ds
, de
, "ENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
224 inscode(d
, ds
, de
, "EBUSY", EBUSY
, "Device or resource busy");
227 inscode(d
, ds
, de
, "EWOULDBLOCK", EWOULDBLOCK
, "Operation would block");
229 #ifdef WSAEWOULDBLOCK
230 inscode(d
, ds
, de
, "EWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
234 inscode(d
, ds
, de
, "EBADFD", EBADFD
, "File descriptor in bad state");
237 inscode(d
, ds
, de
, "EDOTDOT", EDOTDOT
, "RFS specific error");
240 inscode(d
, ds
, de
, "EISCONN", EISCONN
, "Transport endpoint is already connected");
243 inscode(d
, ds
, de
, "EISCONN", WSAEISCONN
, "Transport endpoint is already connected");
247 inscode(d
, ds
, de
, "ENOANO", ENOANO
, "No anode");
250 inscode(d
, ds
, de
, "ESHUTDOWN", ESHUTDOWN
, "Cannot send after transport endpoint shutdown");
253 inscode(d
, ds
, de
, "ESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
257 inscode(d
, ds
, de
, "ECHRNG", ECHRNG
, "Channel number out of range");
260 inscode(d
, ds
, de
, "ELIBBAD", ELIBBAD
, "Accessing a corrupted shared library");
263 inscode(d
, ds
, de
, "ENONET", ENONET
, "Machine is not on the network");
266 inscode(d
, ds
, de
, "EBADE", EBADE
, "Invalid exchange");
269 inscode(d
, ds
, de
, "EBADF", EBADF
, "Bad file number");
272 inscode(d
, ds
, de
, "EBADF", WSAEBADF
, "Bad file number");
276 inscode(d
, ds
, de
, "EMULTIHOP", EMULTIHOP
, "Multihop attempted");
279 inscode(d
, ds
, de
, "EIO", EIO
, "I/O error");
282 inscode(d
, ds
, de
, "EUNATCH", EUNATCH
, "Protocol driver not attached");
285 inscode(d
, ds
, de
, "EPROTOTYPE", EPROTOTYPE
, "Protocol wrong type for socket");
288 inscode(d
, ds
, de
, "EPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
292 inscode(d
, ds
, de
, "ENOSPC", ENOSPC
, "No space left on device");
295 inscode(d
, ds
, de
, "ENOEXEC", ENOEXEC
, "Exec format error");
298 inscode(d
, ds
, de
, "EALREADY", EALREADY
, "Operation already in progress");
301 inscode(d
, ds
, de
, "EALREADY", WSAEALREADY
, "Operation already in progress");
305 inscode(d
, ds
, de
, "ENETDOWN", ENETDOWN
, "Network is down");
308 inscode(d
, ds
, de
, "ENETDOWN", WSAENETDOWN
, "Network is down");
312 inscode(d
, ds
, de
, "ENOTNAM", ENOTNAM
, "Not a XENIX named type file");
315 inscode(d
, ds
, de
, "EACCES", EACCES
, "Permission denied");
318 inscode(d
, ds
, de
, "EACCES", WSAEACCES
, "Permission denied");
322 inscode(d
, ds
, de
, "ELNRNG", ELNRNG
, "Link number out of range");
325 inscode(d
, ds
, de
, "EILSEQ", EILSEQ
, "Illegal byte sequence");
328 inscode(d
, ds
, de
, "ENOTDIR", ENOTDIR
, "Not a directory");
331 inscode(d
, ds
, de
, "ENOTUNIQ", ENOTUNIQ
, "Name not unique on network");
334 inscode(d
, ds
, de
, "EPERM", EPERM
, "Operation not permitted");
337 inscode(d
, ds
, de
, "EDOM", EDOM
, "Math argument out of domain of func");
340 inscode(d
, ds
, de
, "EXFULL", EXFULL
, "Exchange full");
343 inscode(d
, ds
, de
, "ECONNREFUSED", ECONNREFUSED
, "Connection refused");
345 #ifdef WSAECONNREFUSED
346 inscode(d
, ds
, de
, "ECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
350 inscode(d
, ds
, de
, "EISDIR", EISDIR
, "Is a directory");
352 #ifdef EPROTONOSUPPORT
353 inscode(d
, ds
, de
, "EPROTONOSUPPORT", EPROTONOSUPPORT
, "Protocol not supported");
355 #ifdef WSAEPROTONOSUPPORT
356 inscode(d
, ds
, de
, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
360 inscode(d
, ds
, de
, "EROFS", EROFS
, "Read-only file system");
363 inscode(d
, ds
, de
, "EADDRNOTAVAIL", EADDRNOTAVAIL
, "Cannot assign requested address");
365 #ifdef WSAEADDRNOTAVAIL
366 inscode(d
, ds
, de
, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
370 inscode(d
, ds
, de
, "EIDRM", EIDRM
, "Identifier removed");
373 inscode(d
, ds
, de
, "ECOMM", ECOMM
, "Communication error on send");
376 inscode(d
, ds
, de
, "ESRMNT", ESRMNT
, "Srmount error");
379 inscode(d
, ds
, de
, "EREMOTEIO", EREMOTEIO
, "Remote I/O error");
382 inscode(d
, ds
, de
, "EL3RST", EL3RST
, "Level 3 reset");
385 inscode(d
, ds
, de
, "EBADMSG", EBADMSG
, "Not a data message");
388 inscode(d
, ds
, de
, "ENFILE", ENFILE
, "File table overflow");
391 inscode(d
, ds
, de
, "ELIBMAX", ELIBMAX
, "Attempting to link in too many shared libraries");
394 inscode(d
, ds
, de
, "ESPIPE", ESPIPE
, "Illegal seek");
397 inscode(d
, ds
, de
, "ENOLINK", ENOLINK
, "Link has been severed");
400 inscode(d
, ds
, de
, "ENETRESET", ENETRESET
, "Network dropped connection because of reset");
403 inscode(d
, ds
, de
, "ENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
407 inscode(d
, ds
, de
, "ETIMEDOUT", ETIMEDOUT
, "Connection timed out");
410 inscode(d
, ds
, de
, "ETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
414 inscode(d
, ds
, de
, "ENOENT", ENOENT
, "No such file or directory");
417 inscode(d
, ds
, de
, "EEXIST", EEXIST
, "File exists");
420 inscode(d
, ds
, de
, "EDQUOT", EDQUOT
, "Quota exceeded");
423 inscode(d
, ds
, de
, "EDQUOT", WSAEDQUOT
, "Quota exceeded");
427 inscode(d
, ds
, de
, "ENOSTR", ENOSTR
, "Device not a stream");
430 inscode(d
, ds
, de
, "EBADSLT", EBADSLT
, "Invalid slot");
433 inscode(d
, ds
, de
, "EBADRQC", EBADRQC
, "Invalid request code");
436 inscode(d
, ds
, de
, "ELIBACC", ELIBACC
, "Can not access a needed shared library");
439 inscode(d
, ds
, de
, "EFAULT", EFAULT
, "Bad address");
442 inscode(d
, ds
, de
, "EFAULT", WSAEFAULT
, "Bad address");
446 inscode(d
, ds
, de
, "EFBIG", EFBIG
, "File too large");
449 inscode(d
, ds
, de
, "EDEADLK", EDEADLK
, "Resource deadlock would occur");
452 inscode(d
, ds
, de
, "ENOTCONN", ENOTCONN
, "Transport endpoint is not connected");
455 inscode(d
, ds
, de
, "ENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
459 inscode(d
, ds
, de
, "EDESTADDRREQ", EDESTADDRREQ
, "Destination address required");
461 #ifdef WSAEDESTADDRREQ
462 inscode(d
, ds
, de
, "EDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
466 inscode(d
, ds
, de
, "ELIBSCN", ELIBSCN
, ".lib section in a.out corrupted");
469 inscode(d
, ds
, de
, "ENOLCK", ENOLCK
, "No record locks available");
472 inscode(d
, ds
, de
, "EISNAM", EISNAM
, "Is a named type file");
475 inscode(d
, ds
, de
, "ECONNABORTED", ECONNABORTED
, "Software caused connection abort");
477 #ifdef WSAECONNABORTED
478 inscode(d
, ds
, de
, "ECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
482 inscode(d
, ds
, de
, "ENETUNREACH", ENETUNREACH
, "Network is unreachable");
484 #ifdef WSAENETUNREACH
485 inscode(d
, ds
, de
, "ENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
489 inscode(d
, ds
, de
, "ESTALE", ESTALE
, "Stale NFS file handle");
492 inscode(d
, ds
, de
, "ESTALE", WSAESTALE
, "Stale NFS file handle");
496 inscode(d
, ds
, de
, "ENOSR", ENOSR
, "Out of streams resources");
499 inscode(d
, ds
, de
, "ENOMEM", ENOMEM
, "Out of memory");
502 inscode(d
, ds
, de
, "ENOTSOCK", ENOTSOCK
, "Socket operation on non-socket");
505 inscode(d
, ds
, de
, "ENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
509 inscode(d
, ds
, de
, "ESTRPIPE", ESTRPIPE
, "Streams pipe error");
512 inscode(d
, ds
, de
, "EMLINK", EMLINK
, "Too many links");
515 inscode(d
, ds
, de
, "ERANGE", ERANGE
, "Math result not representable");
518 inscode(d
, ds
, de
, "ELIBEXEC", ELIBEXEC
, "Cannot exec a shared library directly");
521 inscode(d
, ds
, de
, "EL3HLT", EL3HLT
, "Level 3 halted");
524 inscode(d
, ds
, de
, "ECONNRESET", ECONNRESET
, "Connection reset by peer");
527 inscode(d
, ds
, de
, "ECONNRESET", WSAECONNRESET
, "Connection reset by peer");
531 inscode(d
, ds
, de
, "EADDRINUSE", EADDRINUSE
, "Address already in use");
534 inscode(d
, ds
, de
, "EADDRINUSE", WSAEADDRINUSE
, "Address already in use");
538 inscode(d
, ds
, de
, "EOPNOTSUPP", EOPNOTSUPP
, "Operation not supported on transport endpoint");
541 inscode(d
, ds
, de
, "EOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
545 inscode(d
, ds
, de
, "EREMCHG", EREMCHG
, "Remote address changed");
548 inscode(d
, ds
, de
, "EAGAIN", EAGAIN
, "Try again");
551 inscode(d
, ds
, de
, "ENAMETOOLONG", ENAMETOOLONG
, "File name too long");
553 #ifdef WSAENAMETOOLONG
554 inscode(d
, ds
, de
, "ENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
558 inscode(d
, ds
, de
, "ENOTTY", ENOTTY
, "Not a typewriter");
561 inscode(d
, ds
, de
, "ERESTART", ERESTART
, "Interrupted system call should be restarted");
563 #ifdef ESOCKTNOSUPPORT
564 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT
, "Socket type not supported");
566 #ifdef WSAESOCKTNOSUPPORT
567 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
571 inscode(d
, ds
, de
, "ETIME", ETIME
, "Timer expired");
574 inscode(d
, ds
, de
, "EBFONT", EBFONT
, "Bad font file format");
577 inscode(d
, ds
, de
, "EDEADLOCK", EDEADLOCK
, "Error EDEADLOCK");
580 inscode(d
, ds
, de
, "ETOOMANYREFS", ETOOMANYREFS
, "Too many references: cannot splice");
582 #ifdef WSAETOOMANYREFS
583 inscode(d
, ds
, de
, "ETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
587 inscode(d
, ds
, de
, "EMFILE", EMFILE
, "Too many open files");
590 inscode(d
, ds
, de
, "EMFILE", WSAEMFILE
, "Too many open files");
594 inscode(d
, ds
, de
, "ETXTBSY", ETXTBSY
, "Text file busy");
597 inscode(d
, ds
, de
, "EINPROGRESS", EINPROGRESS
, "Operation now in progress");
599 #ifdef WSAEINPROGRESS
600 inscode(d
, ds
, de
, "EINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
604 inscode(d
, ds
, de
, "ENXIO", ENXIO
, "No such device or address");
607 inscode(d
, ds
, de
, "ENOPKG", ENOPKG
, "Package not installed");
610 inscode(d
, ds
, de
, "WSASY", WSASY
, "Error WSASY");
613 inscode(d
, ds
, de
, "WSAEHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
616 inscode(d
, ds
, de
, "WSAENETDOWN", WSAENETDOWN
, "Network is down");
619 inscode(d
, ds
, de
, "WSAENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
621 #ifdef WSAEHOSTUNREACH
622 inscode(d
, ds
, de
, "WSAEHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
625 inscode(d
, ds
, de
, "WSAELOOP", WSAELOOP
, "Too many symbolic links encountered");
628 inscode(d
, ds
, de
, "WSAEMFILE", WSAEMFILE
, "Too many open files");
631 inscode(d
, ds
, de
, "WSAESTALE", WSAESTALE
, "Stale NFS file handle");
633 #ifdef WSAVERNOTSUPPORTED
634 inscode(d
, ds
, de
, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED
, "Error WSAVERNOTSUPPORTED");
636 #ifdef WSAENETUNREACH
637 inscode(d
, ds
, de
, "WSAENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
640 inscode(d
, ds
, de
, "WSAEPROCLIM", WSAEPROCLIM
, "Error WSAEPROCLIM");
643 inscode(d
, ds
, de
, "WSAEFAULT", WSAEFAULT
, "Bad address");
645 #ifdef WSANOTINITIALISED
646 inscode(d
, ds
, de
, "WSANOTINITIALISED", WSANOTINITIALISED
, "Error WSANOTINITIALISED");
649 inscode(d
, ds
, de
, "WSAEUSERS", WSAEUSERS
, "Too many users");
651 #ifdef WSAMAKEASYNCREPL
652 inscode(d
, ds
, de
, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL
, "Error WSAMAKEASYNCREPL");
654 #ifdef WSAENOPROTOOPT
655 inscode(d
, ds
, de
, "WSAENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
657 #ifdef WSAECONNABORTED
658 inscode(d
, ds
, de
, "WSAECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
660 #ifdef WSAENAMETOOLONG
661 inscode(d
, ds
, de
, "WSAENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
664 inscode(d
, ds
, de
, "WSAENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
667 inscode(d
, ds
, de
, "WSAESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
669 #ifdef WSAEAFNOSUPPORT
670 inscode(d
, ds
, de
, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
672 #ifdef WSAETOOMANYREFS
673 inscode(d
, ds
, de
, "WSAETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
676 inscode(d
, ds
, de
, "WSAEACCES", WSAEACCES
, "Permission denied");
679 inscode(d
, ds
, de
, "WSATR", WSATR
, "Error WSATR");
682 inscode(d
, ds
, de
, "WSABASEERR", WSABASEERR
, "Error WSABASEERR");
685 inscode(d
, ds
, de
, "WSADESCRIPTIO", WSADESCRIPTIO
, "Error WSADESCRIPTIO");
688 inscode(d
, ds
, de
, "WSAEMSGSIZE", WSAEMSGSIZE
, "Message too long");
691 inscode(d
, ds
, de
, "WSAEBADF", WSAEBADF
, "Bad file number");
694 inscode(d
, ds
, de
, "WSAECONNRESET", WSAECONNRESET
, "Connection reset by peer");
696 #ifdef WSAGETSELECTERRO
697 inscode(d
, ds
, de
, "WSAGETSELECTERRO", WSAGETSELECTERRO
, "Error WSAGETSELECTERRO");
700 inscode(d
, ds
, de
, "WSAETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
703 inscode(d
, ds
, de
, "WSAENOBUFS", WSAENOBUFS
, "No buffer space available");
706 inscode(d
, ds
, de
, "WSAEDISCON", WSAEDISCON
, "Error WSAEDISCON");
709 inscode(d
, ds
, de
, "WSAEINTR", WSAEINTR
, "Interrupted system call");
712 inscode(d
, ds
, de
, "WSAEPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
715 inscode(d
, ds
, de
, "WSAHOS", WSAHOS
, "Error WSAHOS");
718 inscode(d
, ds
, de
, "WSAEADDRINUSE", WSAEADDRINUSE
, "Address already in use");
720 #ifdef WSAEADDRNOTAVAIL
721 inscode(d
, ds
, de
, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
724 inscode(d
, ds
, de
, "WSAEALREADY", WSAEALREADY
, "Operation already in progress");
726 #ifdef WSAEPROTONOSUPPORT
727 inscode(d
, ds
, de
, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
729 #ifdef WSASYSNOTREADY
730 inscode(d
, ds
, de
, "WSASYSNOTREADY", WSASYSNOTREADY
, "Error WSASYSNOTREADY");
732 #ifdef WSAEWOULDBLOCK
733 inscode(d
, ds
, de
, "WSAEWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
735 #ifdef WSAEPFNOSUPPORT
736 inscode(d
, ds
, de
, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
739 inscode(d
, ds
, de
, "WSAEOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
742 inscode(d
, ds
, de
, "WSAEISCONN", WSAEISCONN
, "Transport endpoint is already connected");
745 inscode(d
, ds
, de
, "WSAEDQUOT", WSAEDQUOT
, "Quota exceeded");
748 inscode(d
, ds
, de
, "WSAENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
751 inscode(d
, ds
, de
, "WSAEREMOTE", WSAEREMOTE
, "Object is remote");
754 inscode(d
, ds
, de
, "WSAEINVAL", WSAEINVAL
, "Invalid argument");
756 #ifdef WSAEINPROGRESS
757 inscode(d
, ds
, de
, "WSAEINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
759 #ifdef WSAGETSELECTEVEN
760 inscode(d
, ds
, de
, "WSAGETSELECTEVEN", WSAGETSELECTEVEN
, "Error WSAGETSELECTEVEN");
762 #ifdef WSAESOCKTNOSUPPORT
763 inscode(d
, ds
, de
, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
765 #ifdef WSAGETASYNCERRO
766 inscode(d
, ds
, de
, "WSAGETASYNCERRO", WSAGETASYNCERRO
, "Error WSAGETASYNCERRO");
768 #ifdef WSAMAKESELECTREPL
769 inscode(d
, ds
, de
, "WSAMAKESELECTREPL", WSAMAKESELECTREPL
, "Error WSAMAKESELECTREPL");
771 #ifdef WSAGETASYNCBUFLE
772 inscode(d
, ds
, de
, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE
, "Error WSAGETASYNCBUFLE");
774 #ifdef WSAEDESTADDRREQ
775 inscode(d
, ds
, de
, "WSAEDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
777 #ifdef WSAECONNREFUSED
778 inscode(d
, ds
, de
, "WSAECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
781 inscode(d
, ds
, de
, "WSAENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
784 inscode(d
, ds
, de
, "WSAN", WSAN
, "Error WSAN");