129#if defined(MODULE_XTIMER) || DOXYGEN
API of the utility functions for atomic accesses.
#define MUTEX_INIT_LOCKED
Static initializer for mutex_t with a locked mutex.
static void mutex_lock(mutex_t *mutex)
Locks a mutex, blocking.
static int mutex_trylock(mutex_t *mutex)
Tries to get a mutex, non-blocking.
static int sema_inv_wait_timeout(sema_inv_t *s, uint32_t us)
Wait for the inverse semaphore value to reach zero or a timeout being reached.
bool sema_inv_post_mask(sema_inv_t *s, uint32_t mask)
Signal semaphore (mask mode).
bool sema_inv_post(sema_inv_t *s)
Signal semaphore (counter mode).
static void sema_inv_init(sema_inv_t *s, uint32_t value)
Initialize an inverse semaphore.
static void sema_inv_wait(sema_inv_t *s)
Wait for the inverse semaphore value to reach zero.
static int sema_inv_try_wait(sema_inv_t *s)
Check if the inverse semaphore value has reached zero.
int xtimer_mutex_lock_timeout(mutex_t *mutex, uint64_t us)
lock a mutex but with timeout
Mutex for thread synchronization.
uint32_t value
value of the semaphore
mutex_t lock
mutex of the semaphore
xtimer interface definitions