ChibiOS/RT Logo ChibiOS/RT

Architecture - Reference Manual - Guides

Data Structures | Defines | Typedefs | Functions

chevents.h File Reference

Events macros and structures. More...

Go to the source code of this file.

Data Structures

struct  EventListener
 Event Listener structure. More...
struct  EventSource
 Event Source structure. More...

Defines

#define _EVENTSOURCE_DATA(name)   {(void *)(&name)}
 Data part of a static event source initializer.
#define EVENTSOURCE_DECL(name)   EventSource name = _EVENTSOURCE_DATA(name)
 Static event source initializer.
#define ALL_EVENTS   ((eventmask_t)-1)
#define EVENT_MASK(eid)   ((eventmask_t)(1 << (eid)))
#define chEvtRegister(esp, elp, eid)   chEvtRegisterMask(esp, elp, EVENT_MASK(eid))
 Registers an Event Listener on an Event Source.
#define chEvtInit(esp)   ((esp)->es_next = (EventListener *)(void *)(esp))
 Initializes an Event Source.
#define chEvtIsListening(esp)   ((void *)(esp) != (void *)(esp)->es_next)
 Verifies if there is at least one EventListener registered.

Typedefs

typedef struct EventSource EventSource
 Event Source structure.
typedef void(* evhandler_t )(eventid_t)
 Event Handler callback function.

Functions

void chEvtRegisterMask (EventSource *esp, EventListener *elp, eventmask_t mask)
 Registers an Event Listener on an Event Source.
void chEvtUnregister (EventSource *esp, EventListener *elp)
 Unregisters an Event Listener from its Event Source.
eventmask_t chEvtClear (eventmask_t mask)
 Clears the pending events specified in the mask.
eventmask_t chEvtPend (eventmask_t mask)
 Pends a set of event flags on the current thread, this is much faster than using chEvtBroadcast() or chEvtSignal().
void chEvtSignal (Thread *tp, eventmask_t mask)
 Pends a set of event flags on the specified Thread.
void chEvtSignalI (Thread *tp, eventmask_t mask)
 Pends a set of event flags on the specified Thread.
void chEvtBroadcast (EventSource *esp)
 Signals all the Event Listeners registered on the specified Event Source.
void chEvtBroadcastI (EventSource *esp)
 Signals all the Event Listeners registered on the specified Event Source.
void chEvtDispatch (const evhandler_t *handlers, eventmask_t mask)
 Invokes the event handlers associated to an event flags mask.
eventmask_t chEvtWaitOneTimeout (eventmask_t mask, systime_t time)
 Waits for exactly one of the specified events.
eventmask_t chEvtWaitAnyTimeout (eventmask_t mask, systime_t time)
 Waits for any of the specified events.
eventmask_t chEvtWaitAllTimeout (eventmask_t mask, systime_t time)
 Waits for all the specified events.

Detailed Description

Events macros and structures.

Definition in file chevents.h.


Generated on Sun Oct 24 2010 09:40:38 for ChibiOS/RT by doxygen 1.7.1