picofuse

mutex.h
Go to the documentation of this file.
1 
18 #pragma once
19 #include <stdbool.h>
20 #include <stddef.h>
21 #include <stdint.h>
22 
28 #ifndef SYS_MUTEX_CAPACITY
29 #define SYS_MUTEX_CAPACITY 32
30 #endif
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
37 // TYPES
38 
44 typedef struct sys_mutex_t sys_mutex_t;
45 
47 // LIFECYCLE
48 
63 
72 void sys_mutex_deinit(sys_mutex_t *mutex);
73 
76 // METHODS
78 
93 bool sys_mutex_lock(sys_mutex_t *mutex);
94 
106 bool sys_mutex_trylock(sys_mutex_t *mutex);
107 
118 bool sys_mutex_unlock(sys_mutex_t *mutex);
119 
122 
124 #ifdef __cplusplus
125 extern "C" {
126 #endif
bool sys_mutex_trylock(sys_mutex_t *mutex)
Try to lock a mutex.
bool sys_mutex_lock(sys_mutex_t *mutex)
Lock a mutex, by blocking.
struct sys_mutex_t sys_mutex_t
Mutex.
Definition: mutex.h:44
sys_mutex_t * sys_mutex_init(void)
Initialize a new mutex.
void sys_mutex_deinit(sys_mutex_t *mutex)
Release a mutex.
bool sys_mutex_unlock(sys_mutex_t *mutex)
Unlock a mutex.