summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvncserver/httpd.c9
-rw-r--r--libvncserver/rfbserver.c2
-rw-r--r--libvncserver/sockets.c5
-rw-r--r--rfb/rfbclient.h4
4 files changed, 19 insertions, 1 deletions
diff --git a/libvncserver/httpd.c b/libvncserver/httpd.c
index 5bac9f9..12d71a8 100644
--- a/libvncserver/httpd.c
+++ b/libvncserver/httpd.c
@@ -43,8 +43,15 @@
#include <errno.h>
#ifdef WIN32
-#include <winsock.h>
+#include <io.h>
+#include <winsock2.h>
+#include <ws2tcpip.h>
#define close closesocket
+#if defined(_MSC_VER)
+#include <BaseTsd.h> /* For the missing ssize_t */
+#define ssize_t SSIZE_T
+#define read _read /* Prevent POSIX deprecation warnings */
+#endif
#else
#ifdef LIBVNCSERVER_HAVE_SYS_TIME_H
#include <sys/time.h>
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index e87fa42..abe2475 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -43,6 +43,8 @@
#endif
#ifdef WIN32
+#include <winsock2.h>
+#include <ws2tcpip.h>
#include <io.h>
#define write(sock,buf,len) send(sock,buf,len,0)
#else
diff --git a/libvncserver/sockets.c b/libvncserver/sockets.c
index 31dddd6..a7a829a 100644
--- a/libvncserver/sockets.c
+++ b/libvncserver/sockets.c
@@ -98,6 +98,8 @@ int deny_severity=LOG_WARNING;
#endif
#if defined(WIN32)
+#include <winsock2.h>
+#include <ws2tcpip.h>
#ifndef __MINGW32__
#pragma warning (disable: 4018 4761)
#endif
@@ -110,6 +112,9 @@ int deny_severity=LOG_WARNING;
#endif
#ifdef _MSC_VER
+#define SHUT_RD 0x00
+#define SHUT_WR 0x01
+#define SHUT_RDWR 0x02
#define snprintf _snprintf /* Missing in MSVC */
#endif
diff --git a/rfb/rfbclient.h b/rfb/rfbclient.h
index 9ac3c37..aedb4f4 100644
--- a/rfb/rfbclient.h
+++ b/rfb/rfbclient.h
@@ -31,6 +31,10 @@
* @file rfbclient.h
*/
+#ifdef WIN32
+#define WIN32_LEAN_AND_MEAN /* Prevent loading any Winsock 1.x headers from windows.h */
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>