Struct chd::header::HeaderV1

source ·
pub struct HeaderV1 {
Show 16 fields pub version: Version, pub length: u32, pub flags: u32, pub compression: u32, pub hunk_size: u32, pub total_hunks: u32, pub cylinders: u32, pub sectors: u32, pub heads: u32, pub hunk_bytes: u32, pub md5: [u8; 16], pub parent_md5: [u8; 16], pub unit_bytes: u32, pub unit_count: u64, pub logical_bytes: u64, pub sector_length: u32,
}
Expand description

A CHD V1/V2 header. V1 and V2 headers share a similar format with the only difference being V1 having a fixed 512-byte sector length, and V2 having an arbitrary sector length.

While all members of this struct are public, prefer the Header API over the fields of this struct.

Fields§

§version: Version

The CHD version (1, or 2).

§length: u32

The length of the header.

§flags: u32

CHD file flags.

§compression: u32

The compression codec used in the CHD file. See CodecType for the valid codec types supported by this library.

§hunk_size: u32

The size of each hunk in the CHD file in units of sector length.

§total_hunks: u32

The total number of hunks in the CHD file.

§cylinders: u32

The number of cylinders on the hard disk.

§sectors: u32

The number of sectors on the hard disk.

§heads: u32

The number of heads on the hard disk.

§hunk_bytes: u32

The size of each hunk in the CHD file in bytes.

§md5: [u8; 16]

The MD5 hash of the CHD file.

§parent_md5: [u8; 16]

The MD5 hash of the parent CHD file.

§unit_bytes: u32

The size of each unit in the CHD file in bytes.

§unit_count: u64

The number of units in each hunk.

§logical_bytes: u64

The logical size of the compressed data in bytes.

§sector_length: u32

The length of each sector on the hard disk. For V1 CHD files, this will be 512. For V2, CHD files, this can be arbitrary.

Trait Implementations§

source§

impl Clone for HeaderV1

source§

fn clone(&self) -> HeaderV1

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.