Windows Sockets Error Codes

The following is a list of possible error codes returned by the WSAGetLastError() call, along with their explanations. The error numbers are consistently set across all Windows Sockets-compliant implementations.

Windows Sockets code
Berkeley equivalent
Error
Interpretation
WSAEINTR
EINTR
10004
As in standard C
WSAEBADF
EBADF
10009
As in standard C
WSEACCES
EACCES
10013
As in standard C
WSAEFAULT
EFAULT
10014
As in standard C
WSAEINVAL
EINVAL
10022
As in standard C
WSAEMFILE
EMFILE
10024
As in standard C
WSAEWOULDBLOCK
EWOULDBLOCK
10035
As in BSD
WSAEINPROGRESS
EINPROGRESS
10036
This error is returned if anyWindows Sockets API function is called while a blocking function is in progress.
WSAEALREADY
EALREADY
10037
As in BSD
WSAENOTSOCK
ENOTSOCK
10038
As in BSD
WSAEDESTADDRREQ
EDESTADDRREQ
10039
As in BSD
WSAEMSGSIZE
EMSGSIZE
10040
As in BSD
WSAEPROTOTYPE
EPROTOTYPE
10041
As in BSD
WSAENOPROTOOPT
ENOPROTOOPT
10042
As in BSD
WSAEPROTONOSUPPORT
EPROTONOSUPPORT
10043
As in BSD
WSAESOCKTNOSUPPORT
ESOCKTNOSUPPORT
10044
As in BSD
WSAEOPNOTSUPP
EOPNOTSUPP
10045
As in BSD
WSAEPFNOSUPPORT
EPFNOSUPPORT
10046
As in BSD
WSAEAFNOSUPPORT
EAFNOSUPPORT
10047
As in BSD
WSAEADDRINUSE
EADDRINUSE
10048
As in BSD
WSAEADDRNOTAVAIL
EADDRNOTAVAIL
10049
As in BSD
WSAENETDOWN
ENETDOWN
10050
As in BSD. This error may be reported at any time if the Windows Sockets implementation detects an underlying failure.
WSAENETUNREACH
ENETUNREACH
10051
As in BSD
WSAENETRESET
ENETRESET
10052
As in BSD
WSAECONNABORTED
ECONNABORTED
10053
As in BSD
WSAECONNRESET
ECONNRESET
10054
As in BSD
WSAENOBUFS
ENOBUFS
10055
As in BSD
WSAEISCONN
EISCONN
10056
As in BSD
WSAENOTCONN
ENOTCONN
10057
As in BSD
WSAESHUTDOWN
ESHUTDOWN
10058
As in BSD
WSAETOOMANYREFS
ETOOMANYREFS
10059
As in BSD
WSAETIMEDOUT
ETIMEDOUT
10060
As in BSD
WSAECONNREFUSED
ECONNREFUSED
10061
As in BSD
WSAELOOP
ELOOP
10062
As in BSD
WSAENAMETOOLONG
ENAMETOOLONG
10063
As in BSD
WSAEHOSTDOWN
EHOSTDOWN
10064
As in BSD
WSAEHOSTUNREACH
EHOSTUNREACH
10065
As in BSD
WSASYSNOTREADY
10091
Returned by WSAStartup() indicating that the network subsystem is unusable.
WSAVERNOTSUPPORTED
10092
Returned by WSAStartup() indicating that the Windows Sockets DLL cannot support this app.
WSANOTINITIALISED
10093
Returned by any function except WSAStartup() indicating that a successful WSAStartup() has not yet been performed.
WSAHOST_NOT_FOUND
HOST_NOT_FOUND
11001
As in BSD.
WSATRY_AGAIN
TRY_AGAIN
11002
As in BSD
WSANO_RECOVERY
NO_RECOVERY
11003
As in BSD
WSANO_DATA
NO_DATA
11004
As in BSD

The error numbers are derived from the winsock.h header file, and are based on the fact that Windows Sockets error numbers are computed by adding 10000 to the "normal" Berkeley error number.

Note that this table does not include all of the error codes defined in winsock.h. This is because it includes only errors which might reasonably be returned by a Windows Sockets implementation: winsock.h, on the other hand, includes a full set of BSD definitions to ensure compatibility with ported software.