picofuse

mutex.h
Go to the documentation of this file.
1 
17 #pragma once
18 #include <stdbool.h>
19 #include <stddef.h>
20 #include <stdint.h>
21 
27 #ifndef SYS_MUTEX_CAPACITY
28 #define SYS_MUTEX_CAPACITY 32
29 #endif
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
36 // TYPES
37 
43 typedef struct sys_mutex_t sys_mutex_t;
44 
46 // LIFECYCLE
47 
62 
71 void sys_mutex_deinit(sys_mutex_t *mutex);
72 
75 // METHODS
77 
92 bool sys_mutex_lock(sys_mutex_t *mutex);
93 
105 bool sys_mutex_trylock(sys_mutex_t *mutex);
106 
117 bool sys_mutex_unlock(sys_mutex_t *mutex);
118 
121 
123 #ifdef __cplusplus
124 extern "C" {
125 #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:43
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.