32#define EXT2_SUPER_MAGIC_CONST 0xEF53
33#define EXT2_MIN_BLOCK_SIZE 1024
34#define EXT2_NDIR_BLOCKS 12
35#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
36#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
37#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
38#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
39#define EXT2_VALID_FS 0x0001
40#define EXT2_ERROR_FS 0x0002
41#define EXT2_RESERVED_INODE_COUNT 11
46#define EXT2_OS_LINUX 0
48#define EXT2_OS_MASIX 2
49#define EXT2_OS_FREEBSD 3
50#define EXT2_OS_LITES 4
55#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
56#define EXT2_FEATURE_COMPAT_HAS_DIR_INDEX 0x0020
58#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
59#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
60#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
61#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
62#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
64#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
65#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
66#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040
67#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
68#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
74#define EXT2_ROOT_INO 2
75#define EXT2_ACL_IDX_INO 3
76#define EXT2_ACL_DATA_INO 4
77#define EXT2_BOOT_LOADER_INO 5
78#define EXT2_UNDEL_DIR_INO 6
84#define EXT2_FT_UNKNOWN 0
85#define EXT2_FT_REG_FILE 1
87#define EXT2_FT_CHRDEV 3
88#define EXT2_FT_BLKDEV 4
91#define EXT2_FT_SYMLINK 7
96#define EXT2_ERRORS_CONTINUE 1
97#define EXT2_ERRORS_RO 2
98#define EXT2_ERRORS_PANIC 3
99#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
175#define i_size_high i_dir_acl
177struct __attribute__ ((packed)) ext2_super_block
179 uint32_t s_inodes_count;
180 uint32_t s_blocks_count;
181 uint32_t s_r_blocks_count;
182 uint32_t s_free_blocks_count;
183 uint32_t s_free_inodes_count;
184 uint32_t s_first_data_block;
185 uint32_t s_log_block_size;
186 int32_t s_log_frag_size;
187 uint32_t s_blocks_per_group;
188 uint32_t s_frags_per_group;
189 uint32_t s_inodes_per_group;
192 uint16_t s_mnt_count;
193 int16_t s_max_mnt_count;
197 uint16_t s_minor_rev_level;
198 uint32_t s_lastcheck;
199 uint32_t s_checkinterval;
200 uint32_t s_creator_os;
201 uint32_t s_rev_level;
202 uint16_t s_def_resuid;
203 uint16_t s_def_resgid;
217 uint32_t s_first_ino;
218 uint16_t s_inode_size;
219 uint16_t s_block_group_nr;
220 uint32_t s_feature_compat;
221 uint32_t s_feature_incompat;
222 uint32_t s_feature_ro_compat;
224 char s_volume_name[16];
225 char s_last_mounted[64];
226 uint32_t s_algorithm_usage_bitmap;
231 uint8_t s_prealloc_blocks;
232 uint8_t s_prealloc_dir_blocks;
237 uint8_t s_journal_uuid[16];
238 uint32_t s_journal_inum;
239 uint32_t s_journal_dev;
240 uint32_t s_last_orphan;
242 uint32_t s_reserved[197];
uint16_t bg_free_inodes_count
Definition ext2_fs.h:116
uint16_t bg_used_dirs_count
Definition ext2_fs.h:117
uint16_t bg_free_blocks_count
Definition ext2_fs.h:115
uint32_t i_block[EXT2_N_BLOCKS]
Definition ext2_fs.h:146
struct ext2_inode::@220062305220170273315143251052204364270216127043::@236101277111032320007103002347244072147040042244 hurd2
uint32_t m_i_reserved2[2]
Definition ext2_fs.h:170
struct ext2_inode::@220062305220170273315143251052204364270216127043::@017042060031054147047003012213057226362035151063 linux2
union ext2_inode::@220062305220170273315143251052204364270216127043 osd2
uint32_t l_i_reserved2[2]
Definition ext2_fs.h:156
union ext2_inode::@234012356112351332120251202003243201055171257245 osd1
struct ext2_inode::@234012356112351332120251202003243201055171257245::@221061101235257330306060263273300263000002363222 hurd1
struct ext2_inode::@220062305220170273315143251052204364270216127043::@371305303062020031051316330325342066200321220252 masix2
struct ext2_inode::@234012356112351332120251202003243201055171257245::@334201052275204065210272120044063103014042054372 linux1
struct ext2_inode::@234012356112351332120251202003243201055171257245::@023315334040115072041000055222157045063221210004 masix1