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/kernel/include | |
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/kernel/include')
-rw-r--r-- | src/kernel/include/vfs.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/kernel/include/vfs.h b/src/kernel/include/vfs.h index 0890663..066211b 100644 --- a/src/kernel/include/vfs.h +++ b/src/kernel/include/vfs.h @@ -124,7 +124,9 @@ typedef struct { typedef struct fs { // Filled by VFS's make_fs() int refs; - // Filled by FS's specific make() + struct fs *from_fs; + int ok_modes; + // Filled by FS's specific make() - all zero in the case of a subfs fs_ops_t *ops; fs_ptr data; // Filled by both according to what is specified for fs_node_t @@ -158,6 +160,7 @@ fs_node_t* fs_walk_path_except_last(fs_node_t* from, const char *p, char* last_f void register_fs_driver(const char* name, fs_driver_ops_t *ops); fs_t* make_fs(const char* driver, fs_handle_t *source, const char* opts); +fs_t* fs_subfs(fs_t *fs, const char *root, int ok_modes); bool fs_add_source(fs_t *fs, fs_handle_t *source, const char* opts); void ref_fs(fs_t *fs); void unref_fs(fs_t *fs); |