From 89d929bd3a1f4eca3ae611dc7b7820e36f36e75d Mon Sep 17 00:00:00 2001 From: Arnau478 Date: Sat, 2 Jul 2022 16:49:17 +0200 Subject: [PATCH] Fixed some VFS bugs --- src/kernel/fs/fs.c | 2 -- src/kernel/fs/fs.h | 30 ++++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/kernel/fs/fs.c b/src/kernel/fs/fs.c index 23d1748..119ef98 100644 --- a/src/kernel/fs/fs.c +++ b/src/kernel/fs/fs.c @@ -21,14 +21,12 @@ void fs_open(fs_node_t *node, uint8_t read, uint8_t write){ if(node->open != NULL){ return node->open(node); } - return 0; } void fs_close(fs_node_t *node){ if(node->close != NULL){ return node->close(node); } - return 0; } dirent_t *fs_readdir(fs_node_t *node, uint32_t index){ diff --git a/src/kernel/fs/fs.h b/src/kernel/fs/fs.h index 2cbf4e0..de0e578 100644 --- a/src/kernel/fs/fs.h +++ b/src/kernel/fs/fs.h @@ -10,7 +10,21 @@ #define FS_SYMLINK 0x06 #define FS_MOUNTPOINT 0x08 -typedef struct fs_node{ +typedef struct fs_node fs_node_t; + +typedef struct dirent{ + char name[128]; + uint32_t inode; +} dirent_t; + +typedef uint32_t (*fs_read_fn_t)(fs_node_t *, uint32_t, uint32_t, uint8_t *); +typedef uint32_t (*fs_write_fn_t)(fs_node_t *, uint32_t, uint32_t, uint8_t *); +typedef void (*fs_open_fn_t)(fs_node_t *); +typedef void (*fs_close_fn_t)(fs_node_t *); +typedef dirent_t *(*fs_readdir_fn_t)(fs_node_t *, uint32_t); +typedef fs_node_t *(*fs_finddir_fn_t)(fs_node_t *, char *); + +struct fs_node{ char name[128]; uint32_t mask; uint32_t uid; @@ -26,19 +40,7 @@ typedef struct fs_node{ fs_readdir_fn_t readdir; fs_finddir_fn_t finddir; struct fs_node *ptr; -} fs_node_t; - -typedef struct dirent{ - char name[128]; - uint32_t inode; -} dirent_t; - -typedef uint32_t (*fs_read_fn_t)(fs_node_t *, uint32_t, uint32_t, uint8_t *); -typedef uint32_t (*fs_write_fn_t)(fs_node_t *, uint32_t, uint32_t, uint8_t *); -typedef void (*fs_open_fn_t)(fs_node_t *); -typedef void (*fs_close_fn_t)(fs_node_t *); -typedef dirent_t *(*fs_readdir_fn_t)(fs_node_t *, uint32_t); -typedef fs_node_t *(*fs_finddir_fn_t)(fs_node_t *, char *); +}; extern fs_node_t *fs_root;