X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Fmain.c;h=c6525f49e2f389c4902c74c1d0ee03895fc86acc;hb=61cfad415a64c52ca253460231046f47fcb7fb15;hp=f072a285e8f033d47318a6ec948bbde3e4fba3fb;hpb=7d881c2e5fef91a6570e46ef69a5d4a5cf0e8b4d;p=tpg%2Facess2.git diff --git a/Kernel/vfs/main.c b/Kernel/vfs/main.c index f072a285..c6525f49 100644 --- a/Kernel/vfs/main.c +++ b/Kernel/vfs/main.c @@ -13,11 +13,13 @@ extern tVFS_Driver gRootFS_Info; extern tVFS_Driver gDevFS_Info; // === PROTOTYPES === +#if 0 int VFS_Init(void); -char *VFS_GetTruePath(char *Path); +char *VFS_GetTruePath(const char *Path); void VFS_GetMemPath(char *Dest, void *Base, Uint Length); -tVFS_Driver *VFS_GetFSByName(char *Name); +tVFS_Driver *VFS_GetFSByName(const char *Name); int VFS_AddDriver(tVFS_Driver *Info); +#endif void VFS_UpdateDriverFile(void); // === EXPORTS === @@ -50,33 +52,36 @@ int VFS_Init(void) giVFS_DriverFileID = SysFS_RegisterFile("VFS/Drivers", NULL, 0); if( VFS_Mount("root", "/", "rootfs", "") != 0 ) { - Panic("Unable to mount root (Where the **** is rootfs?)"); + Log_KernelPanic("VFS", "Unable to mount root (Where the **** is rootfs?)"); return -1; } VFS_MkDir("/Devices"); VFS_MkDir("/Mount"); VFS_Mount("dev", "/Devices", "devfs", ""); - + + Log_Debug("VFS", "Setting max files"); CFGINT(CFG_VFS_MAXFILES) = 32; return 0; } /** - * \fn char *VFS_GetTruePath(char *Path) + * \fn char *VFS_GetTruePath(const char *Path) * \brief Gets the true path (non-symlink) of a file */ -char *VFS_GetTruePath(char *Path) +char *VFS_GetTruePath(const char *Path) { tVFS_Node *node; char *ret, *tmp; tmp = VFS_GetAbsPath(Path); if(tmp == NULL) return NULL; - node = VFS_ParsePath(tmp, &ret); + //Log(" VFS_GetTruePath: tmp = '%s'", tmp); + node = VFS_ParsePath(tmp, &ret, NULL); free(tmp); + //Log(" VFS_GetTruePath: node=%p, ret='%s'", node, ret); if(!node) return NULL; - if(node->Close) node->Close(node); + if(node->Type->Close) node->Type->Close(node); return ret; } @@ -88,17 +93,17 @@ char *VFS_GetTruePath(char *Path) void VFS_GetMemPath(char *Dest, void *Base, Uint Length) { Dest[0] = '$'; - itoa( &Dest[1], (Uint)Base, 16, BITS/4, '0' ); + itoa( &Dest[1], (tVAddr)Base, 16, BITS/4, '0' ); Dest[BITS/4+1] = ':'; itoa( &Dest[BITS/4+2], Length, 16, BITS/4, '0' ); Dest[BITS/2+2] = '\0'; } /** - * \fn tVFS_Driver *VFS_GetFSByName(char *Name) + * \fn tVFS_Driver *VFS_GetFSByName(const char *Name) * \brief Gets a filesystem structure given a name */ -tVFS_Driver *VFS_GetFSByName(char *Name) +tVFS_Driver *VFS_GetFSByName(const char *Name) { tVFS_Driver *drv = gVFS_Drivers;