Struct AesDma

Source
pub struct AesDma<'d> {
    pub aes: Aes<'d>,
    /* private fields */
}
Available on crate feature unstable only.
Expand description

A DMA capable AES instance.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Fields§

§aes: Aes<'d>

The underlying Aes driver

Implementations§

Source§

impl<'d> AesDma<'d>

Source

pub fn write_key<K>(&mut self, key: K)
where K: Into<Key>,

Writes the encryption key to the AES hardware, checking that its length matches expected constraints.

Source

pub fn write_block(&mut self, block: &[u8])

Writes a block of data to the AES hardware, ensuring the block’s length is properly aligned.

Source

pub fn process<K, RXBUF, TXBUF>( self, number_of_blocks: usize, output: RXBUF, input: TXBUF, mode: Mode, cipher_mode: CipherMode, key: K, ) -> Result<AesTransfer<'d, RXBUF, TXBUF>, (DmaError, Self, RXBUF, TXBUF)>
where K: Into<Key>, TXBUF: DmaTxBuffer, RXBUF: DmaRxBuffer,

Perform a DMA transfer.

This will return a AesTransfer. The maximum amount of data to be sent/received is 32736 bytes.

Trait Implementations§

Source§

impl Debug for AesDma<'_>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'d> Freeze for AesDma<'d>

§

impl<'d> RefUnwindSafe for AesDma<'d>

§

impl<'d> Send for AesDma<'d>

§

impl<'d> Sync for AesDma<'d>

§

impl<'d> Unpin for AesDma<'d>

§

impl<'d> !UnwindSafe for AesDma<'d>

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

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

Performs the conversion.