X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fsyscalls.c;h=2d52b7ee6157b3c8a581b7ba8e67382791d4d768;hb=6b2fddb7cfb3f4260565aff3f806d7497cfa3880;hp=f1e08904ecfedac944a2c08c2a2fca58ddb86d3f;hpb=220826af27a1f78cab0f36119f717dfc0bf8cb99;p=tpg%2Facess2.git diff --git a/Kernel/syscalls.c b/Kernel/syscalls.c index f1e08904..2d52b7ee 100644 --- a/Kernel/syscalls.c +++ b/Kernel/syscalls.c @@ -17,6 +17,7 @@ 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 VFS_FInfo(int FD, void *Dest, int MaxACLs); +extern int VFS_GetACL(int FD, void *Dest); extern int Threads_SetName(char *NewName); extern int Threads_GetPID(); extern int Threads_GetTID(); @@ -24,6 +25,7 @@ extern int Threads_GetUID(); extern int Threads_GetGID(); // === CODE === +// TODO: Do sanity checking on arguments, ATM the user can really fuck with the kernel void SyscallHandler(tSyscallRegs *Regs) { Uint64 ret = 0; @@ -144,6 +146,10 @@ void SyscallHandler(tSyscallRegs *Regs) ret = VFS_FInfo( Regs->Arg1, (void*)Regs->Arg2, Regs->Arg3 ); break; + case SYS_GETACL: + ret = VFS_GetACL( Regs->Arg1, (void*)Regs->Arg2 ); + break; + case SYS_READDIR: ret = VFS_ReadDir( Regs->Arg1, (void*)Regs->Arg2 ); break;