X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fsyscalls.c;h=f930cdd4a33c93b74c9746239e6d6fcf26a32daf;hb=fe2794b4f932c0755674493b6a6da4b60a5c2433;hp=d286d21ddad243e94ac44dd5fd0707e0b4d7c0c4;hpb=3e11c7767641614fbb3fad38fffefa0da9e66919;p=tpg%2Facess2.git diff --git a/Kernel/syscalls.c b/Kernel/syscalls.c index d286d21d..f930cdd4 100644 --- a/Kernel/syscalls.c +++ b/Kernel/syscalls.c @@ -19,18 +19,11 @@ if(!(v)||!Syscall_ValidString((Uint)(v))){ret=-1;err=-EINVAL;break;} // === IMPORTS === -extern int Proc_Clone(Uint *Err, Uint Flags); -extern int Threads_WaitTID(int TID, int *status); -extern Uint Proc_SendMessage(Uint *Err, Uint Dest, Uint Length, void *Data); -extern int Proc_GetMessage(Uint *Err, Uint *Source, void *Buffer); extern int Proc_Execve(char *File, char **ArgV, char **EnvP); extern Uint Binary_Load(char *file, Uint *entryPoint); -extern int Threads_SetName(char *NewName); -extern int Threads_SetUID(Uint *errno, tUID ID); -extern int Threads_SetGID(Uint *errno, tGID ID); -extern int Threads_SetFaultHandler(Uint Handler); // === PROTOTYPES === +void SyscallHandler(tSyscallRegs *Regs); int Syscall_ValidString(Uint Addr); int Syscall_Valid(int Size, Uint Addr); @@ -248,6 +241,8 @@ void SyscallHandler(tSyscallRegs *Regs) // Read Directory case SYS_READDIR: + // TODO: What if the filename is longer? + // Maybe force it to be a 256 byte buffer if( !Syscall_Valid(8, Regs->Arg2) ) { err = -EINVAL; ret = -1; @@ -310,8 +305,10 @@ void SyscallHandler(tSyscallRegs *Regs) // -- Debug //#if DEBUG_BUILD case SYS_DEBUG: - Log((char*)Regs->Arg1, + LogF("Log: [%i] ", Threads_GetTID()); + LogF((char*)Regs->Arg1, Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6); + LogF("\n"); break; //#endif