+/**
+ * \brief Opens a file via an open directory
+ * \note The file to open must be a direct child of the parent
+ * \param Errno Error number
+ * \param FD Parent Directory
+ * \param Name Child name
+ * \param Mode Open mode
+ * \return File handle (same as returned from VFS_Open)
+ */
+extern int VFS_OpenChild(Uint *Errno, int FD, const char *Name, Uint Mode);
+
+/**
+ * \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);