1*b50261e2SCy Schubert #include <winsock2.h> 2*b50261e2SCy Schubert #include <windows.h> 3*b50261e2SCy Schubert 4*b50261e2SCy Schubert #include <stdlib.h> 5*b50261e2SCy Schubert #include <stdio.h> 6*b50261e2SCy Schubert 7*b50261e2SCy Schubert #include "event2/event.h" 8*b50261e2SCy Schubert #include "event2/util.h" 9*b50261e2SCy Schubert #include "event2/thread.h" 10*b50261e2SCy Schubert 11*b50261e2SCy Schubert #define E(x) printf (#x " -> \"%s\"\n", evutil_socket_error_to_string (x)); 12*b50261e2SCy Schubert main(int argc,char ** argv)13*b50261e2SCy Schubertint main (int argc, char **argv) 14*b50261e2SCy Schubert { 15*b50261e2SCy Schubert int i, j; 16*b50261e2SCy Schubert const char *s1, *s2; 17*b50261e2SCy Schubert 18*b50261e2SCy Schubert #ifdef EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED 19*b50261e2SCy Schubert evthread_use_windows_threads (); 20*b50261e2SCy Schubert #endif 21*b50261e2SCy Schubert 22*b50261e2SCy Schubert s1 = evutil_socket_error_to_string (WSAEINTR); 23*b50261e2SCy Schubert 24*b50261e2SCy Schubert for (i = 0; i < 3; i++) { 25*b50261e2SCy Schubert printf ("\niteration %d:\n\n", i); 26*b50261e2SCy Schubert E(WSAEINTR); 27*b50261e2SCy Schubert E(WSAEACCES); 28*b50261e2SCy Schubert E(WSAEFAULT); 29*b50261e2SCy Schubert E(WSAEINVAL); 30*b50261e2SCy Schubert E(WSAEMFILE); 31*b50261e2SCy Schubert E(WSAEWOULDBLOCK); 32*b50261e2SCy Schubert E(WSAEINPROGRESS); 33*b50261e2SCy Schubert E(WSAEALREADY); 34*b50261e2SCy Schubert E(WSAENOTSOCK); 35*b50261e2SCy Schubert E(WSAEDESTADDRREQ); 36*b50261e2SCy Schubert E(WSAEMSGSIZE); 37*b50261e2SCy Schubert E(WSAEPROTOTYPE); 38*b50261e2SCy Schubert E(WSAENOPROTOOPT); 39*b50261e2SCy Schubert E(WSAEPROTONOSUPPORT); 40*b50261e2SCy Schubert E(WSAESOCKTNOSUPPORT); 41*b50261e2SCy Schubert E(WSAEOPNOTSUPP); 42*b50261e2SCy Schubert E(WSAEPFNOSUPPORT); 43*b50261e2SCy Schubert E(WSAEAFNOSUPPORT); 44*b50261e2SCy Schubert E(WSAEADDRINUSE); 45*b50261e2SCy Schubert E(WSAEADDRNOTAVAIL); 46*b50261e2SCy Schubert E(WSAENETDOWN); 47*b50261e2SCy Schubert E(WSAENETUNREACH); 48*b50261e2SCy Schubert E(WSAENETRESET); 49*b50261e2SCy Schubert E(WSAECONNABORTED); 50*b50261e2SCy Schubert E(WSAECONNRESET); 51*b50261e2SCy Schubert E(WSAENOBUFS); 52*b50261e2SCy Schubert E(WSAEISCONN); 53*b50261e2SCy Schubert E(WSAENOTCONN); 54*b50261e2SCy Schubert E(WSAESHUTDOWN); 55*b50261e2SCy Schubert E(WSAETIMEDOUT); 56*b50261e2SCy Schubert E(WSAECONNREFUSED); 57*b50261e2SCy Schubert E(WSAEHOSTDOWN); 58*b50261e2SCy Schubert E(WSAEHOSTUNREACH); 59*b50261e2SCy Schubert E(WSAEPROCLIM); 60*b50261e2SCy Schubert E(WSASYSNOTREADY); 61*b50261e2SCy Schubert E(WSAVERNOTSUPPORTED); 62*b50261e2SCy Schubert E(WSANOTINITIALISED); 63*b50261e2SCy Schubert E(WSAEDISCON); 64*b50261e2SCy Schubert E(WSATYPE_NOT_FOUND); 65*b50261e2SCy Schubert E(WSAHOST_NOT_FOUND); 66*b50261e2SCy Schubert E(WSATRY_AGAIN); 67*b50261e2SCy Schubert E(WSANO_RECOVERY); 68*b50261e2SCy Schubert E(WSANO_DATA); 69*b50261e2SCy Schubert E(0xdeadbeef); /* test the case where no message is available */ 70*b50261e2SCy Schubert 71*b50261e2SCy Schubert /* fill up the hash table a bit to make sure it grows properly */ 72*b50261e2SCy Schubert for (j = 0; j < 50; j++) { 73*b50261e2SCy Schubert int err; 74*b50261e2SCy Schubert evutil_secure_rng_get_bytes(&err, sizeof(err)); 75*b50261e2SCy Schubert evutil_socket_error_to_string(err); 76*b50261e2SCy Schubert } 77*b50261e2SCy Schubert } 78*b50261e2SCy Schubert 79*b50261e2SCy Schubert s2 = evutil_socket_error_to_string (WSAEINTR); 80*b50261e2SCy Schubert if (s1 != s2) 81*b50261e2SCy Schubert printf ("caching failed!\n"); 82*b50261e2SCy Schubert 83*b50261e2SCy Schubert libevent_global_shutdown (); 84*b50261e2SCy Schubert 85*b50261e2SCy Schubert return EXIT_SUCCESS; 86*b50261e2SCy Schubert } 87