diff options
Diffstat (limited to 'src/shared/syscalls.h')
-rw-r--r-- | src/shared/syscalls.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/shared/syscalls.h b/src/shared/syscalls.h index d986d11..8dee783 100644 --- a/src/shared/syscalls.h +++ b/src/shared/syscalls.h @@ -3,6 +3,7 @@ #include <stddef.h> #define FORK_NOREAP 1 +#define FORK_NEWFS 2 enum { // idc about stable syscall numbers just yet @@ -38,9 +39,13 @@ int _syscall_await(void); /** Creates a copy of the current process, and executes it. * All user memory pages get copied too. + * + * @param flags FORK_NOREAP, FORK_NEWFS + * @param fs_front requires FORK_NEWFS. the front handle to the new fs is put there + * * @return 0 in the child, a meaningless positive value in the parent. */ -int _syscall_fork(int flags); +int _syscall_fork(int flags, handle_t __user *fs_front); handle_t _syscall_open(const char __user *path, int len); @@ -49,8 +54,6 @@ int _syscall_read(handle_t h, void __user *buf, size_t len, int offset); int _syscall_write(handle_t h, const void __user *buf, size_t len, int offset); int _syscall_close(handle_t h); -handle_t _syscall_fs_fork2(void); - struct fs_wait_response { enum vfs_operation op; size_t len; // how much was put in *buf |