diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-12-04 14:13:08 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-12-04 14:13:08 +0100 |
| commit | a36b01e05f09f642f261d42666af28a367fefc4e (patch) | |
| tree | d5e2a8782f2e44af43d66fd7d1dcade517889f6a /kernel/include/ext2.h | |
| parent | 0882221263aa14669946f57578d3ee014493f58f (diff) | |
intrusive circular doubly linked list
Diffstat (limited to 'kernel/include/ext2.h')
| -rw-r--r-- | kernel/include/ext2.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/kernel/include/ext2.h b/kernel/include/ext2.h index 1acdb18..b9222df 100644 --- a/kernel/include/ext2.h +++ b/kernel/include/ext2.h @@ -121,6 +121,18 @@ struct ext2_dentry_t { }; typedef struct ext2_dentry_t ext2_dentry_t; +struct path_t { + char* name; + list_t list; +}; +typedef struct path_t path_t; + +struct dentry_list_t { + ext2_dentry_t ext2_dentry; + list_t list; +}; +typedef struct dentry_list_t dentry_list_t; + extern ext2_superblock_t* ext2_superblock; // size of structs @@ -135,9 +147,9 @@ void read_block(uint32_t block_num, void* block_ptr); void read_superblock(ext2_superblock_t* ext2_superblock); void read_bg_desc(uint32_t bg_desc, ext2_bg_desc_t* ext2_bg_desc); void read_inode(uint32_t starting_block_num, uint32_t inode_index, ext2_inode_t* ext2_inode); -list_t* directory_to_entries(uint32_t inode); +dentry_list_t* directory_to_entries(uint32_t inode); char* files_to_buffer(uint32_t inode); -list_t* path_to_list(const char* path); +path_t* path_to_list(const char* path); uint32_t path_to_inode(const char* path); void ls(uint32_t inode); void print(uint32_t inode); |
