1/* $OpenLDAP$ */ 2/* This work is part of OpenLDAP Software <http://www.openldap.org/>. 3 * 4 * Copyright 1998-2011 The OpenLDAP Foundation. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted only as authorized by the OpenLDAP 9 * Public License. 10 * 11 * A copy of this license is available in the file LICENSE in the 12 * top-level directory of the distribution or, alternatively, at 13 * <http://www.OpenLDAP.org/license.html>. 14 */ 15 16#include "portable.h" 17 18#ifdef HAVE_WINSOCK2 19#include <winsock2.h> 20#elif defined(HAVE_WINSOCK) 21#include <winsock.h> 22#endif /* HAVE_WINSOCK(2) */ 23 24#define LBER_RETSTR( x ) case x: return #x; 25 26char *ber_pvt_wsa_err2string( int err ) 27{ 28 switch( err ) { 29 LBER_RETSTR( WSAEINTR ) 30 LBER_RETSTR( WSAEBADF ) 31 LBER_RETSTR( WSAEACCES ) 32 LBER_RETSTR( WSAEFAULT ) 33 LBER_RETSTR( WSAEINVAL ) 34 LBER_RETSTR( WSAEMFILE ) 35 LBER_RETSTR( WSAEWOULDBLOCK ) 36 LBER_RETSTR( WSAEINPROGRESS ) 37 LBER_RETSTR( WSAEALREADY ) 38 LBER_RETSTR( WSAENOTSOCK ) 39 LBER_RETSTR( WSAEDESTADDRREQ ) 40 LBER_RETSTR( WSAEMSGSIZE ) 41 LBER_RETSTR( WSAEPROTOTYPE ) 42 LBER_RETSTR( WSAENOPROTOOPT ) 43 LBER_RETSTR( WSAEPROTONOSUPPORT ) 44 LBER_RETSTR( WSAESOCKTNOSUPPORT ) 45 LBER_RETSTR( WSAEOPNOTSUPP ) 46 LBER_RETSTR( WSAEPFNOSUPPORT ) 47 LBER_RETSTR( WSAEAFNOSUPPORT ) 48 LBER_RETSTR( WSAEADDRINUSE ) 49 LBER_RETSTR( WSAEADDRNOTAVAIL ) 50 LBER_RETSTR( WSAENETDOWN ) 51 LBER_RETSTR( WSAENETUNREACH ) 52 LBER_RETSTR( WSAENETRESET ) 53 LBER_RETSTR( WSAECONNABORTED ) 54 LBER_RETSTR( WSAECONNRESET ) 55 LBER_RETSTR( WSAENOBUFS ) 56 LBER_RETSTR( WSAEISCONN ) 57 LBER_RETSTR( WSAENOTCONN ) 58 LBER_RETSTR( WSAESHUTDOWN ) 59 LBER_RETSTR( WSAETOOMANYREFS ) 60 LBER_RETSTR( WSAETIMEDOUT ) 61 LBER_RETSTR( WSAECONNREFUSED ) 62 LBER_RETSTR( WSAELOOP ) 63 LBER_RETSTR( WSAENAMETOOLONG ) 64 LBER_RETSTR( WSAEHOSTDOWN ) 65 LBER_RETSTR( WSAEHOSTUNREACH ) 66 LBER_RETSTR( WSAENOTEMPTY ) 67 LBER_RETSTR( WSAEPROCLIM ) 68 LBER_RETSTR( WSAEUSERS ) 69 LBER_RETSTR( WSAEDQUOT ) 70 LBER_RETSTR( WSAESTALE ) 71 LBER_RETSTR( WSAEREMOTE ) 72 LBER_RETSTR( WSASYSNOTREADY ) 73 LBER_RETSTR( WSAVERNOTSUPPORTED ) 74 LBER_RETSTR( WSANOTINITIALISED ) 75 LBER_RETSTR( WSAEDISCON ) 76 77#ifdef HAVE_WINSOCK2 78 LBER_RETSTR( WSAENOMORE ) 79 LBER_RETSTR( WSAECANCELLED ) 80 LBER_RETSTR( WSAEINVALIDPROCTABLE ) 81 LBER_RETSTR( WSAEINVALIDPROVIDER ) 82 LBER_RETSTR( WSASYSCALLFAILURE ) 83 LBER_RETSTR( WSASERVICE_NOT_FOUND ) 84 LBER_RETSTR( WSATYPE_NOT_FOUND ) 85 LBER_RETSTR( WSA_E_NO_MORE ) 86 LBER_RETSTR( WSA_E_CANCELLED ) 87 LBER_RETSTR( WSAEREFUSED ) 88#endif /* HAVE_WINSOCK2 */ 89 90 LBER_RETSTR( WSAHOST_NOT_FOUND ) 91 LBER_RETSTR( WSATRY_AGAIN ) 92 LBER_RETSTR( WSANO_RECOVERY ) 93 LBER_RETSTR( WSANO_DATA ) 94 } 95 return "unknown WSA error"; 96} 97