Improved VTerm support
[tpg/acess2.git] / Kernel / include / vfs_int.h
1 /* 
2  * Acess Micro - VFS Server Ver 1
3  */
4 #ifndef _VFS_INT_H
5 #define _VFS_INT_H
6
7 #include "vfs.h"
8
9 // === TYPES ===
10 typedef struct sVFS_Mount {
11         struct sVFS_Mount       *Next;
12         char    *MountPoint;
13          int    MountPointLen;
14         char    *Device;
15         char    *Options;
16         tVFS_Driver     *Filesystem;
17         tVFS_Node       *RootNode;
18         char    StrData[];
19 } tVFS_Mount;
20
21 typedef struct sVFS_Handle {
22         tVFS_Node       *Node;
23         tVFS_Mount      *Mount;
24         Uint64  Position;
25         Uint    Mode;
26 } tVFS_Handle;
27
28 typedef struct sVFS_Proc {
29         struct sVFS_Proc        *Next;
30          int    ID;
31          int    CwdLen;
32         Uint    UID, GID;
33         char    *Cwd;
34          int    MaxHandles;
35         tVFS_Handle     Handles[];
36 } tVFS_Proc;
37
38 // === GLOBALS ===
39 extern tVFS_Mount       *gMounts;
40
41 // === PROTOTYPES ===
42 // --- OPEN.C ---
43 extern char     *VFS_GetAbsPath(char *Path);
44 extern tVFS_Node        *VFS_ParsePath(char *Path, char **TruePath);
45 extern tVFS_Handle      *VFS_GetHandle(int FD);
46 // --- ACLS.C ---
47 extern int      VFS_CheckACL(tVFS_Node *Node, Uint Permissions);
48
49 #endif

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