Not everyone has <unistd.h>, some files need <io.h> too (msvc).

diff --git a/libs/port/pread.c b/libs/port/pread.c
index 81f219d..97512cc 100644
--- a/libs/port/pread.c
+++ b/libs/port/pread.c
@@ -22,9 +22,14 @@
 #include "wine/port.h"
 
 #include <errno.h>
+#include <stdio.h>
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
+
 
 /* FIXME: this is not thread-safe */
 
diff --git a/libs/port/pwrite.c b/libs/port/pwrite.c
index 3fa8672..0fd5233 100644
--- a/libs/port/pwrite.c
+++ b/libs/port/pwrite.c
@@ -22,9 +22,13 @@
 #include "wine/port.h"
 
 #include <errno.h>
+#include <stdio.h>
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
 
 /* FIXME: this is not thread-safe */
 
diff --git a/libs/wpp/preproc.c b/libs/wpp/preproc.c
index 6c2f4d68..703faf0 100644
--- a/libs/wpp/preproc.c
+++ b/libs/wpp/preproc.c
@@ -28,6 +28,9 @@
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif
+#ifdef HAVE_IO_H
+# include <io.h>
+#endif
 
 #include "wpp_private.h"
 
diff --git a/programs/wineconsole/curses.c b/programs/wineconsole/curses.c
index 0f32d93..a5c3acd 100644
--- a/programs/wineconsole/curses.c
+++ b/programs/wineconsole/curses.c
@@ -42,7 +42,9 @@
 #include <ncurses.h>
 #endif
 #undef KEY_EVENT  /* avoid redefinition warning */
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
 #include <windef.h>
 #include <winbase.h>
 #include <winnls.h>
diff --git a/programs/winedbg/ext_debugger.c b/programs/winedbg/ext_debugger.c
index 6c913b0..a65485d 100644
--- a/programs/winedbg/ext_debugger.c
+++ b/programs/winedbg/ext_debugger.c
@@ -21,7 +21,9 @@
 #include "config.h"
 #include "wine/port.h"
 
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 #include <errno.h>
 #include <stdlib.h>
 #include <stdio.h>
diff --git a/programs/winedbg/gdbproxy.c b/programs/winedbg/gdbproxy.c
index 54254df..c9b95ad 100644
--- a/programs/winedbg/gdbproxy.c
+++ b/programs/winedbg/gdbproxy.c
@@ -41,7 +41,9 @@
 #endif
 #include <netinet/in.h>
 #include <netinet/tcp.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 
 #include "windef.h"
 #include "winbase.h"
diff --git a/programs/winedbg/msc.c b/programs/winedbg/msc.c
index ed7781a..8b074f5 100644
--- a/programs/winedbg/msc.c
+++ b/programs/winedbg/msc.c
@@ -33,7 +33,9 @@
 #include <stdlib.h>
 
 #include <string.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 #ifndef PATH_MAX
 #define PATH_MAX MAX_PATH
 #endif
diff --git a/programs/winedbg/source.c b/programs/winedbg/source.c
index 4b72975..559bc5f 100644
--- a/programs/winedbg/source.c
+++ b/programs/winedbg/source.c
@@ -30,7 +30,9 @@
 #include <sys/stat.h>
 #include <limits.h>
 #include <string.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 #ifndef PATH_MAX
 #define PATH_MAX MAX_PATH
 #endif
diff --git a/programs/winedbg/stabs.c b/programs/winedbg/stabs.c
index 52822e9..b4a69c3 100644
--- a/programs/winedbg/stabs.c
+++ b/programs/winedbg/stabs.c
@@ -42,7 +42,9 @@
 #include <limits.h>
 #include <stdlib.h>
 #include <string.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 #include <stdio.h>
 #ifndef PATH_MAX
 #define PATH_MAX MAX_PATH
diff --git a/programs/winedbg/types.c b/programs/winedbg/types.c
index d816110..2eb2ddd 100644
--- a/programs/winedbg/types.c
+++ b/programs/winedbg/types.c
@@ -29,7 +29,9 @@
 #include <sys/stat.h>
 #include <limits.h>
 #include <string.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 
 #include "debugger.h"