libmetal
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
mutex.h File Reference
#include <metal/atomic.h>

Go to the source code of this file.

Data Structures

struct  metal_mutex_t
 

Macros

#define METAL_MUTEX_UNLOCKED   0
 
#define METAL_MUTEX_LOCKED   1
 
#define METAL_MUTEX_INIT(m)   { ATOMIC_VAR_INIT(METAL_MUTEX_UNLOCKED) }
 
#define METAL_MUTEX_DEFINE(m)   metal_mutex_t m = METAL_MUTEX_INIT(m)
 

Functions

static void __metal_mutex_init (metal_mutex_t *mutex)
 
static void __metal_mutex_deinit (metal_mutex_t *mutex)
 
static int __metal_mutex_try_acquire (metal_mutex_t *mutex)
 
static void __metal_mutex_acquire (metal_mutex_t *mutex)
 
static void __metal_mutex_release (metal_mutex_t *mutex)
 
static int __metal_mutex_is_acquired (metal_mutex_t *mutex)
 

Macro Definition Documentation

◆ METAL_MUTEX_DEFINE

#define METAL_MUTEX_DEFINE (   m)    metal_mutex_t m = METAL_MUTEX_INIT(m)

◆ METAL_MUTEX_INIT

#define METAL_MUTEX_INIT (   m)    { ATOMIC_VAR_INIT(METAL_MUTEX_UNLOCKED) }

◆ METAL_MUTEX_LOCKED

#define METAL_MUTEX_LOCKED   1

◆ METAL_MUTEX_UNLOCKED

#define METAL_MUTEX_UNLOCKED   0

Function Documentation

◆ __metal_mutex_acquire()

static void __metal_mutex_acquire ( metal_mutex_t mutex)
inlinestatic

◆ __metal_mutex_deinit()

static void __metal_mutex_deinit ( metal_mutex_t mutex)
inlinestatic

◆ __metal_mutex_init()

static void __metal_mutex_init ( metal_mutex_t mutex)
inlinestatic

◆ __metal_mutex_is_acquired()

static int __metal_mutex_is_acquired ( metal_mutex_t mutex)
inlinestatic

◆ __metal_mutex_release()

static void __metal_mutex_release ( metal_mutex_t mutex)
inlinestatic

◆ __metal_mutex_try_acquire()

static int __metal_mutex_try_acquire ( metal_mutex_t mutex)
inlinestatic