Usermode/libaxwin4 - Handle demarshal failure
[tpg/acess2.git] / KernelLand / Modules / Filesystems / Ext2 / ext2_common.h
index 1d994dd..d4cdec9 100644 (file)
@@ -2,10 +2,6 @@
  * Acess OS
  * Ext2 Driver Version 1
  */
-/**
- * \file ext2_common.h
- * \brief Second Extended Filesystem Driver
- */
 #ifndef _EXT2_COMMON_H
 #define _EXT2_COMMON_H
 #include <acess.h>
@@ -17,8 +13,9 @@
 // === STRUCTURES ===
 typedef struct {
         int    FD;
-        int    CacheID;
+       tInodeCache     *CacheID;
        tVFS_Node       RootNode;
+       tExt2_Inode     RootInode;
        
        tExt2_SuperBlock        SuperBlock;
        Uint    BlockSize;
@@ -27,6 +24,10 @@ typedef struct {
        tExt2_Group             Groups[];
 } tExt2_Disk;
 
+// === GLOBALS ===
+extern tVFS_NodeType   gExt2_FileType;
+extern tVFS_NodeType   gExt2_DirType;
+
 // === FUNCTIONS ===
 // --- Common ---
 extern void    Ext2_CloseFile(tVFS_Node *Node);
@@ -37,13 +38,18 @@ extern void Ext2_int_DereferenceInode(tExt2_Disk *Disk, Uint32 Inode);
 extern int     Ext2_int_ReadInode(tExt2_Disk *Disk, Uint32 InodeId, tExt2_Inode *Inode);
 extern int     Ext2_int_WriteInode(tExt2_Disk *Disk, Uint32 InodeId, tExt2_Inode *Inode);
 // --- Dir ---
-extern char    *Ext2_ReadDir(tVFS_Node *Node, int Pos);
-extern tVFS_Node       *Ext2_FindDir(tVFS_Node *Node, const char *FileName);
-extern int     Ext2_MkNod(tVFS_Node *Node, const char *Name, Uint Flags);
+extern int     Ext2_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX]);
+extern tVFS_Node       *Ext2_FindDir(tVFS_Node *Node, const char *FileName, Uint Flags);
+extern tVFS_Node       *Ext2_MkNod(tVFS_Node *Node, const char *Name, Uint Mode);
 extern int     Ext2_Link(tVFS_Node *Parent, const char *Name, tVFS_Node *Node);
+extern tVFS_Node       *Ext2_int_CreateNode(tExt2_Disk *Disk, Uint InodeId);
+extern int     Ext2_int_WritebackNode(tExt2_Disk *Disk, tVFS_Node *Node);
 // --- Read ---
-extern size_t  Ext2_Read(tVFS_Node *node, off_t offset, size_t length, void *buffer);
+extern size_t  Ext2_Read(tVFS_Node *node, off_t offset, size_t length, void *buffer, Uint Flags);
 // --- Write ---
-extern size_t  Ext2_Write(tVFS_Node *node, off_t offset, size_t length, const void *buffer);
+extern size_t  Ext2_Write(tVFS_Node *node, off_t offset, size_t length, const void *buffer, Uint Flags);
+extern Uint32  Ext2_int_AllocateBlock(tExt2_Disk *Disk, Uint32 LastBlock);
+extern void    Ext2_int_DeallocateBlock(tExt2_Disk *Disk, Uint32 Block);
+extern int     Ext2_int_AppendBlock(tVFS_Node *Node, tExt2_Inode *Inode, Uint32 Block);
 
 #endif

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