picofuse

Typedefs
event.h File Reference

Defines opaque event queues for producer/consumer coordination. More...

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
Include dependency graph for event.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef void * sys_event_t
 Event payload stored in a queue. More...
 
typedef struct sys_event_queue_t sys_event_queue_t
 Opaque event queue.
 

Functions

Lifecycle
sys_event_queue_tsys_event_queue_init (size_t capacity)
 Allocate a new event queue. More...
 
void sys_event_queue_deinit (sys_event_queue_t *queue)
 Deinitialize an event queue and release its resources. More...
 
Methods
bool sys_event_queue_push (sys_event_queue_t *queue, sys_event_t event)
 Push an event, overwriting the oldest entry if the queue is full. More...
 
bool sys_event_queue_try_push (sys_event_queue_t *queue, sys_event_t event)
 Try to push an event without overwriting. More...
 
sys_event_t sys_event_queue_peek (sys_event_queue_t *queue)
 Peek at the next queued event without removing it. More...
 
sys_event_t sys_event_queue_pop (sys_event_queue_t *queue)
 Pop the next event, blocking until one is available or shutdown. More...
 
sys_event_t sys_event_queue_try_pop (sys_event_queue_t *queue)
 Pop the next event without blocking. More...
 
sys_event_t sys_event_queue_timed_pop (sys_event_queue_t *queue, uint32_t timeout_ms)
 Pop the next event with a timeout. More...
 
size_t sys_event_queue_size (sys_event_queue_t *queue)
 Return the current event count. More...
 
bool sys_event_queue_empty (sys_event_queue_t *queue)
 Report whether a queue is empty. More...
 
void sys_event_queue_shutdown (sys_event_queue_t *queue)
 Prevent future pushes and wake blocked consumers. More...
 
bool sys_event_queue_lock (sys_event_queue_t *queue)
 Lock a queue for manual inspection. More...
 
bool sys_event_queue_unlock (sys_event_queue_t *queue)
 Unlock a queue after manual inspection. More...
 

Detailed Description

Defines opaque event queues for producer/consumer coordination.

Definition in file event.h.