Struct esp32s2::HMAC

source ·
pub struct HMAC { /* private fields */ }
Expand description

HMAC (Hash-based Message Authentication Code) Accelerator

Implementations§

source§

impl HMAC

source

pub const PTR: *const RegisterBlock = {0x6003e000 as *const hmac::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn set_start(&self) -> &SET_START

0x40 - HMAC start control register

source

pub fn set_para_purpose(&self) -> &SET_PARA_PURPOSE

0x44 - HMAC parameter configuration register

source

pub fn set_para_key(&self) -> &SET_PARA_KEY

0x48 - HMAC key configuration register

source

pub fn set_para_finish(&self) -> &SET_PARA_FINISH

0x4c - HMAC configuration completion register

source

pub fn set_message_one(&self) -> &SET_MESSAGE_ONE

0x50 - HMAC one message control register

source

pub fn set_message_ing(&self) -> &SET_MESSAGE_ING

0x54 - HMAC message continue register

source

pub fn set_message_end(&self) -> &SET_MESSAGE_END

0x58 - HMAC message end register

source

pub fn set_result_finish(&self) -> &SET_RESULT_FINISH

0x5c - HMAC read result completion register

source

pub fn set_invalidate_jtag(&self) -> &SET_INVALIDATE_JTAG

0x60 - Invalidate JTAG result register

source

pub fn set_invalidate_ds(&self) -> &SET_INVALIDATE_DS

0x64 - Invalidate digital signature result register

source

pub fn query_error(&self) -> &QUERY_ERROR

0x68 - The matching result between key and purpose user configured

source

pub fn query_busy(&self) -> &QUERY_BUSY

0x6c - The busy state of HMAC module

source

pub fn wr_message_(&self, n: usize) -> &WR_MESSAGE_

0x80..0xc0 - Message register %s

source

pub fn wr_message__iter(&self) -> impl Iterator<Item = &WR_MESSAGE_>

Iterator for array of: 0x80..0xc0 - Message register %s

source

pub fn rd_result_(&self, n: usize) -> &RD_RESULT_

0xc0..0xe0 - Hash result register %s

source

pub fn rd_result__iter(&self) -> impl Iterator<Item = &RD_RESULT_>

Iterator for array of: 0xc0..0xe0 - Hash result register %s

source

pub fn set_message_pad(&self) -> &SET_MESSAGE_PAD

0xf0 - Software padding register

source

pub fn one_block(&self) -> &ONE_BLOCK

0xf4 - One block message register.

source

pub fn date(&self) -> &DATE

0xf8 - Version control register

Trait Implementations§

source§

impl Debug for HMAC

source§

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

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

impl Deref for HMAC

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for HMAC

Auto Trait Implementations§

§

impl RefUnwindSafe for HMAC

§

impl !Sync for HMAC

§

impl Unpin for HMAC

§

impl UnwindSafe for HMAC

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, U> TryFrom<U> for T
where U: Into<T>,

§

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

§

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.