#define _VFS_INT_H
#include "vfs.h"
+#include <rwlock.h>
// === TYPES ===
typedef struct sVFS_Mount {
char *Options;
tVFS_Driver *Filesystem;
tVFS_Node *RootNode;
+
+ int OpenHandleCount;
+
char StrData[];
} tVFS_Mount;
} 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);
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 ---