Fix compatibility with MSVC
diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
index 0c30e3c..ef81416 100644
--- a/src/libusbmuxd.c
+++ b/src/libusbmuxd.c
@@ -92,6 +92,10 @@
 }
 #endif
 
+#ifdef _MSC_VER
+#define strcasecmp _stricmp
+#endif
+
 #include <plist/plist.h>
 #define PLIST_CLIENT_VERSION_STRING PACKAGE_STRING
 #define PLIST_LIBUSBMUX_VERSION 3
diff --git a/tools/inetcat.c b/tools/inetcat.c
index 1d52341..5db9349 100644
--- a/tools/inetcat.c
+++ b/tools/inetcat.c
@@ -31,15 +31,15 @@
 #include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
-#include <fcntl.h>
 #include <stddef.h>
-#include <unistd.h>
 #include <errno.h>
-#include <getopt.h>
+
 #ifdef _WIN32
 #include <winsock2.h>
 #include <windows.h>
 #else
+#include <fcntl.h>
+#include <unistd.h>
 #include <sys/select.h>
 #include <sys/socket.h>
 #include <sys/un.h>
@@ -47,8 +47,16 @@
 #include <signal.h>
 #endif
 
-#include "usbmuxd.h"
+#ifdef _MSC_VER
+#include <basetsd.h>
+typedef SSIZE_T ssize_t;
+#define STDIN_FILENO  _fileno(stdin)
+#define STDOUT_FILENO _fileno(stdout)
+#endif
+
+#include <getopt.h>
 #include <libimobiledevice-glue/socket.h>
+#include "usbmuxd.h"
 
 static int debug_level = 0;
 
diff --git a/tools/iproxy.c b/tools/iproxy.c
index 1a8e5b8..7427a54 100644
--- a/tools/iproxy.c
+++ b/tools/iproxy.c
@@ -32,20 +32,22 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <fcntl.h>
 #include <stddef.h>
-#include <unistd.h>
 #include <errno.h>
-#include <getopt.h>
+
 #ifdef _WIN32
 #include <winsock2.h>
 #include <windows.h>
 typedef unsigned int socklen_t;
 #else
+#include <fcntl.h>
+#include <unistd.h>
 #include <sys/select.h>
 #include <sys/socket.h>
 #include <signal.h>
 #endif
+
+#include <getopt.h>
 #include <libimobiledevice-glue/socket.h>
 #include <libimobiledevice-glue/thread.h>
 #include "usbmuxd.h"