Windows actually has socklen_t, it's just that it is in a special header.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4327 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f904b49..40017c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -118,12 +118,13 @@
include(CheckFunctionExists)
include(CheckTypeSize)
if(WIN32)
- set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
+ set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h ws2tcpip.h)
set(CMAKE_REQUIRED_LIBRARIES ws2_32)
+else()
+ set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
endif()
check_function_exists(inet_aton HAVE_INET_ATON)
check_function_exists(inet_ntop HAVE_INET_NTOP)
-set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
check_type_size(socklen_t SOCKLEN_T)
set(CMAKE_EXTRA_INCLUDE_FILES)
diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
index 04e0895..7e11588 100644
--- a/common/network/TcpSocket.cxx
+++ b/common/network/TcpSocket.cxx
@@ -23,6 +23,7 @@
#ifdef WIN32
//#include <io.h>
#include <winsock2.h>
+#include <ws2tcpip.h>
#define errorNumber WSAGetLastError()
#else
#define errorNumber errno
diff --git a/common/os/net.c b/common/os/net.c
index 5c0ac2d..7bad36c 100644
--- a/common/os/net.c
+++ b/common/os/net.c
@@ -25,6 +25,7 @@
#ifdef WIN32
#include <winsock2.h>
+#include <ws2tcpip.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>