Kernel - Implimenting PTYs (untested, unintegrated)
[tpg/acess2.git] / KernelLand / Kernel / include / vfs_int.h
index 232c55e..c2dacd3 100644 (file)
@@ -62,6 +62,9 @@ extern int    VFS_CheckACL(tVFS_Node *Node, Uint Permissions);
 extern tVFS_Mount      *VFS_GetMountByIdent(Uint32 MountID);
 // --- dir.c ---
 extern int     VFS_MkNod(const char *Path, Uint Flags);
+// --- handle.c ---
+extern int     VFS_AllocHandle(int bIsUser, tVFS_Node *Node, int Mode);
+extern int     VFS_SetHandle(int FD, tVFS_Node *Node, int Mode);
 
 
 // --- VFS Helpers ---
@@ -70,6 +73,18 @@ static inline void _CloseNode(tVFS_Node *Node)
        if(Node && Node->Type && Node->Type->Close)
                Node->Type->Close( Node );
 }
+static inline void _ReferenceNode(tVFS_Node *Node)
+{
+       if( !MM_GetPhysAddr(Node->Type) ) {
+               Log_Error("VFS", "Node %p's type is invalid (%p bad pointer) - %P corrupted",
+                       Node, Node->Type, MM_GetPhysAddr(&Node->Type));
+               return ;
+       }
+       if( Node->Type && Node->Type->Reference )
+               Node->Type->Reference( Node );
+       else
+               Node->ReferenceCount ++;
+}
 
 
 #endif

UCC git Repository :: git.ucc.asn.au