Index: /trunk/include/iprt/fs.h
===================================================================
--- /trunk/include/iprt/fs.h	(revision 30280)
+++ /trunk/include/iprt/fs.h	(revision 30281)
@@ -194,4 +194,7 @@
 #define RTFS_FS_TYPE_NTFS              11
 #define RTFS_FS_TYPE_ZFS               12
+#define RTFS_FS_TYPE_XFS               13
+#define RTFS_FS_TYPE_AUTOFS            14
+#define RTFS_FS_TYPE_DEVFS             15
 
 
Index: /trunk/src/VBox/Runtime/r3/posix/fs-posix.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/posix/fs-posix.cpp	(revision 30280)
+++ /trunk/src/VBox/Runtime/r3/posix/fs-posix.cpp	(revision 30281)
@@ -35,4 +35,7 @@
 #ifdef RT_OS_LINUX
 # include <mntent.h>
+#endif
+#ifdef RT_OS_DARWIN
+# include <sys/mount.h>
 #endif
 
@@ -228,4 +231,22 @@
             if (!strcmp("zfs", Stat.st_fstype))
                 *pu32Type = RTFS_FS_TYPE_ZFS;
+#elif defined(RT_OS_DARWIN)
+            struct statfs statfsBuf;
+            if (!statfs(pszNativeFsPath, &statfsBuf))
+            {
+                if (!strcmp("hfs", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_HFS;
+                else if (   !strcmp("fat", statfsBuf.f_fstypename)
+                         || !strcmp("msdos", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_FAT;
+                else if (!strcmp("ntfs", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_NTFS;
+                else if (!strcmp("autofs", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_AUTOFS;
+                else if (!strcmp("devfs", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_DEVFS;
+                else if (!strcmp("nfs", statfsBuf.f_fstypename))
+                    *pu32Type = RTFS_FS_TYPE_NFS;
+            }
 #endif
         }
Index: /trunk/src/VBox/Runtime/testcase/tstRTFsQueries.cpp
===================================================================
--- /trunk/src/VBox/Runtime/testcase/tstRTFsQueries.cpp	(revision 30280)
+++ /trunk/src/VBox/Runtime/testcase/tstRTFsQueries.cpp	(revision 30281)
@@ -99,5 +99,9 @@
                 "cifs",
                 "fat",
-                "ntfs"
+                "ntfs",
+                "zfs",
+                "xfs",
+                "autofs",
+                "devfs"
             };
 
