Files
zig-squashfs/inode_types.zig
T
Caleb Gardner 58e89c0981 Initial commit
2025-05-11 09:39:24 -05:00

61 lines
1.2 KiB
Zig

pub const DirInode = packed struct {
dir_block_start: u32,
hard_links: u32,
dir_table_size: u16,
dir_block_offset: u16,
parent_inode_num: u32,
};
pub const DirIndexStart = packed struct {
dir_header_offset: u32,
dir_table_offset: u32,
name_size: u32,
};
pub const DirIndex = struct {
start: DirIndexStart,
name: []const u8,
};
pub const ExtDirInodeStart = packed struct {
hard_links: u32,
dir_table_size: u32,
dir_block_start: u32,
parent_inode_num: u32,
dir_index_count: u16,
dir_block_offset: u16,
xattr_index: u32,
};
pub const ExtDirInode = struct {
start: ExtDirInodeStart,
indexes: []const u8,
};
pub const FileInodeStart = packed struct {
start: u32,
frag_index: u32,
frag_block_offset: u32,
size: u32,
};
pub const FileInode = struct {
start: FileInodeStart,
block_sizes: []const u32,
};
pub const ExtFileInodeStart = packed struct {
start: u64,
size: u64,
sparse: u64,
hard_links: u32,
frag_index: u32,
frag_block_offset: u32,
xattr_index: u32,
};
pub const ExtFileInode = struct {
start: ExtFileInodeStart,
block_sizes: []const u32,
};