1use crate::arch::Trapframe;
16use crate::fs::syscall::{sys_close, sys_lseek, sys_open, sys_read, sys_write};
17use crate::task::syscall::{sys_brk, sys_clone, sys_execve, sys_execve_abi, sys_exit, sys_getchar, sys_getpid, sys_getppid, sys_putchar, sys_sbrk, sys_waitpid};
18
19#[macro_use]
20mod macros;
21
22syscall_table! {
23 Invalid = 0 => |_: &mut Trapframe| {
24 0
25 },
26 Exit = 1 => sys_exit,
27 Clone = 2 => sys_clone,
28 Execve = 3 => sys_execve,
29 ExecveABI = 4 => sys_execve_abi,
30 Waitpid = 5 => sys_waitpid,
31 Getpid = 7 => sys_getpid,
32 Getppid = 8 => sys_getppid,
33 Brk = 12 => sys_brk,
34 Sbrk = 13 => sys_sbrk,
35 Putchar = 16 => sys_putchar,
37 Getchar = 17 => sys_getchar,
38 Open = 20 => sys_open,
40 Close = 21 => sys_close,
41 Read = 22 => sys_read,
42 Write = 23 => sys_write,
43 Lseek = 24 => sys_lseek,
44}