X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Fvfs_int.h;h=06ad8dabf836cbe23cd701c386782f6a192429b8;hb=b60e6b273c3ecb1614d937bf9448033e9d339e83;hp=a8eadb6de40bc67b907f11929c94c982b546b907;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/vfs_int.h b/KernelLand/Kernel/include/vfs_int.h index a8eadb6d..06ad8dab 100644 --- a/KernelLand/Kernel/include/vfs_int.h +++ b/KernelLand/Kernel/include/vfs_int.h @@ -5,6 +5,7 @@ #define _VFS_INT_H #include "vfs.h" +#include // === 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 ---