12 #ifndef __METAL_MUTEX__H__
13 #error "Include metal/mutex.h instead of metal/nuttx/mutex.h"
16 #ifndef __METAL_NUTTX_MUTEX__H__
17 #define __METAL_NUTTX_MUTEX__H__
31 #define METAL_MUTEX_INIT(m) NXRMUTEX_INITIALIZER
36 #define METAL_MUTEX_DEFINE(m) metal_mutex_t m = NXRMUTEX_INITIALIZER
45 nxrmutex_destroy(mutex);
50 return nxrmutex_trylock(mutex);
60 nxrmutex_unlock(mutex);
65 return nxrmutex_is_locked(mutex);
NuttX mutex primitives for libmetal.
static void __metal_mutex_release(metal_mutex_t *mutex)
Definition: mutex.h:58
static void __metal_mutex_deinit(metal_mutex_t *mutex)
Definition: mutex.h:43
static int __metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition: mutex.h:48
static int __metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition: mutex.h:63
static void __metal_mutex_acquire(metal_mutex_t *mutex)
Definition: mutex.h:53
static void __metal_mutex_init(metal_mutex_t *mutex)
Definition: mutex.h:38
rmutex_t metal_mutex_t
Definition: mutex.h:25