X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FDiskTool%2Fsrc%2Fvfs_handles.c;h=4f30151a63b114b651a49ffd6a729ad66e4003ae;hb=48025ef1ac8dd0445bc6a07fbc6c1ac9cb07991e;hp=53c932f138b492e7ed601066961164cd49832253;hpb=3f76cec1a9c81a0ac06f0c64aa34ea7f3de9558a;p=tpg%2Facess2.git diff --git a/Tools/DiskTool/src/vfs_handles.c b/Tools/DiskTool/src/vfs_handles.c index 53c932f1..4f30151a 100644 --- a/Tools/DiskTool/src/vfs_handles.c +++ b/Tools/DiskTool/src/vfs_handles.c @@ -1,10 +1,33 @@ /* * */ +#include +#include #include +#define MAX_KERNEL_FILES 32 + +// === GLOBALS === +tVFS_Handle gaKernelHandles[MAX_KERNEL_FILES]; + // === CODE === +int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) +{ + 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]; }