28 #if !defined(__critsec_h__)
31 #if defined(__cplusplus)
37 #if defined(CONF_TM) && defined(CONF_CRITICAL_SECTIONS)
41 #ifndef DOXYGEN_SHOULD_SKIP_INTERNALS
52 #endif // DOXYGEN_SHOULD_SKIP_INTERNALS
60 #define locked_decrement(counter) atomic_dec(counter)
79 #define initialize_critical_section(cs) (cs)->count=0
101 #define leave_critical_section(cs) atomic_dec(&(cs)->count)
111 #define destroy_critical_section(cs)
113 #endif // CONF_TM && CONF_CRITICAL_SECTIONS
115 #if defined(__cplusplus)
117 #endif // __cplusplus
119 #endif // __critsec_h__
struct critsec critsec_t
critical section type definition
volatile unsigned char atomic_t
The data type that allows for atomic count operations.
unsigned long wakeup_t
wakeup data area type
Interface: critical section management.
int enter_critical_section(critsec_t *cs)
enter critical section
wakeup_t wait_critical_section(wakeup_t data)
wakeup when critical section is available