//! 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);
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;
// === 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();