nrf-pac

Crates

git

Versions

nrf5340-app

Flavors

AesControl

Struct AesControl 

Source
#[repr(transparent)]
pub struct AesControl(pub u32);
Expand description

Control the AES engine behavior.

Tuple Fields§

§0: u32

Implementations§

Source§

impl AesControl

Source

pub const fn dec_key0(&self) -> DecKey0

Set AES encrypt or decrypt mode in non-tunneling operations.

Source

pub const fn set_dec_key0(&mut self, val: DecKey0)

Set AES encrypt or decrypt mode in non-tunneling operations.

Source

pub const fn mode0_is_cbc_cts(&self) -> bool

This field allows to add distinction to the CBC and CTR modes defined in field MODE_KEY0. If MODE_KEY0 is set to CBC in combination with this field, AES mode is CBC-CTS. If MODE_KEY0 is set to CTR in combination with this field, AES mode is GCTR.

Source

pub const fn set_mode0_is_cbc_cts(&mut self, val: bool)

This field allows to add distinction to the CBC and CTR modes defined in field MODE_KEY0. If MODE_KEY0 is set to CBC in combination with this field, AES mode is CBC-CTS. If MODE_KEY0 is set to CTR in combination with this field, AES mode is GCTR.

Source

pub const fn mode_key0(&self) -> ModeKey0

Set the AES mode in non-tunneling operations, or the AES mode of the first stage in tunneling operations.

Source

pub const fn set_mode_key0(&mut self, val: ModeKey0)

Set the AES mode in non-tunneling operations, or the AES mode of the first stage in tunneling operations.

Source

pub const fn mode_key1(&self) -> ModeKey1

Set the AES mode of the second stage in tunneling operations

Source

pub const fn set_mode_key1(&mut self, val: ModeKey1)

Set the AES mode of the second stage in tunneling operations

Source

pub const fn cbc_is_essiv(&self) -> bool

If MODE_KEY0 is set to CBC, and this field is set, the mode is CBC with ESSIV.

Source

pub const fn set_cbc_is_essiv(&mut self, val: bool)

If MODE_KEY0 is set to CBC, and this field is set, the mode is CBC with ESSIV.

Source

pub const fn aes_tunnel(&self) -> bool

Configure AES engine for standard non-tunneling or tunneling operations.

Source

pub const fn set_aes_tunnel(&mut self, val: bool)

Configure AES engine for standard non-tunneling or tunneling operations.

Source

pub const fn cbc_is_bitlocker(&self) -> bool

If MODE_KEY0 is set to CBC, and this field is set, the mode is CBC Bitlocker.

Source

pub const fn set_cbc_is_bitlocker(&mut self, val: bool)

If MODE_KEY0 is set to CBC, and this field is set, the mode is CBC Bitlocker.

Source

pub const fn nk_key0(&self) -> NkKey0

Set the AES key length in non-tunneling operations, or the AES key length of the first stage in tunneling operations.

Source

pub const fn set_nk_key0(&mut self, val: NkKey0)

Set the AES key length in non-tunneling operations, or the AES key length of the first stage in tunneling operations.

Source

pub const fn nk_key1(&self) -> NkKey1

Set the AES key length of the second stage in tunneling operations.

Source

pub const fn set_nk_key1(&mut self, val: NkKey1)

Set the AES key length of the second stage in tunneling operations.

Source

pub const fn aes_tunnel1_decrypt(&self) -> AesTunnel1Decrypt

Configure if first tunnel stage performs encrypt or decrypt operation.

Source

pub const fn set_aes_tunnel1_decrypt(&mut self, val: AesTunnel1Decrypt)

Configure if first tunnel stage performs encrypt or decrypt operation.

Source

pub const fn aes_tun_b1_uses_padded_data_in(&self) -> bool

For tunneling operations this field determine the data that is fed to the second tunneling stage.

Source

pub const fn set_aes_tun_b1_uses_padded_data_in(&mut self, val: bool)

For tunneling operations this field determine the data that is fed to the second tunneling stage.

Source

pub const fn aes_tunnel0_encrypt(&self) -> AesTunnel0Encrypt

Configure if first tunnel stage performs encrypt or decrypt operation.

Source

pub const fn set_aes_tunnel0_encrypt(&mut self, val: AesTunnel0Encrypt)

Configure if first tunnel stage performs encrypt or decrypt operation.

Source

pub const fn aes_output_mid_tunnel_data(&self) -> AesOutputMidTunnelData

This fields configure if the AES engine output is the result of the first or second tunneling stage.

Source

pub const fn set_aes_output_mid_tunnel_data( &mut self, val: AesOutputMidTunnelData, )

This fields configure if the AES engine output is the result of the first or second tunneling stage.

Source

pub const fn aes_tunnel_b1_pad_en(&self) -> bool

This field configure if the input data to the second tunnel stage is to be padded with zeroes according to how many bytes are remaining.

Source

pub const fn set_aes_tunnel_b1_pad_en(&mut self, val: bool)

This field configure if the input data to the second tunnel stage is to be padded with zeroes according to how many bytes are remaining.

Source

pub const fn aes_out_mid_tun_to_hash(&self) -> AesOutMidTunToHash

This field determines for AES-TO-HASH-AND-DOUT tunneling operations, whether the AES outputs to the HASH the result of the first or the second tunneling stage.

Source

pub const fn set_aes_out_mid_tun_to_hash(&mut self, val: AesOutMidTunToHash)

This field determines for AES-TO-HASH-AND-DOUT tunneling operations, whether the AES outputs to the HASH the result of the first or the second tunneling stage.

Source

pub const fn direct_access(&self) -> bool

Using direct access and not the DIN-DOUT DMA interface

Source

pub const fn set_direct_access(&mut self, val: bool)

Using direct access and not the DIN-DOUT DMA interface

Trait Implementations§

Source§

impl Clone for AesControl

Source§

fn clone(&self) -> AesControl

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 AesControl

Source§

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

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

impl Default for AesControl

Source§

fn default() -> AesControl

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

impl PartialEq for AesControl

Source§

fn eq(&self, other: &AesControl) -> 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 Copy for AesControl

Source§

impl Eq for AesControl

Source§

impl StructuralPartialEq for AesControl

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