Kernel - Working on SYS_COPYFD
[tpg/acess2.git] / KernelLand / Kernel / include / vfs_int.h
index a8eadb6..06ad8da 100644 (file)
@@ -5,6 +5,7 @@
 #define _VFS_INT_H
 
 #include "vfs.h"
+#include <rwlock.h>
 
 // === TYPES ===
 typedef struct sVFS_Mount {
@@ -16,6 +17,9 @@ typedef struct sVFS_Mount {
        char    *Options;
        tVFS_Driver     *Filesystem;
        tVFS_Node       *RootNode;
+       
+        int    OpenHandleCount;
+       
        char    StrData[];
 } tVFS_Mount;
 
@@ -42,9 +46,12 @@ typedef struct sVFS_MMapPage {
 } tVFS_MMapPage;
 
 // === GLOBALS ===
+extern tRWLock         glVFS_MountList;
 extern tVFS_Mount      *gVFS_Mounts;
+extern tVFS_Driver     *gVFS_Drivers;
 
 // === PROTOTYPES ===
+extern void    VFS_Deinit(void);
 // --- open.c ---
 extern char    *VFS_GetAbsPath(const char *Path);
 extern tVFS_Node       *VFS_ParsePath(const char *Path, char **TruePath, tVFS_Mount **MountPoint);
@@ -55,6 +62,9 @@ extern int    VFS_CheckACL(tVFS_Node *Node, Uint Permissions);
 extern tVFS_Mount      *VFS_GetMountByIdent(Uint32 MountID);
 // --- dir.c ---
 extern int     VFS_MkNod(const char *Path, Uint Flags);
+// --- handle.c ---
+extern int     VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode);
+extern int     VFS_SetHandle(int FD, tVFS_Node *Node, int Mode);
 
 
 // --- VFS Helpers ---

UCC git Repository :: git.ucc.asn.au