Struct ext2::superblock::SuperBlock

source ·
#[repr(C)]
pub(crate) struct SuperBlock {
Show 32 fields pub inodes_count: u32, pub blocks_count: u32, _r_blocks_count: u32, pub free_blocks_count: u32, pub free_inodes_count: u32, _first_data_block: u32, _log_block_size: u32, log_frag_size: u32, pub blocks_per_group: u32, frags_per_group: u32, pub inodes_per_group: u32, mtime: u32, wtime: u32, _mnt_count: u16, _max_mnt_count: u16, magic: u16, state: u16, errors: u16, _minor_rev_level: u16, _lastcheck: u32, _checkinterval: u32, _creator_os: u32, rev_level: u32, _def_resuid: u16, _def_resgid: u16, first_ino: u32, pub inode_size: u16, pub block_group_nr: u16, feature_compat: u32, feature_incompat: u32, _feature_ro_compat: u32, uuid: [u8; 16],
}
Expand description

A struct to represent the configuration of an ext2 filesystem. The ext2 superblock.

The field names are based on the specification. Note that this struct only holds the fields at the beginning of the superblock. All fields after the fields supported by this structure are filled with zeros.

Fields§

§inodes_count: u32§blocks_count: u32§_r_blocks_count: u32§free_blocks_count: u32§free_inodes_count: u32§_first_data_block: u32§_log_block_size: u32§log_frag_size: u32§blocks_per_group: u32§frags_per_group: u32§inodes_per_group: u32§mtime: u32§wtime: u32§_mnt_count: u16§_max_mnt_count: u16§magic: u16§state: u16§errors: u16§_minor_rev_level: u16§_lastcheck: u32§_checkinterval: u32§_creator_os: u32§rev_level: u32§_def_resuid: u16§_def_resgid: u16§first_ino: u32§inode_size: u16§block_group_nr: u16§feature_compat: u32§feature_incompat: u32§_feature_ro_compat: u32§uuid: [u8; 16]

Implementations§

source§

impl SuperBlock

source

pub fn new<'a>( arena: &'a Arena<'a>, cfg: &Builder ) -> Result<&'a mut SuperBlock>

source

pub fn num_groups(&self) -> u16

Trait Implementations§

source§

impl AsBytes for SuperBlock
where u32: AsBytes, u16: AsBytes, [u8; 16]: AsBytes, HasPadding<SuperBlock, { _ }>: ShouldBe<false>,

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
source§

impl Clone for SuperBlock

source§

fn clone(&self) -> SuperBlock

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
source§

impl Debug for SuperBlock

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SuperBlock

source§

fn default() -> SuperBlock

Returns the “default value” for a type. Read more
source§

impl FromBytes for SuperBlock
where u32: FromBytes, u16: FromBytes, [u8; 16]: FromBytes,

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without copying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix( bytes: &mut [u8], count: usize ) -> Option<(&mut [Self], &mut [u8])>
where Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn mut_slice_from_suffix( bytes: &mut [u8], count: usize ) -> Option<(&mut [u8], &mut [Self])>
where Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
source§

impl FromZeroes for SuperBlock
where u32: FromZeroes, u16: FromZeroes, [u8; 16]: FromZeroes,

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
source§

impl Copy for SuperBlock

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.