pub const BLOCK_SIZE: usize = 4096;
pub const INODE_SIZE: usize = 256;
pub const BLOCKS_PER_GROUP: u32 = 32768;
pub const SB_MAGIC: u16 = 0xEF53;
pub const EXTENT_MAGIC: u16 = 0xF30A;
pub const XATTR_MAGIC: u32 = 0xEA02_0000;
pub const JBD2_MAGIC: u32 = 0xC03B_3998;
pub const FIRST_INO: u32 = 11;
pub const ROOT_INO: u32 = 2;
pub const JOURNAL_INO: u32 = 8;
pub const LINK_MAX: u32 = 65_000;
pub mod compat {
pub const HAS_JOURNAL: u32 = 0x4;
pub const EXT_ATTR: u32 = 0x8;
pub const DIR_INDEX: u32 = 0x20;
pub const WRITER: u32 = HAS_JOURNAL | EXT_ATTR | DIR_INDEX;
}
pub mod incompat {
pub const FILETYPE: u32 = 0x2;
pub const RECOVER: u32 = 0x4;
pub const EXTENTS: u32 = 0x40;
pub const BIT64: u32 = 0x80;
pub const FLEX_BG: u32 = 0x200;
pub const CSUM_SEED: u32 = 0x2000;
pub const WRITER: u32 = FILETYPE | EXTENTS | FLEX_BG;
pub const READER: u32 = FILETYPE | EXTENTS | BIT64 | FLEX_BG | CSUM_SEED;
}
pub mod ro_compat {
pub const SPARSE_SUPER: u32 = 0x1;
pub const LARGE_FILE: u32 = 0x2;
pub const HUGE_FILE: u32 = 0x8;
pub const GDT_CSUM: u32 = 0x10;
pub const DIR_NLINK: u32 = 0x20;
pub const EXTRA_ISIZE: u32 = 0x40;
pub const METADATA_CSUM: u32 = 0x400;
pub const WRITER: u32 =
SPARSE_SUPER | LARGE_FILE | HUGE_FILE | DIR_NLINK | EXTRA_ISIZE | METADATA_CSUM;
}
pub mod iflags {
pub const INDEX: u32 = 0x1000;
pub const EXTENTS: u32 = 0x8_0000;
}
pub mod bg_flags {
pub const INODE_UNINIT: u16 = 0x1;
pub const BLOCK_UNINIT: u16 = 0x2;
pub const INODE_ZEROED: u16 = 0x4;
}
pub mod file_type {
pub const REG: u8 = 1;
pub const DIR: u8 = 2;
pub const CHR: u8 = 3;
pub const BLK: u8 = 4;
pub const FIFO: u8 = 5;
pub const SOCK: u8 = 6;
pub const SYMLINK: u8 = 7;
}