From d789097af0e1f9801ad3eaca5ff6445ce888859f Mon Sep 17 00:00:00 2001
From: Yang Tse <yangsita@gmail.com>
Date: Thu, 22 Nov 2007 16:35:07 +0000
Subject: Provide a socklen_t definition in curl.h for Win32 API build targets
 which don't have one.

---
 include/curl/curl.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

(limited to 'include')

diff --git a/include/curl/curl.h b/include/curl/curl.h
index 79ea49752..83028928a 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -85,6 +85,23 @@ extern "C" {
 
 typedef void CURL;
 
+/*
+ * Windows build targets have socklen_t definition in
+ * ws2tcpip.h but some versions of ws2tcpip.h do not
+ * have the definition. It seems that when the socklen_t
+ * definition is missing from ws2tcpip.h the definition
+ * for INET_ADDRSTRLEN is also missing, and that when one
+ * definition is present the other one also is available.
+ */
+
+#if defined(WIN32) && !defined(HAVE_SOCKLEN_T)
+#  if ( defined(_MSC_VER) && !defined(INET_ADDRSTRLEN) ) || \
+      (!defined(_MSC_VER) && !defined(_WS2TCPIP_H_) && !defined(_WS2TCPIP_H) )
+#    define socklen_t int
+#    define HAVE_SOCKLEN_T
+#  endif
+#endif
+
 /*
  * Decorate exportable functions for Win32 DLL linking.
  * This avoids using a .def file for building libcurl.dll.
-- 
cgit v1.2.3