pub trait SquashFsReader: BufReadSeek {
// Provided methods
fn inodes(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<IntMap<u32, Inode>, BackhandError> { ... }
fn root_inode(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Inode, BackhandError> { ... }
fn dir_blocks(
&mut self,
superblock: &SuperBlock,
end_ptr: u64,
kind: &Kind,
) -> Result<(IntMap<u64, u64>, Vec<u8>), BackhandError> { ... }
fn fragments(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Option<(u64, Vec<Fragment>)>, BackhandError> { ... }
fn export(
&mut self,
_superblock: &SuperBlock,
_kind: &Kind,
) -> Result<Option<(u64, Vec<Export>)>, BackhandError> { ... }
fn uid(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Vec<u16>, BackhandError> { ... }
fn guid(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Vec<u16>, BackhandError> { ... }
fn fragment_lookup_table(
&mut self,
superblock: &SuperBlock,
seek: u64,
size: u64,
kind: &Kind,
) -> Result<(u64, Vec<Fragment>), BackhandError> { ... }
fn fragment_metadata_with_count(
&mut self,
superblock: &SuperBlock,
seek: u64,
count: u64,
kind: &Kind,
) -> Result<Vec<Fragment>, BackhandError> { ... }
}Available on crate feature
v3 only.Provided Methods§
Sourcefn inodes(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<IntMap<u32, Inode>, BackhandError>
fn inodes( &mut self, superblock: &SuperBlock, kind: &Kind, ) -> Result<IntMap<u32, Inode>, BackhandError>
Parse Inode Table into Vec<(position_read, Inode)>
Sourcefn root_inode(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Inode, BackhandError>
fn root_inode( &mut self, superblock: &SuperBlock, kind: &Kind, ) -> Result<Inode, BackhandError>
Extract the root Inode as a BasicDirectory
Sourcefn dir_blocks(
&mut self,
superblock: &SuperBlock,
end_ptr: u64,
kind: &Kind,
) -> Result<(IntMap<u64, u64>, Vec<u8>), BackhandError>
fn dir_blocks( &mut self, superblock: &SuperBlock, end_ptr: u64, kind: &Kind, ) -> Result<(IntMap<u64, u64>, Vec<u8>), BackhandError>
Parse required number of Metadatas uncompressed blocks required for Dirs
Sourcefn fragments(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Option<(u64, Vec<Fragment>)>, BackhandError>
fn fragments( &mut self, superblock: &SuperBlock, kind: &Kind, ) -> Result<Option<(u64, Vec<Fragment>)>, BackhandError>
Parse Fragment Table
Sourcefn export(
&mut self,
_superblock: &SuperBlock,
_kind: &Kind,
) -> Result<Option<(u64, Vec<Export>)>, BackhandError>
fn export( &mut self, _superblock: &SuperBlock, _kind: &Kind, ) -> Result<Option<(u64, Vec<Export>)>, BackhandError>
Parse Export Table
Sourcefn uid(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Vec<u16>, BackhandError>
fn uid( &mut self, superblock: &SuperBlock, kind: &Kind, ) -> Result<Vec<u16>, BackhandError>
Parse UID Table
Sourcefn guid(
&mut self,
superblock: &SuperBlock,
kind: &Kind,
) -> Result<Vec<u16>, BackhandError>
fn guid( &mut self, superblock: &SuperBlock, kind: &Kind, ) -> Result<Vec<u16>, BackhandError>
Parse GUID Table
Sourcefn fragment_lookup_table(
&mut self,
superblock: &SuperBlock,
seek: u64,
size: u64,
kind: &Kind,
) -> Result<(u64, Vec<Fragment>), BackhandError>
fn fragment_lookup_table( &mut self, superblock: &SuperBlock, seek: u64, size: u64, kind: &Kind, ) -> Result<(u64, Vec<Fragment>), BackhandError>
Parse Fragment Lookup Table (specialized for Fragment context)
Sourcefn fragment_metadata_with_count(
&mut self,
superblock: &SuperBlock,
seek: u64,
count: u64,
kind: &Kind,
) -> Result<Vec<Fragment>, BackhandError>
fn fragment_metadata_with_count( &mut self, superblock: &SuperBlock, seek: u64, count: u64, kind: &Kind, ) -> Result<Vec<Fragment>, BackhandError>
Parse count of Fragment Metadata blocks
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".