aboutsummaryrefslogtreecommitdiff
path: root/src/lib/include
diff options
context:
space:
mode:
authorAlex Auvolat <alex.auvolat@ens.fr>2015-02-24 22:17:10 +0100
committerAlex Auvolat <alex.auvolat@ens.fr>2015-02-24 22:17:10 +0100
commitca0a318048749d21facd135322c44c78f2d5f1ac (patch)
tree3ebd06132c5b89dea513f456225941a2cf8da16a /src/lib/include
parent858f78702424e4c0eb59bf7678e84f7b3a65fde2 (diff)
downloadkogata-ca0a318048749d21facd135322c44c78f2d5f1ac.tar.gz
kogata-ca0a318048749d21facd135322c44c78f2d5f1ac.zip
Implement fs_subfs (it's simple, really) ; add placeholders for more syscalls
Diffstat (limited to 'src/lib/include')
-rw-r--r--src/lib/include/syscall.h16
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 :*/