Struct esp_idf_hal::sys::portMUX_TYPE
source · #[repr(C)]pub struct portMUX_TYPE {
pub owner: u32,
pub count: u32,
}
Expand description
@brief Spinlock object Owner:
- Set to 0 if uninitialized
- Set to portMUX_FREE_VAL when free
- Set to CORE_ID_REGVAL_PRO or CORE_ID_REGVAL_AP when locked
- Any other value indicates corruption Count:
- 0 if unlocked
- Recursive count if locked
@note Not a true spinlock as single core RISC-V does not have atomic compare and set instruction @note Keep portMUX_INITIALIZER_UNLOCKED in sync with this struct
Fields§
§owner: u32
§count: u32
Trait Implementations§
source§impl Clone for portMUX_TYPE
impl Clone for portMUX_TYPE
source§fn clone(&self) -> portMUX_TYPE
fn clone(&self) -> portMUX_TYPE
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for portMUX_TYPE
impl Debug for portMUX_TYPE
source§impl Default for portMUX_TYPE
impl Default for portMUX_TYPE
source§fn default() -> portMUX_TYPE
fn default() -> portMUX_TYPE
Returns the “default value” for a type. Read more
impl Copy for portMUX_TYPE
Auto Trait Implementations§
impl Freeze for portMUX_TYPE
impl RefUnwindSafe for portMUX_TYPE
impl Send for portMUX_TYPE
impl Sync for portMUX_TYPE
impl Unpin for portMUX_TYPE
impl UnwindSafe for portMUX_TYPE
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)