12 #ifndef __METAL_MUTEX__H__ 13 #error "Include metal/mutex.h instead of metal/freertos/mutex.h" 16 #ifndef __METAL_FREERTOS_MUTEX__H__ 17 #define __METAL_FREERTOS_MUTEX__H__ 19 #include <metal/atomic.h> 34 #define METAL_MUTEX_INIT(m) { ATOMIC_VAR_INIT(0) } 39 #define METAL_MUTEX_DEFINE(m) metal_mutex_t m = METAL_MUTEX_INIT(m)
static void __metal_mutex_deinit(metal_mutex_t *mutex)
Definition: mutex.h:46
static void __metal_mutex_release(metal_mutex_t *mutex)
Definition: mutex.h:63
#define atomic_flag_test_and_set(FLAG)
Definition: atomic.h:43
#define atomic_flag_clear(FLAG)
Definition: atomic.h:47
#define atomic_store(OBJ, VAL)
Definition: atomic.h:55
#define atomic_load(OBJ)
Definition: atomic.h:59
static void __metal_mutex_acquire(metal_mutex_t *mutex)
Definition: mutex.h:56
static int __metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition: mutex.h:68
struct k_sem metal_mutex_t
Definition: mutex.h:26
int atomic_int
Definition: atomic.h:24
static int __metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition: mutex.h:51
static void __metal_mutex_init(metal_mutex_t *mutex)
Definition: mutex.h:41