| 123456789101112131415161718 |
- #pragma once
- typedef FuriEventFlag* FuriApiLock;
- #define API_LOCK_EVENT (1U << 0)
- #define API_LOCK_INIT_LOCKED() furi_event_flag_alloc();
- #define API_LOCK_WAIT_UNTIL_UNLOCK(_lock) \
- furi_event_flag_wait(_lock, API_LOCK_EVENT, FuriFlagWaitAny, FuriWaitForever);
- #define API_LOCK_FREE(_lock) furi_event_flag_free(_lock);
- #define API_LOCK_UNLOCK(_lock) furi_event_flag_set(_lock, API_LOCK_EVENT);
- #define API_LOCK_WAIT_UNTIL_UNLOCK_AND_FREE(_lock) \
- API_LOCK_WAIT_UNTIL_UNLOCK(_lock); \
- API_LOCK_FREE(_lock);
|