pub struct Superblock {Show 14 fields
pub version: u8,
pub offset_size: u8,
pub length_size: u8,
pub base_address: u64,
pub eof_address: u64,
pub root_group_address: u64,
pub group_leaf_node_k: Option<u16>,
pub group_internal_node_k: Option<u16>,
pub indexed_storage_internal_node_k: Option<u16>,
pub free_space_address: Option<u64>,
pub driver_info_address: Option<u64>,
pub consistency_flags: u32,
pub superblock_extension_address: Option<u64>,
pub checksum: Option<u32>,
}Expand description
Parsed HDF5 superblock (all versions).
Fields§
§version: u8Superblock version (0–3).
offset_size: u8Size of offsets in bytes (2, 4, or 8).
length_size: u8Size of lengths in bytes (2, 4, or 8).
base_address: u64File base address.
eof_address: u64End-of-file address.
root_group_address: u64Root group object header address (v2/v3) or from symbol table entry (v0/v1).
group_leaf_node_k: Option<u16>Group leaf node K (v0/v1 only).
group_internal_node_k: Option<u16>Group internal node K (v0/v1 only).
indexed_storage_internal_node_k: Option<u16>Indexed storage internal node K (v1 only).
free_space_address: Option<u64>Free space address (v0/v1 only).
driver_info_address: Option<u64>Driver info block address (v0/v1 only).
consistency_flags: u32File consistency flags.
superblock_extension_address: Option<u64>Superblock extension address (v2/v3 only).
checksum: Option<u32>CRC32C checksum (v2/v3 only).
Implementations§
Source§impl Superblock
impl Superblock
Sourcepub fn serialize(&self) -> Vec<u8> ⓘ
pub fn serialize(&self) -> Vec<u8> ⓘ
Serialize this superblock to bytes.
Always writes v2/v3 format. Computes and appends Jenkins lookup3 checksum.
Sourcepub fn parse(
data: &[u8],
signature_offset: usize,
) -> Result<Superblock, FormatError>
pub fn parse( data: &[u8], signature_offset: usize, ) -> Result<Superblock, FormatError>
Parse a superblock from data starting at signature_offset.
The signature must be present at the given offset.
Trait Implementations§
Source§impl Clone for Superblock
impl Clone for Superblock
Source§fn clone(&self) -> Superblock
fn clone(&self) -> Superblock
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Superblock
impl Debug for Superblock
impl Eq for Superblock
Source§impl PartialEq for Superblock
impl PartialEq for Superblock
impl StructuralPartialEq for Superblock
Auto Trait Implementations§
impl Freeze for Superblock
impl RefUnwindSafe for Superblock
impl Send for Superblock
impl Sync for Superblock
impl Unpin for Superblock
impl UnsafeUnpin for Superblock
impl UnwindSafe for Superblock
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more