summaryrefslogtreecommitdiff
path: root/kernel/fs/ext2.h
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2023-11-10 15:47:08 +0100
committerAnton Kling <anton@kling.gg>2023-11-10 15:47:08 +0100
commit9a1f977e39d8e9fcb6a9cb2a612f4743e802221d (patch)
tree1fc53f6e80eb40d24274f2f8967d584b88c6d664 /kernel/fs/ext2.h
parent0cb4afef6da5488a128e5aaece435e9aa5f5797e (diff)
Kernel Style: Change uint*_t -> u*
Diffstat (limited to 'kernel/fs/ext2.h')
-rw-r--r--kernel/fs/ext2.h174
1 files changed, 87 insertions, 87 deletions
diff --git a/kernel/fs/ext2.h b/kernel/fs/ext2.h
index 4b4dec0..575a000 100644
--- a/kernel/fs/ext2.h
+++ b/kernel/fs/ext2.h
@@ -3,97 +3,97 @@
#include <drivers/ata.h>
#include <fs/vfs.h>
#include <kmalloc.h>
-#include <stdint.h>
+#include <typedefs.h>
typedef struct Superblock {
- uint32_t num_inodes;
- uint32_t num_blocks;
- uint32_t num_blocks_reserved;
- uint32_t num_blocks_unallocated;
- uint32_t num_inodes_unallocated;
- uint32_t superblock_block_num;
- uint32_t block_size;
- uint32_t fragment_size;
- uint32_t num_blocks_in_group;
- uint32_t num_fragments_in_group;
- uint32_t num_inodes_in_group;
- uint32_t last_mount;
- uint32_t last_write;
- uint16_t num_mounts_since_fsck;
- uint16_t num_mounts_allowed;
- uint16_t ext2_signature; // 0xEF53
- uint16_t fs_state;
- uint16_t when_error;
- uint16_t minor_version;
- uint32_t last_fsck;
- uint32_t interval_fsck;
- uint32_t os_id;
- uint32_t major_version;
- uint16_t userid_reserved_blocks;
- uint16_t groupid_reserved_blocks;
+ u32 num_inodes;
+ u32 num_blocks;
+ u32 num_blocks_reserved;
+ u32 num_blocks_unallocated;
+ u32 num_inodes_unallocated;
+ u32 superblock_block_num;
+ u32 block_size;
+ u32 fragment_size;
+ u32 num_blocks_in_group;
+ u32 num_fragments_in_group;
+ u32 num_inodes_in_group;
+ u32 last_mount;
+ u32 last_write;
+ u16 num_mounts_since_fsck;
+ u16 num_mounts_allowed;
+ u16 ext2_signature; // 0xEF53
+ u16 fs_state;
+ u16 when_error;
+ u16 minor_version;
+ u32 last_fsck;
+ u32 interval_fsck;
+ u32 os_id;
+ u32 major_version;
+ u16 userid_reserved_blocks;
+ u16 groupid_reserved_blocks;
} __attribute__((packed)) superblock_t;
typedef struct ExtendedSuperblock {
- uint32_t num_inodes;
- uint32_t num_blocks;
- uint32_t num_blocks_reserved;
- uint32_t num_blocks_unallocated;
- uint32_t num_inodes_unallocated;
- uint32_t superblock_block_num;
- uint32_t block_size;
- uint32_t fragment_size;
- uint32_t num_blocks_group;
- uint32_t num_fragments_group;
- uint32_t num_inodes_group;
- uint32_t last_mount;
- uint32_t last_write;
- uint16_t num_mounts_since_fsck;
- uint16_t num_mounts_allowed;
- uint16_t ext2_signature; // 0xEF53
- uint16_t fs_state;
- uint16_t when_error;
- uint16_t minor_version;
- uint32_t last_fsck;
- uint32_t interval_fsck;
- uint32_t os_id;
- uint32_t major_version;
- uint16_t userid_reserved_blocks;
- uint16_t groupid_reserved_blocks;
- uint32_t pad;
- uint16_t inode_size;
+ u32 num_inodes;
+ u32 num_blocks;
+ u32 num_blocks_reserved;
+ u32 num_blocks_unallocated;
+ u32 num_inodes_unallocated;
+ u32 superblock_block_num;
+ u32 block_size;
+ u32 fragment_size;
+ u32 num_blocks_group;
+ u32 num_fragments_group;
+ u32 num_inodes_group;
+ u32 last_mount;
+ u32 last_write;
+ u16 num_mounts_since_fsck;
+ u16 num_mounts_allowed;
+ u16 ext2_signature; // 0xEF53
+ u16 fs_state;
+ u16 when_error;
+ u16 minor_version;
+ u32 last_fsck;
+ u32 interval_fsck;
+ u32 os_id;
+ u32 major_version;
+ u16 userid_reserved_blocks;
+ u16 groupid_reserved_blocks;
+ u32 pad;
+ u16 inode_size;
} __attribute__((packed)) ext_superblock_t;
typedef struct BlockGroupDescriptorTable {
- uint32_t block_usage_bitmap;
- uint32_t inode_usage_bitmap;
- uint32_t starting_inode_table;
- uint16_t num_unallocated_blocks_in_group;
- uint16_t num_unallocated_inodes_in_group;
- uint16_t num_directories_group;
+ u32 block_usage_bitmap;
+ u32 inode_usage_bitmap;
+ u32 starting_inode_table;
+ u16 num_unallocated_blocks_in_group;
+ u16 num_unallocated_inodes_in_group;
+ u16 num_directories_group;
} __attribute__((packed)) bgdt_t;
typedef struct INode {
- uint16_t types_permissions;
- uint16_t user_id;
- uint32_t low_32size;
- uint32_t last_access_time;
- uint32_t creation_time;
- uint32_t last_modification_time;
- uint32_t deletion_time;
- uint16_t group_id;
- uint16_t num_hard_links;
- uint32_t num_disk_sectors;
- uint32_t flags;
- uint32_t os_specific;
- uint32_t block_pointers[12];
- uint32_t single_indirect_block_pointer;
- uint32_t double_indirect_block_pointer;
- uint32_t triple_indirect_block_pointer;
- uint32_t gen_number;
- uint32_t _extended_attribute_block;
- uint32_t _upper_32size;
- uint32_t address_fragment;
- uint32_t os_specific2;
+ u16 types_permissions;
+ u16 user_id;
+ u32 low_32size;
+ u32 last_access_time;
+ u32 creation_time;
+ u32 last_modification_time;
+ u32 deletion_time;
+ u16 group_id;
+ u16 num_hard_links;
+ u32 num_disk_sectors;
+ u32 flags;
+ u32 os_specific;
+ u32 block_pointers[12];
+ u32 single_indirect_block_pointer;
+ u32 double_indirect_block_pointer;
+ u32 triple_indirect_block_pointer;
+ u32 gen_number;
+ u32 _extended_attribute_block;
+ u32 _upper_32size;
+ u32 address_fragment;
+ u32 os_specific2;
} __attribute__((packed)) inode_t;
// 0 Unknown type
@@ -122,18 +122,18 @@ typedef struct INode {
#define UNIX_SOCKET 0xC000
typedef struct DirectoryEntryHeader {
- uint32_t inode;
- uint16_t size;
- uint8_t name_length;
- uint8_t type_indicator;
+ u32 inode;
+ u16 size;
+ u8 name_length;
+ u8 type_indicator;
} __attribute__((packed)) direntry_header_t;
int ext2_create_file(const char *path, int mode);
vfs_inode_t *ext2_mount(void);
void parse_superblock(void);
-size_t ext2_read_file_offset(const char *file, char *data, uint64_t size,
- uint64_t offset, uint64_t *file_size);
+size_t ext2_read_file_offset(const char *file, char *data, u64 size,
+ u64 offset, u64 *file_size);
size_t ext2_read_file(const char *file, char *data, size_t size,
- uint64_t *file_size);
+ u64 *file_size);
int ext2_create_directory(const char *path, int mode);
#endif