Struct esp32c3::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 - Process control register 0.

source

pub fn set_para_purpose(&self) -> &SET_PARA_PURPOSE

0x44 - Configure purpose.

source

pub fn set_para_key(&self) -> &SET_PARA_KEY

0x48 - Configure key.

source

pub fn set_para_finish(&self) -> &SET_PARA_FINISH

0x4c - Finish initial configuration.

source

pub fn set_message_one(&self) -> &SET_MESSAGE_ONE

0x50 - Process control register 1.

source

pub fn set_message_ing(&self) -> &SET_MESSAGE_ING

0x54 - Process control register 2.

source

pub fn set_message_end(&self) -> &SET_MESSAGE_END

0x58 - Process control register 3.

source

pub fn set_result_finish(&self) -> &SET_RESULT_FINISH

0x5c - Process control register 4.

source

pub fn set_invalidate_jtag(&self) -> &SET_INVALIDATE_JTAG

0x60 - Invalidate register 0.

source

pub fn set_invalidate_ds(&self) -> &SET_INVALIDATE_DS

0x64 - Invalidate register 1.

source

pub fn query_error(&self) -> &QUERY_ERROR

0x68 - Error register.

source

pub fn query_busy(&self) -> &QUERY_BUSY

0x6c - Busy register.

source

pub fn wr_message_mem(&self, n: usize) -> &WR_MESSAGE_MEM

0x80..0xc0 - Message block memory.

source

pub fn wr_message_mem_iter(&self) -> impl Iterator<Item = &WR_MESSAGE_MEM>

Iterator for array of: 0x80..0xc0 - Message block memory.

source

pub fn rd_result_mem(&self, n: usize) -> &RD_RESULT_MEM

0xc0..0xe0 - Result from upstream.

source

pub fn rd_result_mem_iter(&self) -> impl Iterator<Item = &RD_RESULT_MEM>

Iterator for array of: 0xc0..0xe0 - Result from upstream.

source

pub fn set_message_pad(&self) -> &SET_MESSAGE_PAD

0xf0 - Process control register 5.

source

pub fn one_block(&self) -> &ONE_BLOCK

0xf4 - Process control register 6.

source

pub fn soft_jtag_ctrl(&self) -> &SOFT_JTAG_CTRL

0xf8 - Jtag register 0.

source

pub fn wr_jtag(&self) -> &WR_JTAG

0xfc - Jtag register 1.

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.