4 Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 /* Windows socket errors (WSA*) */
22 * Pull in the system error definitions
25 static PyMethodDef errno_methods
[] = {
29 /* Helper function doing the dictionary inserting */
32 _inscode(PyObject
*d
, PyObject
*de
, char *name
, int code
)
34 PyObject
*u
= PyString_FromString(name
);
35 PyObject
*v
= PyInt_FromLong((long) code
);
37 /* Don't bother checking for errors; they'll be caught at the end
38 * of the module initialization function by the caller of
42 /* insert in modules dict */
43 PyDict_SetItem(d
, u
, v
);
44 /* insert in errorcode dict */
45 PyDict_SetItem(de
, v
, u
);
51 PyDoc_STRVAR(errno__doc__
,
52 "This module makes available standard errno system symbols.\n\
54 The value of each symbol is the corresponding integer value,\n\
55 e.g., on most systems, errno.ENOENT equals the integer 2.\n\
57 The dictionary errno.errorcode maps numeric codes to symbol names,\n\
58 e.g., errno.errorcode[2] could be the string 'ENOENT'.\n\
60 Symbols that are not relevant to the underlying system are not defined.\n\
62 To map error codes to error messages, use the function os.strerror(),\n\
63 e.g. os.strerror(2) could return 'No such file or directory'.");
69 m
= Py_InitModule3("errno", errno_methods
, errno__doc__
);
72 d
= PyModule_GetDict(m
);
74 if (!d
|| !de
|| PyDict_SetItemString(d
, "errorcode", de
) < 0)
77 /* Macro so I don't have to edit each and every line below... */
78 #define inscode(d, ds, de, name, code, comment) _inscode(d, de, name, code)
81 * The names and comments are borrowed from linux/include/errno.h,
82 * which should be pretty all-inclusive
86 inscode(d
, ds
, de
, "ENODEV", ENODEV
, "No such device");
89 inscode(d
, ds
, de
, "ENOCSI", ENOCSI
, "No CSI structure available");
92 inscode(d
, ds
, de
, "EHOSTUNREACH", EHOSTUNREACH
, "No route to host");
94 #ifdef WSAEHOSTUNREACH
95 inscode(d
, ds
, de
, "EHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
99 inscode(d
, ds
, de
, "ENOMSG", ENOMSG
, "No message of desired type");
102 inscode(d
, ds
, de
, "EUCLEAN", EUCLEAN
, "Structure needs cleaning");
105 inscode(d
, ds
, de
, "EL2NSYNC", EL2NSYNC
, "Level 2 not synchronized");
108 inscode(d
, ds
, de
, "EL2HLT", EL2HLT
, "Level 2 halted");
111 inscode(d
, ds
, de
, "ENODATA", ENODATA
, "No data available");
114 inscode(d
, ds
, de
, "ENOTBLK", ENOTBLK
, "Block device required");
117 inscode(d
, ds
, de
, "ENOSYS", ENOSYS
, "Function not implemented");
120 inscode(d
, ds
, de
, "EPIPE", EPIPE
, "Broken pipe");
123 inscode(d
, ds
, de
, "EINVAL", EINVAL
, "Invalid argument");
126 inscode(d
, ds
, de
, "EINVAL", WSAEINVAL
, "Invalid argument");
130 inscode(d
, ds
, de
, "EOVERFLOW", EOVERFLOW
, "Value too large for defined data type");
133 inscode(d
, ds
, de
, "EADV", EADV
, "Advertise error");
136 inscode(d
, ds
, de
, "EINTR", EINTR
, "Interrupted system call");
139 inscode(d
, ds
, de
, "EINTR", WSAEINTR
, "Interrupted system call");
143 inscode(d
, ds
, de
, "EUSERS", EUSERS
, "Too many users");
146 inscode(d
, ds
, de
, "EUSERS", WSAEUSERS
, "Too many users");
150 inscode(d
, ds
, de
, "ENOTEMPTY", ENOTEMPTY
, "Directory not empty");
153 inscode(d
, ds
, de
, "ENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
157 inscode(d
, ds
, de
, "ENOBUFS", ENOBUFS
, "No buffer space available");
160 inscode(d
, ds
, de
, "ENOBUFS", WSAENOBUFS
, "No buffer space available");
164 inscode(d
, ds
, de
, "EPROTO", EPROTO
, "Protocol error");
167 inscode(d
, ds
, de
, "EREMOTE", EREMOTE
, "Object is remote");
170 inscode(d
, ds
, de
, "EREMOTE", WSAEREMOTE
, "Object is remote");
174 inscode(d
, ds
, de
, "ENAVAIL", ENAVAIL
, "No XENIX semaphores available");
177 inscode(d
, ds
, de
, "ECHILD", ECHILD
, "No child processes");
180 inscode(d
, ds
, de
, "ELOOP", ELOOP
, "Too many symbolic links encountered");
183 inscode(d
, ds
, de
, "ELOOP", WSAELOOP
, "Too many symbolic links encountered");
187 inscode(d
, ds
, de
, "EXDEV", EXDEV
, "Cross-device link");
190 inscode(d
, ds
, de
, "E2BIG", E2BIG
, "Arg list too long");
193 inscode(d
, ds
, de
, "ESRCH", ESRCH
, "No such process");
196 inscode(d
, ds
, de
, "EMSGSIZE", EMSGSIZE
, "Message too long");
199 inscode(d
, ds
, de
, "EMSGSIZE", WSAEMSGSIZE
, "Message too long");
203 inscode(d
, ds
, de
, "EAFNOSUPPORT", EAFNOSUPPORT
, "Address family not supported by protocol");
205 #ifdef WSAEAFNOSUPPORT
206 inscode(d
, ds
, de
, "EAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
210 inscode(d
, ds
, de
, "EBADR", EBADR
, "Invalid request descriptor");
213 inscode(d
, ds
, de
, "EHOSTDOWN", EHOSTDOWN
, "Host is down");
216 inscode(d
, ds
, de
, "EHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
220 inscode(d
, ds
, de
, "EPFNOSUPPORT", EPFNOSUPPORT
, "Protocol family not supported");
222 #ifdef WSAEPFNOSUPPORT
223 inscode(d
, ds
, de
, "EPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
227 inscode(d
, ds
, de
, "ENOPROTOOPT", ENOPROTOOPT
, "Protocol not available");
229 #ifdef WSAENOPROTOOPT
230 inscode(d
, ds
, de
, "ENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
234 inscode(d
, ds
, de
, "EBUSY", EBUSY
, "Device or resource busy");
237 inscode(d
, ds
, de
, "EWOULDBLOCK", EWOULDBLOCK
, "Operation would block");
239 #ifdef WSAEWOULDBLOCK
240 inscode(d
, ds
, de
, "EWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
244 inscode(d
, ds
, de
, "EBADFD", EBADFD
, "File descriptor in bad state");
247 inscode(d
, ds
, de
, "EDOTDOT", EDOTDOT
, "RFS specific error");
250 inscode(d
, ds
, de
, "EISCONN", EISCONN
, "Transport endpoint is already connected");
253 inscode(d
, ds
, de
, "EISCONN", WSAEISCONN
, "Transport endpoint is already connected");
257 inscode(d
, ds
, de
, "ENOANO", ENOANO
, "No anode");
260 inscode(d
, ds
, de
, "ESHUTDOWN", ESHUTDOWN
, "Cannot send after transport endpoint shutdown");
263 inscode(d
, ds
, de
, "ESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
267 inscode(d
, ds
, de
, "ECHRNG", ECHRNG
, "Channel number out of range");
270 inscode(d
, ds
, de
, "ELIBBAD", ELIBBAD
, "Accessing a corrupted shared library");
273 inscode(d
, ds
, de
, "ENONET", ENONET
, "Machine is not on the network");
276 inscode(d
, ds
, de
, "EBADE", EBADE
, "Invalid exchange");
279 inscode(d
, ds
, de
, "EBADF", EBADF
, "Bad file number");
282 inscode(d
, ds
, de
, "EBADF", WSAEBADF
, "Bad file number");
286 inscode(d
, ds
, de
, "EMULTIHOP", EMULTIHOP
, "Multihop attempted");
289 inscode(d
, ds
, de
, "EIO", EIO
, "I/O error");
292 inscode(d
, ds
, de
, "EUNATCH", EUNATCH
, "Protocol driver not attached");
295 inscode(d
, ds
, de
, "EPROTOTYPE", EPROTOTYPE
, "Protocol wrong type for socket");
298 inscode(d
, ds
, de
, "EPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
302 inscode(d
, ds
, de
, "ENOSPC", ENOSPC
, "No space left on device");
305 inscode(d
, ds
, de
, "ENOEXEC", ENOEXEC
, "Exec format error");
308 inscode(d
, ds
, de
, "EALREADY", EALREADY
, "Operation already in progress");
311 inscode(d
, ds
, de
, "EALREADY", WSAEALREADY
, "Operation already in progress");
315 inscode(d
, ds
, de
, "ENETDOWN", ENETDOWN
, "Network is down");
318 inscode(d
, ds
, de
, "ENETDOWN", WSAENETDOWN
, "Network is down");
322 inscode(d
, ds
, de
, "ENOTNAM", ENOTNAM
, "Not a XENIX named type file");
325 inscode(d
, ds
, de
, "EACCES", EACCES
, "Permission denied");
328 inscode(d
, ds
, de
, "EACCES", WSAEACCES
, "Permission denied");
332 inscode(d
, ds
, de
, "ELNRNG", ELNRNG
, "Link number out of range");
335 inscode(d
, ds
, de
, "EILSEQ", EILSEQ
, "Illegal byte sequence");
338 inscode(d
, ds
, de
, "ENOTDIR", ENOTDIR
, "Not a directory");
341 inscode(d
, ds
, de
, "ENOTUNIQ", ENOTUNIQ
, "Name not unique on network");
344 inscode(d
, ds
, de
, "EPERM", EPERM
, "Operation not permitted");
347 inscode(d
, ds
, de
, "EDOM", EDOM
, "Math argument out of domain of func");
350 inscode(d
, ds
, de
, "EXFULL", EXFULL
, "Exchange full");
353 inscode(d
, ds
, de
, "ECONNREFUSED", ECONNREFUSED
, "Connection refused");
355 #ifdef WSAECONNREFUSED
356 inscode(d
, ds
, de
, "ECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
360 inscode(d
, ds
, de
, "EISDIR", EISDIR
, "Is a directory");
362 #ifdef EPROTONOSUPPORT
363 inscode(d
, ds
, de
, "EPROTONOSUPPORT", EPROTONOSUPPORT
, "Protocol not supported");
365 #ifdef WSAEPROTONOSUPPORT
366 inscode(d
, ds
, de
, "EPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
370 inscode(d
, ds
, de
, "EROFS", EROFS
, "Read-only file system");
373 inscode(d
, ds
, de
, "EADDRNOTAVAIL", EADDRNOTAVAIL
, "Cannot assign requested address");
375 #ifdef WSAEADDRNOTAVAIL
376 inscode(d
, ds
, de
, "EADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
380 inscode(d
, ds
, de
, "EIDRM", EIDRM
, "Identifier removed");
383 inscode(d
, ds
, de
, "ECOMM", ECOMM
, "Communication error on send");
386 inscode(d
, ds
, de
, "ESRMNT", ESRMNT
, "Srmount error");
389 inscode(d
, ds
, de
, "EREMOTEIO", EREMOTEIO
, "Remote I/O error");
392 inscode(d
, ds
, de
, "EL3RST", EL3RST
, "Level 3 reset");
395 inscode(d
, ds
, de
, "EBADMSG", EBADMSG
, "Not a data message");
398 inscode(d
, ds
, de
, "ENFILE", ENFILE
, "File table overflow");
401 inscode(d
, ds
, de
, "ELIBMAX", ELIBMAX
, "Attempting to link in too many shared libraries");
404 inscode(d
, ds
, de
, "ESPIPE", ESPIPE
, "Illegal seek");
407 inscode(d
, ds
, de
, "ENOLINK", ENOLINK
, "Link has been severed");
410 inscode(d
, ds
, de
, "ENETRESET", ENETRESET
, "Network dropped connection because of reset");
413 inscode(d
, ds
, de
, "ENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
417 inscode(d
, ds
, de
, "ETIMEDOUT", ETIMEDOUT
, "Connection timed out");
420 inscode(d
, ds
, de
, "ETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
424 inscode(d
, ds
, de
, "ENOENT", ENOENT
, "No such file or directory");
427 inscode(d
, ds
, de
, "EEXIST", EEXIST
, "File exists");
430 inscode(d
, ds
, de
, "EDQUOT", EDQUOT
, "Quota exceeded");
433 inscode(d
, ds
, de
, "EDQUOT", WSAEDQUOT
, "Quota exceeded");
437 inscode(d
, ds
, de
, "ENOSTR", ENOSTR
, "Device not a stream");
440 inscode(d
, ds
, de
, "EBADSLT", EBADSLT
, "Invalid slot");
443 inscode(d
, ds
, de
, "EBADRQC", EBADRQC
, "Invalid request code");
446 inscode(d
, ds
, de
, "ELIBACC", ELIBACC
, "Can not access a needed shared library");
449 inscode(d
, ds
, de
, "EFAULT", EFAULT
, "Bad address");
452 inscode(d
, ds
, de
, "EFAULT", WSAEFAULT
, "Bad address");
456 inscode(d
, ds
, de
, "EFBIG", EFBIG
, "File too large");
459 inscode(d
, ds
, de
, "EDEADLK", EDEADLK
, "Resource deadlock would occur");
462 inscode(d
, ds
, de
, "ENOTCONN", ENOTCONN
, "Transport endpoint is not connected");
465 inscode(d
, ds
, de
, "ENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
469 inscode(d
, ds
, de
, "EDESTADDRREQ", EDESTADDRREQ
, "Destination address required");
471 #ifdef WSAEDESTADDRREQ
472 inscode(d
, ds
, de
, "EDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
476 inscode(d
, ds
, de
, "ELIBSCN", ELIBSCN
, ".lib section in a.out corrupted");
479 inscode(d
, ds
, de
, "ENOLCK", ENOLCK
, "No record locks available");
482 inscode(d
, ds
, de
, "EISNAM", EISNAM
, "Is a named type file");
485 inscode(d
, ds
, de
, "ECONNABORTED", ECONNABORTED
, "Software caused connection abort");
487 #ifdef WSAECONNABORTED
488 inscode(d
, ds
, de
, "ECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
492 inscode(d
, ds
, de
, "ENETUNREACH", ENETUNREACH
, "Network is unreachable");
494 #ifdef WSAENETUNREACH
495 inscode(d
, ds
, de
, "ENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
499 inscode(d
, ds
, de
, "ESTALE", ESTALE
, "Stale NFS file handle");
502 inscode(d
, ds
, de
, "ESTALE", WSAESTALE
, "Stale NFS file handle");
506 inscode(d
, ds
, de
, "ENOSR", ENOSR
, "Out of streams resources");
509 inscode(d
, ds
, de
, "ENOMEM", ENOMEM
, "Out of memory");
512 inscode(d
, ds
, de
, "ENOTSOCK", ENOTSOCK
, "Socket operation on non-socket");
515 inscode(d
, ds
, de
, "ENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
519 inscode(d
, ds
, de
, "ESTRPIPE", ESTRPIPE
, "Streams pipe error");
522 inscode(d
, ds
, de
, "EMLINK", EMLINK
, "Too many links");
525 inscode(d
, ds
, de
, "ERANGE", ERANGE
, "Math result not representable");
528 inscode(d
, ds
, de
, "ELIBEXEC", ELIBEXEC
, "Cannot exec a shared library directly");
531 inscode(d
, ds
, de
, "EL3HLT", EL3HLT
, "Level 3 halted");
534 inscode(d
, ds
, de
, "ECONNRESET", ECONNRESET
, "Connection reset by peer");
537 inscode(d
, ds
, de
, "ECONNRESET", WSAECONNRESET
, "Connection reset by peer");
541 inscode(d
, ds
, de
, "EADDRINUSE", EADDRINUSE
, "Address already in use");
544 inscode(d
, ds
, de
, "EADDRINUSE", WSAEADDRINUSE
, "Address already in use");
548 inscode(d
, ds
, de
, "EOPNOTSUPP", EOPNOTSUPP
, "Operation not supported on transport endpoint");
551 inscode(d
, ds
, de
, "EOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
555 inscode(d
, ds
, de
, "EREMCHG", EREMCHG
, "Remote address changed");
558 inscode(d
, ds
, de
, "EAGAIN", EAGAIN
, "Try again");
561 inscode(d
, ds
, de
, "ENAMETOOLONG", ENAMETOOLONG
, "File name too long");
563 #ifdef WSAENAMETOOLONG
564 inscode(d
, ds
, de
, "ENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
568 inscode(d
, ds
, de
, "ENOTTY", ENOTTY
, "Not a typewriter");
571 inscode(d
, ds
, de
, "ERESTART", ERESTART
, "Interrupted system call should be restarted");
573 #ifdef ESOCKTNOSUPPORT
574 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT
, "Socket type not supported");
576 #ifdef WSAESOCKTNOSUPPORT
577 inscode(d
, ds
, de
, "ESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
581 inscode(d
, ds
, de
, "ETIME", ETIME
, "Timer expired");
584 inscode(d
, ds
, de
, "EBFONT", EBFONT
, "Bad font file format");
587 inscode(d
, ds
, de
, "EDEADLOCK", EDEADLOCK
, "Error EDEADLOCK");
590 inscode(d
, ds
, de
, "ETOOMANYREFS", ETOOMANYREFS
, "Too many references: cannot splice");
592 #ifdef WSAETOOMANYREFS
593 inscode(d
, ds
, de
, "ETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
597 inscode(d
, ds
, de
, "EMFILE", EMFILE
, "Too many open files");
600 inscode(d
, ds
, de
, "EMFILE", WSAEMFILE
, "Too many open files");
604 inscode(d
, ds
, de
, "ETXTBSY", ETXTBSY
, "Text file busy");
607 inscode(d
, ds
, de
, "EINPROGRESS", EINPROGRESS
, "Operation now in progress");
609 #ifdef WSAEINPROGRESS
610 inscode(d
, ds
, de
, "EINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
614 inscode(d
, ds
, de
, "ENXIO", ENXIO
, "No such device or address");
617 inscode(d
, ds
, de
, "ENOPKG", ENOPKG
, "Package not installed");
620 inscode(d
, ds
, de
, "WSASY", WSASY
, "Error WSASY");
623 inscode(d
, ds
, de
, "WSAEHOSTDOWN", WSAEHOSTDOWN
, "Host is down");
626 inscode(d
, ds
, de
, "WSAENETDOWN", WSAENETDOWN
, "Network is down");
629 inscode(d
, ds
, de
, "WSAENOTSOCK", WSAENOTSOCK
, "Socket operation on non-socket");
631 #ifdef WSAEHOSTUNREACH
632 inscode(d
, ds
, de
, "WSAEHOSTUNREACH", WSAEHOSTUNREACH
, "No route to host");
635 inscode(d
, ds
, de
, "WSAELOOP", WSAELOOP
, "Too many symbolic links encountered");
638 inscode(d
, ds
, de
, "WSAEMFILE", WSAEMFILE
, "Too many open files");
641 inscode(d
, ds
, de
, "WSAESTALE", WSAESTALE
, "Stale NFS file handle");
643 #ifdef WSAVERNOTSUPPORTED
644 inscode(d
, ds
, de
, "WSAVERNOTSUPPORTED", WSAVERNOTSUPPORTED
, "Error WSAVERNOTSUPPORTED");
646 #ifdef WSAENETUNREACH
647 inscode(d
, ds
, de
, "WSAENETUNREACH", WSAENETUNREACH
, "Network is unreachable");
650 inscode(d
, ds
, de
, "WSAEPROCLIM", WSAEPROCLIM
, "Error WSAEPROCLIM");
653 inscode(d
, ds
, de
, "WSAEFAULT", WSAEFAULT
, "Bad address");
655 #ifdef WSANOTINITIALISED
656 inscode(d
, ds
, de
, "WSANOTINITIALISED", WSANOTINITIALISED
, "Error WSANOTINITIALISED");
659 inscode(d
, ds
, de
, "WSAEUSERS", WSAEUSERS
, "Too many users");
661 #ifdef WSAMAKEASYNCREPL
662 inscode(d
, ds
, de
, "WSAMAKEASYNCREPL", WSAMAKEASYNCREPL
, "Error WSAMAKEASYNCREPL");
664 #ifdef WSAENOPROTOOPT
665 inscode(d
, ds
, de
, "WSAENOPROTOOPT", WSAENOPROTOOPT
, "Protocol not available");
667 #ifdef WSAECONNABORTED
668 inscode(d
, ds
, de
, "WSAECONNABORTED", WSAECONNABORTED
, "Software caused connection abort");
670 #ifdef WSAENAMETOOLONG
671 inscode(d
, ds
, de
, "WSAENAMETOOLONG", WSAENAMETOOLONG
, "File name too long");
674 inscode(d
, ds
, de
, "WSAENOTEMPTY", WSAENOTEMPTY
, "Directory not empty");
677 inscode(d
, ds
, de
, "WSAESHUTDOWN", WSAESHUTDOWN
, "Cannot send after transport endpoint shutdown");
679 #ifdef WSAEAFNOSUPPORT
680 inscode(d
, ds
, de
, "WSAEAFNOSUPPORT", WSAEAFNOSUPPORT
, "Address family not supported by protocol");
682 #ifdef WSAETOOMANYREFS
683 inscode(d
, ds
, de
, "WSAETOOMANYREFS", WSAETOOMANYREFS
, "Too many references: cannot splice");
686 inscode(d
, ds
, de
, "WSAEACCES", WSAEACCES
, "Permission denied");
689 inscode(d
, ds
, de
, "WSATR", WSATR
, "Error WSATR");
692 inscode(d
, ds
, de
, "WSABASEERR", WSABASEERR
, "Error WSABASEERR");
695 inscode(d
, ds
, de
, "WSADESCRIPTIO", WSADESCRIPTIO
, "Error WSADESCRIPTIO");
698 inscode(d
, ds
, de
, "WSAEMSGSIZE", WSAEMSGSIZE
, "Message too long");
701 inscode(d
, ds
, de
, "WSAEBADF", WSAEBADF
, "Bad file number");
704 inscode(d
, ds
, de
, "WSAECONNRESET", WSAECONNRESET
, "Connection reset by peer");
706 #ifdef WSAGETSELECTERRO
707 inscode(d
, ds
, de
, "WSAGETSELECTERRO", WSAGETSELECTERRO
, "Error WSAGETSELECTERRO");
710 inscode(d
, ds
, de
, "WSAETIMEDOUT", WSAETIMEDOUT
, "Connection timed out");
713 inscode(d
, ds
, de
, "WSAENOBUFS", WSAENOBUFS
, "No buffer space available");
716 inscode(d
, ds
, de
, "WSAEDISCON", WSAEDISCON
, "Error WSAEDISCON");
719 inscode(d
, ds
, de
, "WSAEINTR", WSAEINTR
, "Interrupted system call");
722 inscode(d
, ds
, de
, "WSAEPROTOTYPE", WSAEPROTOTYPE
, "Protocol wrong type for socket");
725 inscode(d
, ds
, de
, "WSAHOS", WSAHOS
, "Error WSAHOS");
728 inscode(d
, ds
, de
, "WSAEADDRINUSE", WSAEADDRINUSE
, "Address already in use");
730 #ifdef WSAEADDRNOTAVAIL
731 inscode(d
, ds
, de
, "WSAEADDRNOTAVAIL", WSAEADDRNOTAVAIL
, "Cannot assign requested address");
734 inscode(d
, ds
, de
, "WSAEALREADY", WSAEALREADY
, "Operation already in progress");
736 #ifdef WSAEPROTONOSUPPORT
737 inscode(d
, ds
, de
, "WSAEPROTONOSUPPORT", WSAEPROTONOSUPPORT
, "Protocol not supported");
739 #ifdef WSASYSNOTREADY
740 inscode(d
, ds
, de
, "WSASYSNOTREADY", WSASYSNOTREADY
, "Error WSASYSNOTREADY");
742 #ifdef WSAEWOULDBLOCK
743 inscode(d
, ds
, de
, "WSAEWOULDBLOCK", WSAEWOULDBLOCK
, "Operation would block");
745 #ifdef WSAEPFNOSUPPORT
746 inscode(d
, ds
, de
, "WSAEPFNOSUPPORT", WSAEPFNOSUPPORT
, "Protocol family not supported");
749 inscode(d
, ds
, de
, "WSAEOPNOTSUPP", WSAEOPNOTSUPP
, "Operation not supported on transport endpoint");
752 inscode(d
, ds
, de
, "WSAEISCONN", WSAEISCONN
, "Transport endpoint is already connected");
755 inscode(d
, ds
, de
, "WSAEDQUOT", WSAEDQUOT
, "Quota exceeded");
758 inscode(d
, ds
, de
, "WSAENOTCONN", WSAENOTCONN
, "Transport endpoint is not connected");
761 inscode(d
, ds
, de
, "WSAEREMOTE", WSAEREMOTE
, "Object is remote");
764 inscode(d
, ds
, de
, "WSAEINVAL", WSAEINVAL
, "Invalid argument");
766 #ifdef WSAEINPROGRESS
767 inscode(d
, ds
, de
, "WSAEINPROGRESS", WSAEINPROGRESS
, "Operation now in progress");
769 #ifdef WSAGETSELECTEVEN
770 inscode(d
, ds
, de
, "WSAGETSELECTEVEN", WSAGETSELECTEVEN
, "Error WSAGETSELECTEVEN");
772 #ifdef WSAESOCKTNOSUPPORT
773 inscode(d
, ds
, de
, "WSAESOCKTNOSUPPORT", WSAESOCKTNOSUPPORT
, "Socket type not supported");
775 #ifdef WSAGETASYNCERRO
776 inscode(d
, ds
, de
, "WSAGETASYNCERRO", WSAGETASYNCERRO
, "Error WSAGETASYNCERRO");
778 #ifdef WSAMAKESELECTREPL
779 inscode(d
, ds
, de
, "WSAMAKESELECTREPL", WSAMAKESELECTREPL
, "Error WSAMAKESELECTREPL");
781 #ifdef WSAGETASYNCBUFLE
782 inscode(d
, ds
, de
, "WSAGETASYNCBUFLE", WSAGETASYNCBUFLE
, "Error WSAGETASYNCBUFLE");
784 #ifdef WSAEDESTADDRREQ
785 inscode(d
, ds
, de
, "WSAEDESTADDRREQ", WSAEDESTADDRREQ
, "Destination address required");
787 #ifdef WSAECONNREFUSED
788 inscode(d
, ds
, de
, "WSAECONNREFUSED", WSAECONNREFUSED
, "Connection refused");
791 inscode(d
, ds
, de
, "WSAENETRESET", WSAENETRESET
, "Network dropped connection because of reset");
794 inscode(d
, ds
, de
, "WSAN", WSAN
, "Error WSAN");
797 /* These symbols are added for EDK II support. */
799 inscode(d
, ds
, de
, "EMINERRORVAL", EMINERRORVAL
, "Lowest valid error value");
802 inscode(d
, ds
, de
, "ENOTSUP", ENOTSUP
, "Operation not supported");
805 inscode(d
, ds
, de
, "EBADRPC", EBADRPC
, "RPC struct is bad");
808 inscode(d
, ds
, de
, "ERPCMISMATCH", ERPCMISMATCH
, "RPC version wrong");
811 inscode(d
, ds
, de
, "EPROGUNAVAIL", EPROGUNAVAIL
, "RPC prog. not avail");
814 inscode(d
, ds
, de
, "EPROGMISMATCH", EPROGMISMATCH
, "Program version wrong");
817 inscode(d
, ds
, de
, "EPROCUNAVAIL", EPROCUNAVAIL
, "Bad procedure for program");
820 inscode(d
, ds
, de
, "EFTYPE", EFTYPE
, "Inappropriate file type or format");
823 inscode(d
, ds
, de
, "EAUTH", EAUTH
, "Authentication error");
826 inscode(d
, ds
, de
, "ENEEDAUTH", ENEEDAUTH
, "Need authenticator");
829 inscode(d
, ds
, de
, "ECANCELED", ECANCELED
, "Operation canceled");
832 inscode(d
, ds
, de
, "ENOATTR", ENOATTR
, "Attribute not found");
835 inscode(d
, ds
, de
, "EDOOFUS", EDOOFUS
, "Programming Error");
838 inscode(d
, ds
, de
, "EBUFSIZE", EBUFSIZE
, "Buffer too small to hold result");
841 inscode(d
, ds
, de
, "EMAXERRORVAL", EMAXERRORVAL
, "One more than the highest defined error value");