X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Fvfs%2Fmain.c;h=b447f04d5efea1e35c2da4d533be69e2218ef6e2;hb=a1b7b0fcbf99e2c53dd6d7ee5961772bf29bdb2b;hp=4722aae5ebfd3203f034df184e397271f2bd2de2;hpb=1e7db40300bc594cf708bb6082a6e05a268da946;p=tpg%2Facess2.git diff --git a/Kernel/vfs/main.c b/Kernel/vfs/main.c index 4722aae5..b447f04d 100644 --- a/Kernel/vfs/main.c +++ b/Kernel/vfs/main.c @@ -2,7 +2,7 @@ * Acess 2 * Virtual File System */ -#include +#include #include #include "vfs.h" #include "vfs_int.h" @@ -13,12 +13,15 @@ extern tVFS_Driver gRootFS_Info; extern tVFS_Driver gDevFS_Info; // === PROTOTYPES === - int VFS_Init(); + int VFS_Init(void); char *VFS_GetTruePath(char *Path); void VFS_GetMemPath(char *Dest, void *Base, Uint Length); tVFS_Driver *VFS_GetFSByName(char *Name); int VFS_AddDriver(tVFS_Driver *Info); -void VFS_UpdateDriverFile(); +void VFS_UpdateDriverFile(void); + +// === EXPORTS === +EXPORT(VFS_AddDriver); // === GLOBALS === tVFS_Node NULLNode = {0}; @@ -32,10 +35,10 @@ char *gsVFS_MountFile = NULL; // === CODE === /** - * \fn int VFS_Init() + * \fn int VFS_Init(void) * \brief Initialises the VFS for use by the kernel and user */ -int VFS_Init() +int VFS_Init(void) { // Core Drivers gVFS_Drivers = &gRootFS_Info; @@ -46,7 +49,10 @@ int VFS_Init() giVFS_MountFileID = SysFS_RegisterFile("VFS/Mounts", NULL, 0); giVFS_DriverFileID = SysFS_RegisterFile("VFS/Drivers", NULL, 0); - VFS_Mount("root", "/", "rootfs", ""); + if( VFS_Mount("root", "/", "rootfs", "") != 0 ) { + Panic("Unable to mount root (Where the **** is rootfs?)"); + return -1; + } VFS_MkDir("/Devices"); VFS_MkDir("/Mount"); VFS_Mount("dev", "/Devices", "devfs", ""); @@ -81,13 +87,11 @@ char *VFS_GetTruePath(char *Path) */ void VFS_GetMemPath(char *Dest, void *Base, Uint Length) { - Log("VFS_GetMemPath: (Base=%p, Length=0x%x, Dest=%p)", Base, Length, Dest); Dest[0] = '$'; itoa( &Dest[1], (Uint)Base, 16, BITS/4, '0' ); Dest[BITS/4+1] = ':'; itoa( &Dest[BITS/4+2], Length, 16, BITS/4, '0' ); - - Log("VFS_GetMemPath: Dest = \"%s\"", Dest); + Dest[BITS/2+2] = '\0'; } /** @@ -100,6 +104,7 @@ tVFS_Driver *VFS_GetFSByName(char *Name) for(;drv;drv=drv->Next) { + Log("strcmp('%s' (%p), '%s') == 0?", drv->Name, drv->Name, Name); if(strcmp(drv->Name, Name) == 0) return drv; } @@ -124,10 +129,10 @@ int VFS_AddDriver(tVFS_Driver *Info) } /** - * \fn void VFS_UpdateDriverFile() + * \fn void VFS_UpdateDriverFile(void) * \brief Updates the driver list file */ -void VFS_UpdateDriverFile() +void VFS_UpdateDriverFile(void) { tVFS_Driver *drv; int len = 0;