X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fvfs.h;h=025a52629b3ad276f6164cf50baa7ed4e4958b8c;hb=6749674b892a0865abc22f9a6ec9a624ff40a283;hp=cbec140697157c277a55f582d4f8aae3ecd6885b;hpb=f6b468cee21ebf1c9b98efec5315950aa043ead5;p=tpg%2Facess2.git diff --git a/Kernel/include/vfs.h b/Kernel/include/vfs.h index cbec1406..025a5262 100644 --- a/Kernel/include/vfs.h +++ b/Kernel/include/vfs.h @@ -63,7 +63,7 @@ typedef struct sVFS_Node { //! Find an directory entry by name struct sVFS_Node *(*FindDir)(struct sVFS_Node *Node, char *Name); - //! Read from a directory + //! Read from a directory - MUST return a heap address char *(*ReadDir)(struct sVFS_Node *Node, int Pos); //! Create a node in a directory int (*MkNod)(struct sVFS_Node *Node, char *Name, Uint Flags); @@ -79,7 +79,7 @@ typedef struct sVFS_Node { typedef struct sVFS_Driver { char *Name; Uint Flags; - tVFS_Node *(*InitDevice)(char *Device, char *Options); + tVFS_Node *(*InitDevice)(char *Device, char **Options); void (*Unmount)(tVFS_Node *Node); struct sVFS_Driver *Next; } tVFS_Driver; @@ -88,7 +88,6 @@ typedef struct sVFS_Driver { #define VFS_MAXSKIP ((void*)1024) #define VFS_SKIP ((void*)1) #define VFS_SKIPN(n) ((void*)(n)) -#define VFS_FREEPLZ(ptr) ((void*)(((Uint)ptr)|1)) extern tVFS_Node NULLNode; extern tVFS_ACL gVFS_ACL_EveryoneRWX; extern tVFS_ACL gVFS_ACL_EveryoneRW; @@ -98,6 +97,7 @@ extern tVFS_ACL gVFS_ACL_EveryoneRO; // === FUNCTIONS === extern int VFS_AddDriver(tVFS_Driver *Info); extern tVFS_Driver *VFS_GetFSByName(char *Name); +extern tVFS_ACL *VFS_UnixToAcessACL(Uint Mode, Uint Owner, Uint Group); // --- Node Cache -- extern int Inode_GetHandle();