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