+/**
+ */
+enum eVFS_SelectTypes
+{
+ VFS_SELECT_READ,
+ VFS_SELECT_WRITE,
+ VFS_SELECT_ERROR
+};
+
+/**
+ * \brief Wait for an event on a node
+ * \param Node Node to wait on
+ * \param Type Type of wait
+ * \param Timeout Time to wait (NULL for infinite wait)
+ * \param Name Name to show in debug output
+ * \return Number of nodes that actioned (0 or 1)
+ */
+extern int VFS_SelectNode(tVFS_Node *Node, enum eVFS_SelectTypes Type, tTime *Timeout, const char *Name);
+
+/**
+ * \brief Change the full flag on a node
+ */
+extern int VFS_MarkFull(tVFS_Node *Node, BOOL IsBufferFull);
+extern int VFS_MarkAvaliable(tVFS_Node *Node, BOOL IsDataAvaliable);
+extern int VFS_MarkError(tVFS_Node *Node, BOOL IsErrorState);
+