155 lines
5.7 KiB
C
155 lines
5.7 KiB
C
|
|
/* strings for winsock error codes.
|
|
* from online references, such as
|
|
* http://aluigi.org/mytoolz/winerr.h
|
|
* http://www.winsock-error.com or
|
|
* http://www.sockets.com/err_lst1.htm
|
|
*/
|
|
|
|
#if !defined(__wsaerr_static)
|
|
#define __wsaerr_static static
|
|
#endif /* static */
|
|
|
|
__wsaerr_static const char *__WSAE_StrError(int32_t err)
|
|
{
|
|
switch(err)
|
|
{
|
|
case 0:
|
|
return "No error";
|
|
case WSAEINTR:
|
|
return "Interrupted system call"; /* 10004 */
|
|
case WSAEBADF:
|
|
return "Bad file number"; /* 10009 */
|
|
case WSAEACCES:
|
|
return "Permission denied"; /* 10013 */
|
|
case WSAEFAULT:
|
|
return "Bad address"; /* 10014 */
|
|
case WSAEINVAL:
|
|
return "Invalid argument (not bind)"; /* 10022 */
|
|
case WSAEMFILE:
|
|
return "Too many open files"; /* 10024 */
|
|
case WSAEWOULDBLOCK:
|
|
return "Operation would block"; /* 10035 */
|
|
case WSAEINPROGRESS:
|
|
return "Operation now in progress"; /* 10036 */
|
|
case WSAEALREADY:
|
|
return "Operation already in progress"; /* 10037 */
|
|
case WSAENOTSOCK:
|
|
return "Socket operation on non-socket"; /* 10038 */
|
|
case WSAEDESTADDRREQ:
|
|
return "Destination address required"; /* 10039 */
|
|
case WSAEMSGSIZE:
|
|
return "Message too long"; /* 10040 */
|
|
case WSAEPROTOTYPE:
|
|
return "Protocol wrong type for socket"; /* 10041 */
|
|
case WSAENOPROTOOPT:
|
|
return "Bad protocol option"; /* 10042 */
|
|
case WSAEPROTONOSUPPORT:
|
|
return "Protocol not supported"; /* 10043 */
|
|
case WSAESOCKTNOSUPPORT:
|
|
return "Socket type not supported"; /* 10044 */
|
|
case WSAEOPNOTSUPP:
|
|
return "Operation not supported on socket"; /* 10045 */
|
|
case WSAEPFNOSUPPORT:
|
|
return "Protocol family not supported"; /* 10046 */
|
|
case WSAEAFNOSUPPORT:
|
|
return "Address family not supported by protocol family"; /* 10047 */
|
|
case WSAEADDRINUSE:
|
|
return "Address already in use"; /* 10048 */
|
|
case WSAEADDRNOTAVAIL:
|
|
return "Can't assign requested address"; /* 10049 */
|
|
case WSAENETDOWN:
|
|
return "Network is down"; /* 10050 */
|
|
case WSAENETUNREACH:
|
|
return "Network is unreachable"; /* 10051 */
|
|
case WSAENETRESET:
|
|
return "Net dropped connection or reset"; /* 10052 */
|
|
case WSAECONNABORTED:
|
|
return "Software caused connection abort"; /* 10053 */
|
|
case WSAECONNRESET:
|
|
return "Connection reset by peer"; /* 10054 */
|
|
case WSAENOBUFS:
|
|
return "No buffer space available"; /* 10055 */
|
|
case WSAEISCONN:
|
|
return "Socket is already connected"; /* 10056 */
|
|
case WSAENOTCONN:
|
|
return "Socket is not connected"; /* 10057 */
|
|
case WSAESHUTDOWN:
|
|
return "Can't send after socket shutdown"; /* 10058 */
|
|
case WSAETOOMANYREFS:
|
|
return "Too many references, can't splice"; /* 10059 */
|
|
case WSAETIMEDOUT:
|
|
return "Connection timed out"; /* 10060 */
|
|
case WSAECONNREFUSED:
|
|
return "Connection refused"; /* 10061 */
|
|
case WSAELOOP:
|
|
return "Too many levels of symbolic links"; /* 10062 */
|
|
case WSAENAMETOOLONG:
|
|
return "File name too long"; /* 10063 */
|
|
case WSAEHOSTDOWN:
|
|
return "Host is down"; /* 10064 */
|
|
case WSAEHOSTUNREACH:
|
|
return "No Route to Host"; /* 10065 */
|
|
case WSAENOTEMPTY:
|
|
return "Directory not empty"; /* 10066 */
|
|
case WSAEPROCLIM:
|
|
return "Too many processes"; /* 10067 */
|
|
case WSAEUSERS:
|
|
return "Too many users"; /* 10068 */
|
|
case WSAEDQUOT:
|
|
return "Disc Quota Exceeded"; /* 10069 */
|
|
case WSAESTALE:
|
|
return "Stale NFS file handle"; /* 10070 */
|
|
case WSAEREMOTE:
|
|
return "Too many levels of remote in path"; /* 10071 */
|
|
case WSAEDISCON:
|
|
return "Graceful shutdown in progress"; /* 10101 */
|
|
|
|
case WSASYSNOTREADY:
|
|
return "Network SubSystem is unavailable"; /* 10091 */
|
|
case WSAVERNOTSUPPORTED:
|
|
return "WINSOCK DLL Version out of range"; /* 10092 */
|
|
case WSANOTINITIALISED:
|
|
return "Successful WSASTARTUP not yet performed"; /* 10093 */
|
|
case WSAHOST_NOT_FOUND:
|
|
return "Authoritative answer: Host not found"; /* 11001 */
|
|
case WSATRY_AGAIN:
|
|
return "Non-Authoritative: Host not found or SERVERFAIL"; /* 11002 */
|
|
case WSANO_RECOVERY:
|
|
return "Non-Recoverable errors, FORMERR, REFUSED, NOTIMP"; /* 11003 */
|
|
case WSANO_DATA:
|
|
return "Valid name, no data record of requested type"; /* 11004 */
|
|
|
|
case WSAENOMORE:
|
|
return "10102: No more results"; /* 10102 */
|
|
case WSAECANCELLED:
|
|
return "10103: Call has been canceled"; /* 10103 */
|
|
case WSAEINVALIDPROCTABLE:
|
|
return "Procedure call table is invalid"; /* 10104 */
|
|
case WSAEINVALIDPROVIDER:
|
|
return "Service provider is invalid"; /* 10105 */
|
|
case WSAEPROVIDERFAILEDINIT:
|
|
return "Service provider failed to initialize"; /* 10106 */
|
|
case WSASYSCALLFAILURE:
|
|
return "System call failure"; /* 10107 */
|
|
case WSASERVICE_NOT_FOUND:
|
|
return "Service not found"; /* 10108 */
|
|
case WSATYPE_NOT_FOUND:
|
|
return "Class type not found"; /* 10109 */
|
|
case WSA_E_NO_MORE:
|
|
return "10110: No more results"; /* 10110 */
|
|
case WSA_E_CANCELLED:
|
|
return "10111: Call was canceled"; /* 10111 */
|
|
case WSAEREFUSED:
|
|
return "Database query was refused"; /* 10112 */
|
|
|
|
default:
|
|
{
|
|
static char _err_unknown[64];
|
|
sprintf(_err_unknown, "Unknown WSAE error (%" PRIi32 ")", err);
|
|
return _err_unknown;
|
|
}
|
|
}
|
|
}
|
|
|