oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
Loading...
Searching...
No Matches
Macros | Functions
eventgroup.h File Reference
#include "ove/types.h"
#include "ove_config.h"
#include "ove/storage.h"
#include "ove/time.h"
Include dependency graph for eventgroup.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OVE_EG_WAIT_ALL   0x01
 Wait flag: block until ALL requested bits are set simultaneously.
 
#define OVE_EG_CLEAR_ON_EXIT   0x02
 Wait flag: atomically clear the matched bits on return.
 

Functions

int ove_eventgroup_init (ove_eventgroup_t *eg, ove_eventgroup_storage_t *storage)
 Initialise an event group using caller-provided static storage.
 
void ove_eventgroup_deinit (ove_eventgroup_t eg)
 Deinitialise a statically-allocated event group.
 
int ove_eventgroup_create (ove_eventgroup_t *eg)
 Allocate and initialise a heap-backed event group.
 
void ove_eventgroup_destroy (ove_eventgroup_t eg)
 Destroy a heap-allocated event group.
 
ove_eventbits_t ove_eventgroup_set_bits (ove_eventgroup_t eg, ove_eventbits_t bits)
 Set one or more bits in the event group from task context.
 
ove_eventbits_t ove_eventgroup_clear_bits (ove_eventgroup_t eg, ove_eventbits_t bits)
 Clear one or more bits in the event group.
 
int ove_eventgroup_wait_bits (ove_eventgroup_t eg, ove_eventbits_t bits, uint32_t flags, uint64_t timeout_ns, ove_eventbits_t *result)
 Block until one or all of the requested bits are set.
 
static int ove_eventgroup_wait_bits_until (ove_eventgroup_t eg, ove_eventbits_t bits, uint32_t flags, uint64_t deadline_ns, ove_eventbits_t *result)
 Deadline-based variant of ove_eventgroup_wait_bits.
 
ove_eventbits_t ove_eventgroup_set_bits_from_isr (ove_eventgroup_t eg, ove_eventbits_t bits)
 Set bits in the event group from an ISR.
 
ove_eventbits_t ove_eventgroup_get_bits (ove_eventgroup_t eg)
 Read the current bit value of the event group without blocking.
 
int ove_eventgroup_set_notify (ove_eventgroup_t eg, ove_notify_cb cb, void *user_data)
 Register a notify callback fired after every successful set of one or more bits. See set_notify family across primitives.