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