#include <netdb.h>
#endif
+#ifdef HAVE_WINSOCK2_H
+/* Windows XP+ only -- older versions lack getaddrinfo() etc. */
+# define _WIN32_WINNT 0x0501
+# include <winsock2.h>
+#endif
+
+#ifdef HAVE_WS2TCPIP_H
+# include <ws2tcpip.h>
+#endif
+
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#endif
#ifndef HAVE_GETTIMEOFDAY
+struct timezone;
extern int gettimeofday(struct timeval * tv, struct timezone * tz);
#endif
+#ifndef HAVE_GETLOCALTIME_R
+extern struct tm *localtime_r(const time_t *timep, struct tm *result);
+#endif
+
#ifndef HAVE_MEMCPY
/* this should use size_t, but some systems don't define it */
extern void * memcpy(void * dest, void const * src, unsigned long n);
#endif
+#ifndef HAVE_GAI_STRERROR
+const char *gai_strerror(int errcode);
+#endif
+
+#ifndef EINPROGRESS
+# ifdef WSAEINPROGRESS
+# define EINPROGRESS WSAEINPROGRESS
+# define EHOSTUNREACH WSAEHOSTUNREACH
+# define ECONNREFUSED WSAECONNREFUSED
+# define ECONNRESET WSAECONNRESET
+# define ETIMEDOUT WSAETIMEDOUT
+# endif
+#endif
+
+#ifndef SIGCHLD
+# define SIGCHLD SIGCLD
+#endif
+
#endif /* COMPAT_H */