libreadline - Rework of library (less sucky now!)
[tpg/acess2.git] / Kernel / syscalls.c
index d286d21..f930cdd 100644 (file)
        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
        

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