introduce VFS "drivers"

This commit is contained in:
Babz 2021-09-24 19:17:48 +02:00
parent 7b1bc2bdf6
commit 054c12130f
2 changed files with 11 additions and 3 deletions

View File

@ -34,7 +34,7 @@ static vfs_entry_t *vfs_new_dir(const char *name, vfs_entry_t *parent) {
newdir->parent = parent;
newdir->type = vfs_dir;
newdir->driver = 0;
newdir->driver = (parent == NULL) ? vfs_drv_none : parent->driver;
newdir->childs = NULL;
newdir->next = NULL;
@ -49,7 +49,7 @@ static vfs_entry_t *vfs_new_file(const char *name, vfs_entry_t *parent) {
newfile->parent = parent;
newfile->type = vfs_file;
newfile->driver = 0;
newfile->driver = (parent == NULL) ? vfs_drv_none : parent->driver;
newfile->childs = NULL;
newfile->next = NULL;

View File

@ -8,12 +8,20 @@ enum vfs_entry_type {
vfs_dir = 2,
};
enum vfs_driver {
vfs_drv_none,
vfs_drv_builtin,
vfs_drv_fls,
vfs_drv_sysfs,
vfs_drv_res,
};
typedef struct vfs_entry {
char *name;
struct vfs_entry *parent;
enum vfs_entry_type type;
uint16_t driver;
enum vfs_driver driver;
// dir only
struct vfs_entry *childs;