ntdll: Fix tape.c compilation on Darwin.
diff --git a/configure b/configure
index 30281cb..5e8852a 100755
--- a/configure
+++ b/configure
@@ -17836,6 +17836,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
@@ -17882,6 +17883,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
@@ -17949,6 +17951,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
@@ -17995,6 +17998,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
@@ -18062,6 +18066,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
@@ -18108,6 +18113,7 @@
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <sys/types.h>
 #ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif
diff --git a/configure.ac b/configure.ac
index d802373..7765266 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1357,7 +1357,8 @@
 
 dnl Check for struct mtget members
 AC_CHECK_MEMBERS([struct mtget.mt_blksiz, struct mtget.mt_gstat, struct mtget.mt_blkno],,,
-[#ifdef HAVE_SYS_MTIO_H
+[#include <sys/types.h>
+#ifdef HAVE_SYS_MTIO_H
 #include <sys/mtio.h>
 #endif])
 
diff --git a/dlls/ntdll/tape.c b/dlls/ntdll/tape.c
index 32f2684..b02e76a 100644
--- a/dlls/ntdll/tape.c
+++ b/dlls/ntdll/tape.c
@@ -344,7 +344,7 @@
  */
 static NTSTATUS TAPE_SetDriveParams( int fd, TAPE_SET_DRIVE_PARAMETERS *data )
 {
-#ifdef HAVE_SYS_MTIO_H
+#if defined(HAVE_SYS_MTIO_H) && defined(MTCOMPRESSION)
     struct mtop cmd;
 
     TRACE( "fd: %d ECC: 0x%02x, compression: 0x%02x padding: 0x%02x\n",
@@ -425,6 +425,7 @@
             cmd.mt_count = -data->Offset.u.LowPart;
         }
         break;
+#if defined(MTFSS) && defined(MTBSS)
     case TAPE_SPACE_SETMARKS:
         if (data->Offset.u.LowPart >= 0) {
             cmd.mt_op = MTFSS;
@@ -435,6 +436,7 @@
             cmd.mt_count = -data->Offset.u.LowPart;
         }
         break;
+#endif
     case TAPE_LOGICAL_BLOCK:
     case TAPE_PSEUDO_LOGICAL_BLOCK:
     case TAPE_SPACE_RELATIVE_BLOCKS: