Struct nrf52832_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 · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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
sourcepub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
pub 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>,
sourcepub fn checked_cast_from(src: Src) -> Option<Dst>
pub 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>,
sourcepub fn lossless_try_into(self) -> Option<Dst>
pub 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>,
sourcepub fn lossy_into(self) -> Dst
pub fn lossy_into(self) -> Dst
Performs the conversion.
sourceimpl<T> OverflowingAs for T
impl<T> OverflowingAs for T
sourcepub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
pub 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>,
sourcepub fn overflowing_cast_from(src: Src) -> (Dst, bool)
pub fn overflowing_cast_from(src: Src) -> (Dst, bool)
OverflowingCasts the value.
sourceimpl<T> SaturatingAs for T
impl<T> SaturatingAs for T
sourcepub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
pub 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>,
sourcepub fn saturating_cast_from(src: Src) -> Dst
pub fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
sourcepub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
pub 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>,
sourcepub fn unwrapped_cast_from(src: Src) -> Dst
pub fn unwrapped_cast_from(src: Src) -> Dst
UnwrappedCasts the value.
sourceimpl<T> WrappingAs for T
impl<T> WrappingAs for T
sourcepub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
pub 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>,
sourcepub fn wrapping_cast_from(src: Src) -> Dst
pub fn wrapping_cast_from(src: Src) -> Dst
WrappingCasts the value.