X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Tools%2FNetTest%2Fvfs_shim.c;h=d2d1d5fe5c45bb3cf3d0ff71816062edb25c1280;hb=07e446727e54a17327b53928ce8582ba10eec619;hp=1b0c686a435e4c4feb5150c713682cfa60150fbc;hpb=7ba570fe3cc5418f42decf5b72ac2295cce9e60f;p=tpg%2Facess2.git diff --git a/Tools/NetTest/vfs_shim.c b/Tools/NetTest/vfs_shim.c index 1b0c686a..d2d1d5fe 100644 --- a/Tools/NetTest/vfs_shim.c +++ b/Tools/NetTest/vfs_shim.c @@ -10,42 +10,9 @@ #include // === CODE === -int VFS_SelectNode(tVFS_Node *Node, int Type, tTime *Timeout, const char *Name) -{ - - return 0; -} - -int VFS_MarkAvaliable(tVFS_Node *Node, BOOL bAvail) -{ - Node->DataAvaliable = bAvail; - if( Node->DataAvaliable && Node->ReadThreads ) - Threads_PostEvent( (void*)Node->ReadThreads, THREAD_EVENT_VFS ); - return 0; -} - -int VFS_MarkError(tVFS_Node *Node, BOOL bError) -{ - Node->ErrorOccurred = bError; - if( Node->ErrorOccurred && Node->ErrorThreads ) - Threads_PostEvent( (void*)Node->ErrorThreads, THREAD_EVENT_VFS ); - return 0; -} - -#if 0 -int VFS_Open(const char *Path, Uint Flags) -{ - return -1; -} - -void VFS_Close(int FD) -{ -} -#endif - int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) { - const int maxfd = *Threads_GetMaxFD(); + const int maxfd = *Threads_GetMaxFD(NULL); tVFS_Handle *handles = *Threads_GetHandlesPtr(); if( !handles ) { handles = calloc( maxfd, sizeof(tVFS_Handle) ); @@ -67,7 +34,7 @@ int VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode) tVFS_Handle *VFS_GetHandle(int FD) { - const int maxfd = *Threads_GetMaxFD(); + const int maxfd = *Threads_GetMaxFD(NULL); tVFS_Handle *handles = *Threads_GetHandlesPtr(); if( !handles ) return NULL; @@ -77,3 +44,18 @@ tVFS_Handle *VFS_GetHandle(int FD) return &handles[FD]; } + +int VFS_SetHandle(int FD, tVFS_Node *Node, int Mode) +{ + const int maxfd = *Threads_GetMaxFD(NULL); + tVFS_Handle *handles = *Threads_GetHandlesPtr(); + if( !handles ) + return -1; + + if( FD < 0 || FD >= maxfd ) + return -1; + + handles[FD].Node = Node; + handles[FD].Mode = Mode; + return FD; +}