aboutsummaryrefslogtreecommitdiff
path: root/src/inc/fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/inc/fs.h')
-rw-r--r--src/inc/fs.h102
1 files changed, 0 insertions, 102 deletions
diff --git a/src/inc/fs.h b/src/inc/fs.h
deleted file mode 100644
index 775a1ce..0000000
--- a/src/inc/fs.h
+++ /dev/null
@@ -1,102 +0,0 @@
-// MIT License, Copyright (c) 2020 Marvin Borner
-// EXT2 based filesystem
-
-#ifndef FS_H
-#define FS_H
-
-#include <def.h>
-
-#define EXT2_BOOT 0
-#define EXT2_SUPER 1
-#define EXT2_ROOT 2
-#define EXT2_MAGIC 0x0000EF53
-
-struct superblock {
- u32 total_inodes;
- u32 total_blocks;
- u32 su_res_blocks; // Superuser reserved
- u32 free_blocks;
- u32 free_inodes;
- u32 superblock_block_num;
- u32 log2_block_size;
- u32 log2_frag_size;
- u32 blocks_per_group;
- u32 frags_per_group;
- u32 inodes_per_group;
- u32 last_mount_time;
- u32 last_write_time;
- u16 mounts_since_fsck;
- u16 max_mounts_since_fsck;
- u16 magic;
- u16 state; // 1 clean; 2 errors
- u16 error_action;
- u16 minor_version;
- u32 last_fsck_time;
- u32 max_time_since_fsck;
- u32 creator_os_id;
- u32 major_version;
- u16 res_block_uid;
- u16 res_block_gid;
-};
-
-struct bgd {
- u32 block_bitmap;
- u32 inode_bitmap;
- u32 inode_table;
- u16 free_blocks;
- u16 free_inodes;
- u16 used_dirs;
- u16 pad;
- u8 bg_reserved[12];
-};
-
-struct inode {
- u16 mode;
- u16 uid;
- u32 size;
-
- u32 last_access_time;
- u32 creation_time;
- u32 last_modification_time;
- u32 deletion_time;
-
- u16 gid;
- u16 link_count;
- u32 blocks;
- u32 flags;
- u32 os_specific_val1;
- u32 block[15];
- u32 generation;
-
- u32 reserved1;
- u32 reserved2;
-
- u32 fragment_addr;
- u8 os_specific_val2[12];
-};
-
-#define INODE_SIZE (sizeof(struct inode))
-
-struct dirent {
- u32 inode_num;
- u16 total_len;
- u8 name_len;
- u8 type_indicator;
- u8 name[];
-};
-
-struct file {
- struct inode inode;
- u32 pos;
- u8 block_index;
- u8 *buf;
- u32 curr_block_pos;
-};
-
-int find_inode(const char *name, int dir_inode);
-struct inode *get_inode(int i);
-void *read_inode(struct inode *in);
-void *read_file(char *path);
-void ls_root(); // DEMO ;)
-
-#endif