diff options
Diffstat (limited to 'src/kernel/fs/vfs.c')
-rw-r--r-- | src/kernel/fs/vfs.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/kernel/fs/vfs.c b/src/kernel/fs/vfs.c index 5591a60..702851e 100644 --- a/src/kernel/fs/vfs.c +++ b/src/kernel/fs/vfs.c @@ -2,31 +2,36 @@ fs_node_t *fs_root = 0; -uint32_t read_fs(fs_node_t *node, uint32_t offset, uint32_t size, uint8_t *buffer) { +uint32_t read_fs(fs_node_t *node, uint32_t offset, uint32_t size, uint8_t *buffer) +{ if (node->read != 0) return node->read(node, offset, size, buffer); else return 0; } -uint32_t write_fs(fs_node_t *node, uint32_t offset, uint32_t size, uint8_t *buffer) { +uint32_t write_fs(fs_node_t *node, uint32_t offset, uint32_t size, uint8_t *buffer) +{ if (node->write != 0) return node->write(node, offset, size, buffer); else return 0; } -void open_fs(fs_node_t *node, uint8_t read, uint8_t write) { +void open_fs(fs_node_t *node, uint8_t read, uint8_t write) +{ if (node->open != 0) return node->open(node); } -void close_fs(fs_node_t *node) { +void close_fs(fs_node_t *node) +{ if (node->close != 0) return node->close(node); } -struct dirent *readdir_fs(fs_node_t *node, uint32_t index) { +struct dirent *readdir_fs(fs_node_t *node, uint32_t index) +{ if ((node->flags & 0x7) == FS_DIRECTORY && node->readdir != 0) return node->readdir(node, index); @@ -34,7 +39,8 @@ struct dirent *readdir_fs(fs_node_t *node, uint32_t index) { return 0; } -fs_node_t *finddir_fs(fs_node_t *node, char *name) { +fs_node_t *finddir_fs(fs_node_t *node, char *name) +{ if ((node->flags & 0x7) == FS_DIRECTORY && node->finddir != 0) return node->finddir(node, name); |