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
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
struct ext2_inode::@29::@34 hurd2
uint32_t i_block[EXT2_N_BLOCKS]
Definition ext2_fs.h:146
struct ext2_inode::@28::@31 hurd1
struct ext2_inode::@28::@32 masix1
uint32_t m_i_reserved2[2]
Definition ext2_fs.h:170
uint32_t l_i_reserved2[2]
Definition ext2_fs.h:156
struct ext2_inode::@29::@35 masix2
union ext2_inode::@28 osd1
union ext2_inode::@29 osd2
struct ext2_inode::@28::@30 linux1
struct ext2_inode::@29::@33 linux2