diff options
author | Alex Auvolat <alex.auvolat@ens.fr> | 2015-03-08 13:57:35 +0100 |
---|---|---|
committer | Alex Auvolat <alex.auvolat@ens.fr> | 2015-03-08 13:57:35 +0100 |
commit | 845fff4dad1159d3d5b94efaf8e547af8d280a5e (patch) | |
tree | 3b962216b7167d7be723e0b2dfbcea0e4312db53 /src/kernel/include | |
parent | 93af9a589980403f9887936963a6ce4f189dc020 (diff) | |
download | kogata-845fff4dad1159d3d5b94efaf8e547af8d280a5e.tar.gz kogata-845fff4dad1159d3d5b94efaf8e547af8d280a5e.zip |
Change prototypes for read, write, readdir, close ; implement blocking IPC.
Diffstat (limited to 'src/kernel/include')
-rw-r--r-- | src/kernel/include/ipc.h | 2 | ||||
-rw-r--r-- | src/kernel/include/vfs.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/kernel/include/ipc.h b/src/kernel/include/ipc.h index 5558120..c61ec93 100644 --- a/src/kernel/include/ipc.h +++ b/src/kernel/include/ipc.h @@ -11,7 +11,7 @@ typedef struct { fs_handle_t *a, *b; } fs_handle_pair_t; -fs_handle_pair_t make_channel(); +fs_handle_pair_t make_channel(bool blocking); // ---- Tokens for sharing file descriptors between processes diff --git a/src/kernel/include/vfs.h b/src/kernel/include/vfs.h index 90944b2..371ffb7 100644 --- a/src/kernel/include/vfs.h +++ b/src/kernel/include/vfs.h @@ -83,10 +83,10 @@ typedef struct fs_handle { typedef struct fs_node_ops { bool (*open)(fs_node_ptr n, int mode); - size_t (*read)(fs_node_ptr f, size_t offset, size_t len, char* buf); - size_t (*write)(fs_node_ptr f, size_t offset, size_t len, const char* buf); - bool (*readdir)(fs_node_ptr f, size_t ent_no, dirent_t *d); - void (*close)(fs_node_ptr f); + size_t (*read)(fs_handle_t *f, size_t offset, size_t len, char* buf); + size_t (*write)(fs_handle_t *f, size_t offset, size_t len, const char* buf); + bool (*readdir)(fs_handle_t *f, size_t ent_no, dirent_t *d); + void (*close)(fs_handle_t *f); bool (*stat)(fs_node_ptr n, stat_t *st); int (*ioctl)(fs_node_ptr f, int command, void* data); |