Implemented syscall dispatch table
[akaros.git] / kern / include / syscall.h
1 #ifndef ROS_KERN_SYSCALL_H
2 #define ROS_KERN_SYSCALL_H
3 #ifndef ROS_KERNEL
4 # error "This is ROS kernel header; user programs should not #include it"
5 #endif
6
7 #include <ros/syscall.h>
8 #include <process.h>
9
10 intreg_t syscall(struct proc *p, uintreg_t num, uintreg_t a1, uintreg_t a2,
11                  uintreg_t a3, uintreg_t a4, uintreg_t a5);
12 intreg_t syscall_async(env_t* e, syscall_req_t *syscall);
13 intreg_t process_generic_syscalls(env_t* e, size_t max);
14
15 intreg_t sys_read(struct proc* p, int fd, void* buf, int len);
16 intreg_t sys_write(struct proc* p, int fd, const void* buf, int len);
17 intreg_t sys_open(struct proc* p, const char* path);
18 intreg_t sys_close(struct proc* p, int fd);
19
20 #endif /* !ROS_KERN_SYSCALL_H */