Partition

Struct Partition 

Source
pub struct Partition { /* private fields */ }
Expand description

Describes a Partition

Implementations§

Source§

impl Partition

Source

pub const fn new(first_sector: u16, last_sector: u16) -> Partition

Create a new partition, with the given start and end sectors.

It defaults to no permissions.

Source

pub const fn from_raw( permissions_and_location: u32, permissions_and_flags: u32, ) -> Partition

Create a new partition from run-time values.

Get these from the ROM function get_partition_table_info with an argument of PARTITION_LOCATION_AND_FLAGS.

Source

pub const fn with_permission(self, permission: Permission) -> Partition

Add a permission

Source

pub const fn with_name(self, name: &str) -> Partition

Set the name of the partition

Source

pub const fn with_extra_families(self, extra_families: &[u32]) -> Partition

Set the extra families for the partition.

You can supply up to four.

Source

pub const fn with_id(self, id: u64) -> Partition

Set the ID

Add a link

Source

pub const fn with_flag(self, flag: PartitionFlag) -> Partition

Set a flag

Source

pub fn get_first_last_sectors(&self) -> (u16, u16)

Get the partition start and end

The offsets are in 4 KiB sectors, inclusive.

Source

pub fn get_first_last_bytes(&self) -> (u32, u32)

Get the partition start and end

The offsets are in bytes, inclusive.

Source

pub fn has_permission(&self, permission: Permission) -> bool

Check if it has a permission

Source

pub fn get_extra_families(&self) -> &[u32]

Get which extra families are allowed in this partition

Source

pub fn get_name(&self) -> Option<&str>

Get the name of the partition

Returns None if there’s no name, or the name is not valid UTF-8.

Source

pub fn get_id(&self) -> Option<u64>

Get the ID

Check if this partition is linked

Source

pub fn has_flag(&self, flag: PartitionFlag) -> bool

Check if the partition has a flag set

Trait Implementations§

Source§

impl Clone for Partition

Source§

fn clone(&self) -> Partition

Returns a duplicate 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 Partition

Source§

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

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

impl Display for Partition

Source§

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

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

impl PartialEq for Partition

Source§

fn eq(&self, other: &Partition) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Partition

Source§

impl StructuralPartialEq for Partition

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Choices> CoproductSubsetter<CNil, HNil> for Choices

Source§

type Remainder = Choices

Source§

fn subset( self, ) -> Result<CNil, <Choices as CoproductSubsetter<CNil, HNil>>::Remainder>

Extract a subset of the possible types in a coproduct (or get the remaining possibilities) 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T, U, I> LiftInto<U, I> for T
where U: LiftFrom<T, I>,

Source§

fn lift_into(self) -> U

Performs the indexed conversion.
Source§

impl<Source> Sculptor<HNil, HNil> for Source

Source§

type Remainder = Source

Source§

fn sculpt(self) -> (HNil, <Source as Sculptor<HNil, HNil>>::Remainder)

Consumes the current HList and returns an HList with the requested shape. Read more
Source§

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

Source§

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>,

Source§

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.