Implemented basic disk write support in EXT2.
[tpg/acess2.git] / Kernel / vfs / fs / devfs.c
index 25be490..6ead47e 100644 (file)
@@ -9,15 +9,17 @@
 
 // === PROTOTYPES ===
  int   DevFS_AddDevice(tDevFS_Driver *Dev);
-tVFS_Node      *DevFS_InitDevice(char *Device, char *Options);
+tVFS_Node      *DevFS_InitDevice(char *Device, char **Options);
 char   *DevFS_ReadDir(tVFS_Node *Node, int Pos);
 tVFS_Node      *DevFS_FindDir(tVFS_Node *Node, char *Name);
 
 // === GLOBALS ===
 tVFS_Driver    gDevFS_Info = {
-       "devfs", 0, DevFS_InitDevice, NULL
+       "devfs", 0, DevFS_InitDevice, NULL, NULL
        };
 tVFS_Node      gDevFS_RootNode = {
+       .Size = 0,
+       .Flags = VFS_FFLAG_DIRECTORY,
        .NumACLs = 1,
        .ACLs = &gVFS_ACL_EveryoneRW,
        .ReadDir = DevFS_ReadDir,
@@ -34,16 +36,16 @@ int DevFS_AddDevice(tDevFS_Driver *Dev)
 {
        Dev->Next = gDevFS_Drivers;
        gDevFS_Drivers = Dev;
-       
+       gDevFS_RootNode.Size ++;
        return giDevFS_NextID++;
 }
 
 /**
- * \fn tVFS_Node *DevFS_InitDevice(char *Device, char *Options)
+ * \fn tVFS_Node *DevFS_InitDevice(char *Device, char **Options)
  * \brief Initialise the DevFS and detect double-mounting, or just do nothing
  * \stub
  */
-tVFS_Node *DevFS_InitDevice(char *Device, char *Options)
+tVFS_Node *DevFS_InitDevice(char *Device, char **Options)
 {
        return &gDevFS_RootNode;
 }
@@ -62,7 +64,7 @@ char *DevFS_ReadDir(tVFS_Node *Node, int Pos)
                dev = dev->Next
                );
        
-       return dev->Name;
+       return strdup(dev->Name);
 }
 
 /**

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