WINDOWS:
Timeout value is a DWORD in milliseconds, address passed to setsockopt() is const char *

LINUX:
Timeout value is a struct timeval, address passed to setsockopt() is const void *