Kernel/debug - Panic to VT for the first nested panic
[tpg/acess2.git] / KernelLand / Modules / Storage / FDDv2 / main.c
index bec157c..f6290d9 100644 (file)
  int   FDD_Install(char **Arguments);
  int   FDD_RegisterFS(void);
 // --- VFS
-char   *FDD_ReadDir(tVFS_Node *Node, int pos);
+ int   FDD_ReadDir(tVFS_Node *Node, int pos, char dest[FILENAME_MAX]);
 tVFS_Node      *FDD_FindDir(tVFS_Node *dirNode, const char *Name);
  int   FDD_IOCtl(tVFS_Node *Node, int ID, void *Data);
-Uint64 FDD_ReadFS(tVFS_Node *node, Uint64 off, Uint64 len, void *buffer);
+size_t FDD_ReadFS(tVFS_Node *node, off_t Offset, size_t Len, void *buffer);
 // --- Helpers
  int   FDD_int_ReadWriteWithinTrack(int Disk, int Track, int bWrite, size_t Offset, size_t Length, void *Buffer);
 
@@ -111,17 +111,16 @@ int FDD_RegisterFS(void)
  * \param Pos  Position
  * \return Heap string of node name
  */
-char *FDD_ReadDir(tVFS_Node *Node, int Pos)
+int FDD_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX])
 {
-       char    ret_tpl[2];
        if(Pos < 0 || Pos > MAX_DISKS )
-               return NULL;
+               return -ENOENT;
        if(gaFDD_Disks[Pos].bValid)
-               return VFS_SKIP;
+               return 1;
        
-       ret_tpl[0] = '0' + Pos;
-       ret_tpl[1] = '\0';
-       return strdup(ret_tpl);
+       Dest[0] = '0' + Pos;
+       Dest[1] = '\0';
+       return 0;
 }
 
 /**
@@ -169,14 +168,14 @@ int FDD_IOCtl(tVFS_Node *Node, int ID, void *Data)
  * \param Buffer       Destination buffer
  * \return Number of bytes read
  */
-Uint64 FDD_ReadFS(tVFS_Node *Node, Uint64 Offset, Uint64 Length, void *Buffer)
+size_t FDD_ReadFS(tVFS_Node *Node, off_t Offset, size_t Length, void *Buffer)
 {
         int    disk = Node->Inode;
         int    track;
         int    rem_len;
        char    *dest = Buffer;
 
-       ENTER("pNode XOffset XLength pBuffer", Node, Offset, Length, Buffer);
+       ENTER("pNode XOffset xLength pBuffer", Node, Offset, Length, Buffer);
 
        if( Offset > Node->Size )       LEAVE_RET('i', 0);
        if( Length > Node->Size )       Length = Node->Size;

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