| 1 | #include <stdlib.h> |
| 2 | |
| 3 | struct timespec; |
| 4 | |
| 5 | void sys_cacheflush(const void *start_addr, const void *end_addr); |
| 6 | |
| 7 | long g_syscall(long number, ...); |
| 8 | |
| 9 | // arg6 is func ptr, for convenience |
| 10 | long g_clone(unsigned long flags, void *child_stack, ...); |
| 11 | |
| 12 | long g_syscall_error(long kret); |
| 13 | |
| 14 | // raw - no errno handling |
| 15 | long g_open_raw(const char *pathname, int flags, ...); |
| 16 | long g_read_raw(int fd, void *buf, size_t count); |
| 17 | long g_write_raw(int fd, const void *buf, size_t count); |
| 18 | long g_mmap2_raw(void *addr, size_t length, int prot, int flags, |
| 19 | int fd, off_t offset); |
| 20 | long g_munmap_raw(void *addr, size_t length); |
| 21 | long g_ioctl_raw(int fd, unsigned long request, ...); |
| 22 | long g_close_raw(int fd); |
| 23 | long g_chdir_raw(const char *path); |
| 24 | long g_mkdir_raw(const char *pathname, unsigned int mode); |
| 25 | long g_futex_raw(int *uaddr, int op, int val, |
| 26 | const struct timespec *timeout); |
| 27 | long g_nanosleep_raw(const struct timespec *req, struct timespec *rem); |
| 28 | long g_readlink_raw(const char *pathname, char *buf, size_t bufsiz); |
| 29 | long g_execve_raw(const char *filename, char * const argv[], |
| 30 | char * const envp[]); |
| 31 | long g_clock_gettime_raw(int clk_id, const struct timespec *tp); |
| 32 | long g_rt_sigprocmask_raw(int how, const void *set, void *oldset, |
| 33 | size_t sigsetsize); |
| 34 | long __attribute__((noreturn)) |
| 35 | g_exit_group_raw(int status); |
| 36 | |