mutex.h 368 B

1234567891011121314151617
  1. #ifndef CX_ZIVUOS_MUTEX_H_INCLUDED
  2. #define CX_ZIVUOS_MUTEX_H_INCLUDED
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. typedef volatile enum zv_mutex_e {
  6. ZV_MUTEX_FREE,
  7. ZV_MUTEX_LOCKED
  8. } zv_mutex_t;
  9. enum zv_mutex_e zv_mutex_create();
  10. bool zv_mutex_try_lock(zv_mutex_t *self);
  11. bool zv_mutex_is_free(zv_mutex_t *self);
  12. void zv_mutex_unlock(zv_mutex_t *self);
  13. #endif