diff options
author | Alex Auvolat <alex.auvolat@ens.fr> | 2015-02-24 22:17:10 +0100 |
---|---|---|
committer | Alex Auvolat <alex.auvolat@ens.fr> | 2015-02-24 22:17:10 +0100 |
commit | ca0a318048749d21facd135322c44c78f2d5f1ac (patch) | |
tree | 3ebd06132c5b89dea513f456225941a2cf8da16a /src/lib/include/syscall.h | |
parent | 858f78702424e4c0eb59bf7678e84f7b3a65fde2 (diff) | |
download | kogata-ca0a318048749d21facd135322c44c78f2d5f1ac.tar.gz kogata-ca0a318048749d21facd135322c44c78f2d5f1ac.zip |
Implement fs_subfs (it's simple, really) ; add placeholders for more syscalls
Diffstat (limited to 'src/lib/include/syscall.h')
-rw-r--r-- | src/lib/include/syscall.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/include/syscall.h b/src/lib/include/syscall.h index 991b081..246c84c 100644 --- a/src/lib/include/syscall.h +++ b/src/lib/include/syscall.h @@ -11,6 +11,7 @@ #include <debug.h> typedef int fd_t; +typedef int pid_t; void dbg_print(const char* str); void yield(); @@ -36,6 +37,19 @@ bool stat_open(fd_t file, stat_t *s); int ioctl(fd_t file, int command, void* data); int get_mode(fd_t file); -// more todo +bool make_fs(const char* name, const char* driver, fd_t source, const char* options); +bool fs_add_source(const char* fs, fd_t source, const char* options); +bool fs_subfs(const char* name, const char* orig_fs, const char* root, int ok_modes); +void fs_remove(const char* name); + +pid_t new_proc(); +bool bind_fs(pid_t pid, const char* new_name, const char* fs); +bool bind_subfs(pid_t pid, const char* new_name, const char* fs, const char* root, int ok_modes); +bool bind_fd(pid_t pid, fd_t new_fd, fd_t fd); +bool proc_exec(pid_t pid, const char* file); +bool proc_status(pid_t pid, proc_status_t *s); +bool proc_kill(pid_t pid, proc_status_t *s); +void proc_wait(pid_t pid, proc_status_t *s); +void proc_wait_any(proc_status_t *s); /* vim: set ts=4 sw=4 tw=0 noet :*/ |