#include <winsock2.h> | |
#include <windows.h> | |
#include <stdlib.h> | |
#include <stdio.h> | |
#include "event2/event.h" | |
#include "event2/util.h" | |
#include "event2/thread.h" | |
#define E(x) printf (#x " -> \"%s\"\n", evutil_socket_error_to_string (x)); | |
int main (int argc, char **argv) | |
{ | |
int i, j; | |
const char *s1, *s2; | |
#ifdef EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED | |
evthread_use_windows_threads (); | |
#endif | |
s1 = evutil_socket_error_to_string (WSAEINTR); | |
for (i = 0; i < 3; i++) { | |
printf ("\niteration %d:\n\n", i); | |
E(WSAEINTR); | |
E(WSAEACCES); | |
E(WSAEFAULT); | |
E(WSAEINVAL); | |
E(WSAEMFILE); | |
E(WSAEWOULDBLOCK); | |
E(WSAEINPROGRESS); | |
E(WSAEALREADY); | |
E(WSAENOTSOCK); | |
E(WSAEDESTADDRREQ); | |
E(WSAEMSGSIZE); | |
E(WSAEPROTOTYPE); | |
E(WSAENOPROTOOPT); | |
E(WSAEPROTONOSUPPORT); | |
E(WSAESOCKTNOSUPPORT); | |
E(WSAEOPNOTSUPP); | |
E(WSAEPFNOSUPPORT); | |
E(WSAEAFNOSUPPORT); | |
E(WSAEADDRINUSE); | |
E(WSAEADDRNOTAVAIL); | |
E(WSAENETDOWN); | |
E(WSAENETUNREACH); | |
E(WSAENETRESET); | |
E(WSAECONNABORTED); | |
E(WSAECONNRESET); | |
E(WSAENOBUFS); | |
E(WSAEISCONN); | |
E(WSAENOTCONN); | |
E(WSAESHUTDOWN); | |
E(WSAETIMEDOUT); | |
E(WSAECONNREFUSED); | |
E(WSAEHOSTDOWN); | |
E(WSAEHOSTUNREACH); | |
E(WSAEPROCLIM); | |
E(WSASYSNOTREADY); | |
E(WSAVERNOTSUPPORTED); | |
E(WSANOTINITIALISED); | |
E(WSAEDISCON); | |
E(WSATYPE_NOT_FOUND); | |
E(WSAHOST_NOT_FOUND); | |
E(WSATRY_AGAIN); | |
E(WSANO_RECOVERY); | |
E(WSANO_DATA); | |
E(0xdeadbeef); /* test the case where no message is available */ | |
/* fill up the hash table a bit to make sure it grows properly */ | |
for (j = 0; j < 50; j++) { | |
int err; | |
evutil_secure_rng_get_bytes(&err, sizeof(err)); | |
evutil_socket_error_to_string(err); | |
} | |
} | |
s2 = evutil_socket_error_to_string (WSAEINTR); | |
if (s1 != s2) | |
printf ("caching failed!\n"); | |
libevent_global_shutdown (); | |
return EXIT_SUCCESS; | |
} |