extern int Threads_SetUID(Uint *errno, tUID ID);
extern tGID Threads_GetGID();
extern int Threads_SetGID(Uint *errno, tGID ID);
+extern int Threads_SetFaultHandler(Uint Handler);
// === PROTOTYPES ===
int Syscall_ValidString(Uint Addr);
// -- Yield current timeslice
case SYS_YIELD: Threads_Yield(); break;
+ // -- Set Error Handler
+ case SYS_SETFAULTHANDLER:
+ Threads_SetFaultHandler(Regs->Arg1);
+ break;
+
// -- Clone the current thread
case SYS_CLONE:
// Call clone system call
break;
case SYS_SEEK:
+ #if BITS == 64
ret = VFS_Seek( Regs->Arg1, Regs->Arg2, Regs->Arg3 );
+ #else
+ ret = VFS_Seek( Regs->Arg1, Regs->Arg2|(((Uint64)Regs->Arg3)<<32), Regs->Arg4 );
+ #endif
break;
case SYS_TELL: