return closesocket(s);
}
-#if !defined(IPPROTO_IPV6)
+#if !defined(IPPROTO_IPV6) && (_WIN32_WINNT < 0x0600)
#if HAVE_SIN6
#include <tpipv6.h>
#else
# include <winsock2.h>
# include <ws2tcpip.h>
# if SU_HAVE_IN6
-# if defined(IPPROTO_IPV6)
+# if defined(IPPROTO_IPV6) || (_WIN32_WINNT >= 0x0600)
/* case 1: IPv6 defined in winsock2.h/ws2tcpip.h */
# else
/* case 2: try to use "IPv6 Tech Preview" */
#define MSG_NOSIGNAL (0)
#endif
+#if (_WIN32_WINNT >= 0x0600)
+#ifndef HAVE_MSG_TRUNC
+#define HAVE_MSG_TRUNC 1
+#endif
+#endif
+
#if !HAVE_MSG_TRUNC
#define MSG_TRUNC (0)
#endif
n = su_sendto(tp->tp_socket,
"TEST", 4, 0,
- (void *)ai->ai_addr, ai->ai_addrlen);
+ (void *)ai->ai_addr, (socklen_t)ai->ai_addrlen);
if (n != 4)
return;
#define strncasecmp _strnicmp
#define snprintf _snprintf
+
+#ifndef _MSC_VER
+#define vsnprintf _vsnprintf
+#endif
+#if _MSC_VER < 1500
#define vsnprintf _vsnprintf
+#endif
#define srandom(x) srand((x))
#define random() rand()
#define snprintf _snprintf
#endif
#ifndef vsnprintf
-#define vsnprintf _vsnprintf
+#ifndef _MSC_VER
+#define vsnprintf _vsnprintf
+#endif
+#if _MSC_VER < 1500
+#define vsnprintf _vsnprintf
+#endif
#endif
#define srandom(x) srand((x))