diff -Nur vmhgfs-only.orig/vm_basic_types.h vmhgfs-only/vm_basic_types.h
--- vmhgfs-only.orig/vm_basic_types.h	2008-03-05 23:52:30.000000000 +0100
+++ vmhgfs-only/vm_basic_types.h	2008-04-26 11:53:46.000000000 +0200
@@ -13,6 +13,16 @@
 #ifndef _VM_BASIC_TYPES_H_
 #define _VM_BASIC_TYPES_H_
 
+/*
+ * Since we do some kernel version checks in here, make sure to include
+ * compat_version.h.
+ * <linux/types.h> is needed for uintptr on 2.6.24
+ *
+ * by Alexander Griesser <work@tuxx-home.at>, 2008-03-14
+ */
+#include "compat_version.h"
+#include <linux/types.h>
+
 #define INCLUDE_ALLOW_USERLEVEL
 #define INCLUDE_ALLOW_VMMEXT
 #define INCLUDE_ALLOW_MODULE
@@ -152,17 +162,25 @@
 #      endif
 #   endif
 
-#   ifndef _STDINT_H
-#      ifdef VM_I386
-#         ifdef VM_X86_64
-             typedef uint64    uintptr_t;
-#         else
-             typedef uint32    uintptr_t;
+/*
+ * uintptr_t is defined since 2.6.24, so defining it here will lead to
+ * compile errors.
+ *
+ * by Alexander Griesser <work@tuxx-home.at>, 2008-03-10
+ */
+#   if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
+#      ifndef _STDINT_H
+#         ifdef VM_I386
+#            ifdef VM_X86_64
+                typedef uint64    uintptr_t;
+#            else
+                typedef uint32    uintptr_t;
+#            endif
 #         endif
-#      endif
 
-#      ifdef VM_IA64
-          typedef uint64    uintptr_t;
+#         ifdef VM_IA64
+              typedef uint64    uintptr_t;
+#         endif
 #      endif
 #   endif
 #endif

