openldap/libraries/liblutil/nt_err.c
Howard Chu 17e1877a12 Fix broken MSVC builds. The previous round of Mingw32 patches changed some
ifdefs to depend on _WINNT, which is bogus. Added _WIN32 back on these ifs,
and fixed some other include problems.
1999-10-31 02:26:41 +00:00

114 lines
2.4 KiB
C

/* $OpenLDAP$ */
#include "portable.h"
#include <windows.h>
#ifdef HAVE_WINSOCK2
#include <winsock2.h>
#elif HAVE_WINSOCK
#include <winsock.h>
#endif /* HAVE_WINSOCK(2) */
#define __RETSTR( x ) case x: return #x;
char *WSAGetErrorString( int err )
{
switch( err )
{
__RETSTR( WSAEINTR )
__RETSTR( WSAEBADF )
__RETSTR( WSAEACCES )
__RETSTR( WSAEFAULT )
__RETSTR( WSAEINVAL )
__RETSTR( WSAEMFILE )
__RETSTR( WSAEWOULDBLOCK )
__RETSTR( WSAEINPROGRESS )
__RETSTR( WSAEALREADY )
__RETSTR( WSAENOTSOCK )
__RETSTR( WSAEDESTADDRREQ )
__RETSTR( WSAEMSGSIZE )
__RETSTR( WSAEPROTOTYPE )
__RETSTR( WSAENOPROTOOPT )
__RETSTR( WSAEPROTONOSUPPORT )
__RETSTR( WSAESOCKTNOSUPPORT )
__RETSTR( WSAEOPNOTSUPP )
__RETSTR( WSAEPFNOSUPPORT )
__RETSTR( WSAEAFNOSUPPORT )
__RETSTR( WSAEADDRINUSE )
__RETSTR( WSAEADDRNOTAVAIL )
__RETSTR( WSAENETDOWN )
__RETSTR( WSAENETUNREACH )
__RETSTR( WSAENETRESET )
__RETSTR( WSAECONNABORTED )
__RETSTR( WSAECONNRESET )
__RETSTR( WSAENOBUFS )
__RETSTR( WSAEISCONN )
__RETSTR( WSAENOTCONN )
__RETSTR( WSAESHUTDOWN )
__RETSTR( WSAETOOMANYREFS )
__RETSTR( WSAETIMEDOUT )
__RETSTR( WSAECONNREFUSED )
__RETSTR( WSAELOOP )
__RETSTR( WSAENAMETOOLONG )
__RETSTR( WSAEHOSTDOWN )
__RETSTR( WSAEHOSTUNREACH )
__RETSTR( WSAENOTEMPTY )
__RETSTR( WSAEPROCLIM )
__RETSTR( WSAEUSERS )
__RETSTR( WSAEDQUOT )
__RETSTR( WSAESTALE )
__RETSTR( WSAEREMOTE )
__RETSTR( WSASYSNOTREADY )
__RETSTR( WSAVERNOTSUPPORTED )
__RETSTR( WSANOTINITIALISED )
__RETSTR( WSAEDISCON )
#ifdef HAVE_WINSOCK2
__RETSTR( WSAENOMORE )
__RETSTR( WSAECANCELLED )
__RETSTR( WSAEINVALIDPROCTABLE )
__RETSTR( WSAEINVALIDPROVIDER )
__RETSTR( WSASYSCALLFAILURE )
__RETSTR( WSASERVICE_NOT_FOUND )
__RETSTR( WSATYPE_NOT_FOUND )
__RETSTR( WSA_E_NO_MORE )
__RETSTR( WSA_E_CANCELLED )
__RETSTR( WSAEREFUSED )
#endif // HAVE_WINSOCK2
__RETSTR( WSAHOST_NOT_FOUND )
__RETSTR( WSATRY_AGAIN )
__RETSTR( WSANO_RECOVERY )
__RETSTR( WSANO_DATA )
}
return "unknown";
}
char *WSAGetLastErrorString( void )
{
return WSAGetErrorString( WSAGetLastError() );
}
#undef __RETSTR
char *GetErrorString( int err )
{
static char msgBuf[1024];
FormatMessage(
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
msgBuf, 1024, NULL );
return msgBuf;
}
char *GetLastErrorString( void )
{
return GetErrorString( GetLastError() );
}