Struct nrf52840_hal::Ccm
source · [−]pub struct Ccm { /* private fields */ }
Expand description
A safe, blocking wrapper around the AES-CCM peripheral.
Implementations
sourceimpl Ccm
impl Ccm
sourcepub fn init(regs: CCM, arr: AAR, data_rate: DataRate) -> Ccm
pub fn init(regs: CCM, arr: AAR, data_rate: DataRate) -> Ccm
Inits the CCM peripheral. This method also demands ownership of the AAR peripheral, because it shares registers with the CCM.
sourcepub fn encrypt_packet(
&mut self,
ccm_data: &mut CcmData,
clear_packet: &[u8],
cipher_packet: &mut [u8],
scratch: &mut [u8]
) -> Result<(), CcmError>
pub fn encrypt_packet(
&mut self,
ccm_data: &mut CcmData,
clear_packet: &[u8],
cipher_packet: &mut [u8],
scratch: &mut [u8]
) -> Result<(), CcmError>
Encrypts a packet and generates a MIC.
The generated MIC will be placed after the payload in the cipher_packet
. The slices
passed to this method must have the correct size, for more information refer to the module
level documentation. The counter in ccm_data
will be incremented if the operation
succeeds. All parameters passed to this method must reside in RAM.
sourcepub fn decrypt_packet(
&mut self,
ccm_data: &mut CcmData,
clear_packet: &mut [u8],
cipher_packet: &[u8],
scratch: &mut [u8]
) -> Result<(), CcmError>
pub fn decrypt_packet(
&mut self,
ccm_data: &mut CcmData,
clear_packet: &mut [u8],
cipher_packet: &[u8],
scratch: &mut [u8]
) -> Result<(), CcmError>
Decrypts a packet and checks its MIC.
This method will return an error if the MIC verification fails. The slices passed to this
method must have the correct size, for more information refer to the module level
documentation. The counter in ccm_data
will be incremented if the operation succeeds. All
parameters passed to this method must reside in RAM.
Auto Trait Implementations
impl RefUnwindSafe for Ccm
impl Send for Ccm
impl !Sync for Ccm
impl Unpin for Ccm
impl UnwindSafe for Ccm
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedAs for T
impl<T> CheckedAs for T
sourcefn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
sourcefn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
sourceimpl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
sourcefn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
sourceimpl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
sourcefn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
sourceimpl<T> OverflowingAs for T
impl<T> OverflowingAs for T
sourcefn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
sourcefn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
OverflowingCasts the value.
sourceimpl<T> SaturatingAs for T
impl<T> SaturatingAs for T
sourcefn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
sourcefn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
sourcefn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
sourcefn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
UnwrappedCasts the value.
sourceimpl<T> WrappingAs for T
impl<T> WrappingAs for T
sourcefn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
sourcefn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
WrappingCasts the value.