opentitanlib::image::image

Struct ImageAssembler

Source
pub struct ImageAssembler {
    pub size: usize,
    pub mirrored: bool,
    pub chunks: Vec<ImageChunk>,
}

Fields§

§size: usize§mirrored: bool§chunks: Vec<ImageChunk>

Implementations§

Source§

impl ImageAssembler

Source

pub fn with_params(size: usize, mirrored: bool) -> Self

Creates an ImageAssembler with a given size and mirroring parameters.

Source

pub fn new() -> Self

Creates an ImageAssembler with default parameters for OpenTitan: a 1MiB image which is mirrored.

Source

pub fn parse(&mut self, chunks: &[impl AsRef<str>]) -> Result<()>

Parse a list of strings into chunks to be assembled. Each string may be a filename or a filename@offset describing where in the assembled image the contents of the file should appear. The offset is an integer expressed in any of the bases accepted by ParseInt.

Source

pub fn assemble(&self) -> Result<Vec<u8>>

Assemble the image according to the parameters and parsed chunk specifications.

Trait Implementations§

Source§

impl Debug for ImageAssembler

Source§

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

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

impl Default for ImageAssembler

Source§

fn default() -> ImageAssembler

Returns the “default value” for a type. 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> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V