ChibiOS/RT
5.1.0
|
Events macros and structures. More...
Go to the source code of this file.
Data Structures | |
struct | event_listener |
Event Listener structure. More... | |
struct | event_source |
Event Source structure. More... | |
Macros | |
#define | ALL_EVENTS ((eventmask_t)-1) |
All events allowed mask. More... | |
#define | EVENT_MASK(eid) ((eventmask_t)1 << (eventmask_t)(eid)) |
Returns an event mask from an event identifier. More... | |
#define | _EVENTSOURCE_DATA(name) {(event_listener_t *)(&name)} |
Data part of a static event source initializer. More... | |
#define | EVENTSOURCE_DECL(name) event_source_t name = _EVENTSOURCE_DATA(name) |
Static event source initializer. More... | |
Typedefs | |
typedef struct event_source | event_source_t |
Event Source structure. More... | |
typedef void(* | evhandler_t) (eventid_t id) |
Event Handler callback function. More... | |
Functions | |
void | chEvtRegisterMaskWithFlags (event_source_t *esp, event_listener_t *elp, eventmask_t events, eventflags_t wflags) |
Registers an Event Listener on an Event Source. More... | |
void | chEvtUnregister (event_source_t *esp, event_listener_t *elp) |
Unregisters an Event Listener from its Event Source. More... | |
eventmask_t | chEvtGetAndClearEventsI (eventmask_t events) |
Clears the pending events specified in the events mask. More... | |
eventmask_t | chEvtGetAndClearEvents (eventmask_t events) |
Clears the pending events specified in the events mask. More... | |
eventmask_t | chEvtAddEvents (eventmask_t events) |
Adds (OR) a set of events to the current thread, this is much faster than using chEvtBroadcast() or chEvtSignal() . More... | |
eventflags_t | chEvtGetAndClearFlags (event_listener_t *elp) |
Returns the flags associated to an event_listener_t . More... | |
eventflags_t | chEvtGetAndClearFlagsI (event_listener_t *elp) |
Returns the unmasked flags associated to an event_listener_t . More... | |
void | chEvtSignal (thread_t *tp, eventmask_t events) |
Adds a set of event flags directly to the specified thread_t . More... | |
void | chEvtSignalI (thread_t *tp, eventmask_t events) |
Adds a set of event flags directly to the specified thread_t . More... | |
void | chEvtBroadcastFlags (event_source_t *esp, eventflags_t flags) |
Signals all the Event Listeners registered on the specified Event Source. More... | |
void | chEvtBroadcastFlagsI (event_source_t *esp, eventflags_t flags) |
Signals all the Event Listeners registered on the specified Event Source. More... | |
void | chEvtDispatch (const evhandler_t *handlers, eventmask_t events) |
Invokes the event handlers associated to an event flags mask. More... | |
eventmask_t | chEvtWaitOne (eventmask_t events) |
Waits for exactly one of the specified events. More... | |
eventmask_t | chEvtWaitAny (eventmask_t events) |
Waits for any of the specified events. More... | |
eventmask_t | chEvtWaitAll (eventmask_t events) |
Waits for all the specified events. More... | |
eventmask_t | chEvtWaitOneTimeout (eventmask_t events, sysinterval_t timeout) |
Waits for exactly one of the specified events. More... | |
eventmask_t | chEvtWaitAnyTimeout (eventmask_t events, sysinterval_t timeout) |
Waits for any of the specified events. More... | |
eventmask_t | chEvtWaitAllTimeout (eventmask_t events, sysinterval_t timeout) |
Waits for all the specified events. More... | |
static void | chEvtObjectInit (event_source_t *esp) |
Initializes an Event Source. More... | |
static void | chEvtRegisterMask (event_source_t *esp, event_listener_t *elp, eventmask_t events) |
Registers an Event Listener on an Event Source. More... | |
static void | chEvtRegister (event_source_t *esp, event_listener_t *elp, eventid_t event) |
Registers an Event Listener on an Event Source. More... | |
static bool | chEvtIsListeningI (event_source_t *esp) |
Verifies if there is at least one event_listener_t registered. More... | |
static void | chEvtBroadcast (event_source_t *esp) |
Signals all the Event Listeners registered on the specified Event Source. More... | |
static void | chEvtBroadcastI (event_source_t *esp) |
Signals all the Event Listeners registered on the specified Event Source. More... | |
static eventmask_t | chEvtAddEventsI (eventmask_t events) |
Adds (OR) a set of events to the current thread, this is much faster than using chEvtBroadcast() or chEvtSignal() . More... | |
static eventmask_t | chEvtGetEventsX (void) |
Returns the events mask. More... | |
Events macros and structures.
Definition in file chevents.h.