X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FDiskTool%2Fsrc%2Fvfs_handles.c;h=4f30151a63b114b651a49ffd6a729ad66e4003ae;hb=d0b4559f2936f6d9f06be0f7c3c51527a480ec0d;hp=42fa659be65f7b401b7db487822050cacc73bb7d;hpb=3c8d22936a7f2e3664b760a588317985404ee93c;p=tpg%2Facess2.git diff --git a/Tools/DiskTool/src/vfs_handles.c b/Tools/DiskTool/src/vfs_handles.c index 42fa659b..4f30151a 100644 --- a/Tools/DiskTool/src/vfs_handles.c +++ b/Tools/DiskTool/src/vfs_handles.c @@ -1,15 +1,33 @@ /* * */ +#include +#include #include +#define MAX_KERNEL_FILES 32 + +// === GLOBALS === +tVFS_Handle gaKernelHandles[MAX_KERNEL_FILES]; + // === CODE === -int VFS_AllocHandle(int bKernel) +int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) { - return 0; + for( int i = 0; i < MAX_KERNEL_FILES; i ++ ) + { + if(gaKernelHandles[i].Node) continue; + gaKernelHandles[i].Node = Node; + gaKernelHandles[i].Position = 0; + gaKernelHandles[i].Mode = Mode; + return i; + } + + return -1; } tVFS_Handle *VFS_GetHandle(int ID) { - return NULL; + if( ID < 0 || ID >= MAX_KERNEL_FILES ) + return NULL; + return &gaKernelHandles[ID]; }