\r
KERNEL_SRC = ../../KernelLand/Kernel/\r
\r
-KERNEL_OBJ := logging.o adt.o lib.o drvutil.o debug.o\r
+KERNEL_OBJ := logging.o adt.o lib.o drvutil.o debug.o messages.o\r
KERNEL_OBJ += vfs/main.o vfs/open.o vfs/acls.o vfs/io.o vfs/dir.o\r
KERNEL_OBJ += vfs/nodecache.o vfs/mount.o vfs/memfile.o vfs/select.o\r
KERNEL_OBJ += vfs/fs/root.o vfs/fs/devfs.o\r
return *a0;
);
+SYSCALL2(Syscall_SendMessage, "id", int, void *,
+ return Proc_SendMessage(a0, Sizes[1], a1);
+);
+
+SYSCALL2(Syscall_GetMessage, "dd", Uint *, void *,
+ if( Sizes[0] < sizeof(*a0) )
+ return -1;
+ return Proc_GetMessage(a0, a1);
+);
+
const tSyscallHandler caSyscalls[] = {
Syscall_Null,
Syscall_Exit,
Syscall_Sleep,
Syscall_AN_Fork,
- NULL,
- NULL,
+ Syscall_SendMessage,
+ Syscall_GetMessage,
Syscall_select
};
const int ciNumSyscalls = sizeof(caSyscalls)/sizeof(caSyscalls[0]);
ret->Params[retValueCount].Flags = 0;
ret->Params[retValueCount].Length = Request->Params[i].Length;
- LOG("Syscalls", "Ret %i: Type %i, Len %i",
+ LOG("Ret %i: Type %i, Len %i",
i, Request->Params[i].Type, Request->Params[i].Length);
memcpy(inData, returnData[i], Request->Params[i].Length);