28#if !defined(__critsec_h__)
31#if defined(__cplusplus)
37#if defined(CONF_TM) && defined(CONF_CRITICAL_SECTIONS)
41#ifndef 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)
115#if defined(__cplusplus)
Interface: critical section management.
volatile unsigned char atomic_t
The data type that allows for atomic count operations.
kernel configuration file
int enter_critical_section(critsec_t *cs)
enter critical section
wakeup_t wait_critical_section(wakeup_t data)
wakeup when critical section is available
critical section data structure
Internal Interface: task management.
unsigned long wakeup_t
wakeup data area type