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>
impl<'d> AesDma<'d>
Sourcepub fn write_key<K>(&mut self, key: K)where
K: Into<Key>,
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.
Sourcepub fn write_block(&mut self, block: &[u8])
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.
Sourcepub 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)>
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)>
Perform a DMA transfer.
This will return a AesTransfer. The maximum amount of data to be sent/received is 32736 bytes.