+/**
+ * \brief Mounts a filesystem
+ * \param Device Device to mount
+ * \param MountPoint Location to mount
+ * \param Filesystem Filesystem to use
+ * \param Options Options string to pass the driver
+ * \return 1 on succes, -1 on error
+ */
+extern int VFS_Mount(const char *Device, const char *MountPoint, const char *Filesystem, const char *Options);
+/**
+ * \brief Create a new directory
+ * \param Path Path to new directory (absolute or relative)
+ * \return Boolean success
+ * \note The parent of the directory must exist
+ */
+extern int VFS_MkDir(const char *Path);
+/**
+ * \brief Create a symbolic link
+ * \param Name Name of the symbolic link
+ * \param Link File the symlink points to
+ * \return Boolean success (\a Link is not tested for existence)
+ */
+extern int VFS_Symlink(const char *Name, const char *Link);
+/**
+ * \brief Read from a directory
+ * \param FD File handle returned by ::VFS_Open
+ * \param Dest Destination array for the file name (max 255 bytes)
+ * \return Boolean Success
+ */
+extern int VFS_ReadDir(int FD, char *Dest);
+/**
+ * \brief Wait for an aciton on a file descriptor
+ * \param MaxHandle Maximum set handle in \a *Handles
+ * \param ReadHandles Handles to wait for data on
+ * \param WriteHandles Handles to wait to write to
+ * \param ErrHandles Handle to wait for errors on
+ * \param Timeout Timeout for select() (if null, there is no timeout), if zero select() is non blocking
+ * \param IsKernel Use kernel handles as opposed to user handles
+ * \return Number of handles that actioned
+ */
+extern int VFS_Select(int MaxHandle, fd_set *ReadHandles, fd_set *WriteHandles, fd_set *ErrHandles, tTime *Timeout, BOOL IsKernel);
+
+/**
+ * \brief Map a file into memory
+ * \param DestHint Suggested place for read data
+ * \param Length Size of area to map
+ * \param Protection Protection type (see `man mmap`)
+ * \param Flags Mapping flags
+ * \param FD File descriptor to load from
+ * \param Offset Start of region
+ */
+extern void *VFS_MMap(void *DestHint, size_t Length, int Protection, int Flags, int FD, Uint64 Offset);
+
+/**
+ * \brief Unmap memory allocated by VFS_MMap
+ * \param ErrNo Error status pointer
+ * \param Addr Address of data to unmap
+ * \param Length Length of data
+ */
+extern int VFS_MUnmap(void *Addr, size_t Length);