syscall.c (427B)
1 #include <dat.h> 2 #include <fns.h> 3 4 extern void syscall_asm(); 5 6 void syscall_init() { 7 idt_register(0x80, syscall_asm); 8 } 9 10 int syscall_handler(int num, int arg1, int arg2, 11 int arg3, int arg4, int arg5) { 12 (void)arg4; 13 (void)arg5; 14 switch (num) { 15 case sys_read: 16 return vfs_read(arg1, (void*) arg2, arg3); 17 case sys_write: 18 return vfs_write(arg1, (void*) arg2, arg3); 19 default: 20 return -1; 21 } 22 }