Various Changes
[tpg/acess2.git] / Kernel / include / vfs.h
index 209889c..025a526 100644 (file)
@@ -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,12 +79,13 @@ 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;
 
 // === GLOBALS ===
+#define        VFS_MAXSKIP     ((void*)1024)
 #define        VFS_SKIP        ((void*)1)
 #define        VFS_SKIPN(n)    ((void*)(n))
 extern tVFS_Node       NULLNode;
@@ -96,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();

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