48typedef struct __evt evt_t;
55typedef struct __evt evt_id [];
71#define _EVT_INIT() { _OBJ_INIT() }
79#define OS_EVT( evt ) \
80 evt_t evt[] = { _EVT_INIT() }
83#define static_EVT( evt ) \
84 static evt_t evt[] = { _EVT_INIT() }
108#define EVT_CREATE() \
155int evt_waitFor( evt_t *evt,
unsigned *event, cnt_t delay );
191void evt_give( evt_t *evt,
unsigned event );
199#if defined(__cplusplus)
206struct Event :
public __evt
210 Event(): __evt _EVT_INIT() {}
212 ~Event() { assert(__evt::obj.queue ==
nullptr); }
217 assert(_src.obj.queue ==
nullptr);
234 int wait (
unsigned *_event =
nullptr ) {
return evt_wait (
this, _event); }
236 void give (
unsigned _event ) {
evt_give (
this, _event); }
#define INFINITE
infinite waiting
Definition osbase.h:250
int evt_waitFor(evt_t *evt, unsigned *event, cnt_t delay)
wait for release the event object for given duration of time
void evt_init(evt_t *evt)
initialize an event object
void evt_give(evt_t *evt, unsigned event)
resume all tasks that are waiting on the event object
int evt_waitUntil(evt_t *evt, unsigned *event, cnt_t time)
wait for release the event object until given timepoint
void evt_kill(evt_t *evt)
alias of evt_reset()
Definition osevent.h:138
int evt_wait(evt_t *evt, unsigned *event)
wait indefinitely until the event object has been released
Definition osevent.h:181
void evt_reset(evt_t *evt)
reset the event object and wake up all waiting tasks with 'E_STOPPED' event value
static constexpr rep until(const std::chrono::time_point< Clock, _Duration > &_time)
time point in ticks, rounded up to whole ticks (only a time point of this clock)
Definition osclock.h:109
static constexpr rep count(const std::chrono::duration< _Rep, _Period > &_delay)
delay in ticks, rounded up to whole ticks; negative delay: IMMEDIATE, delay out of range: INFINITE
Definition osclock.h:102
create and initialize an event object
Definition osevent.h:206
void reset()
evt_reset()
Definition osevent.h:223
void give(unsigned _event)
evt_give()
Definition osevent.h:235
int waitUntil(unsigned *_event, const T &_time)
evt_waitUntil()
Definition osevent.h:230
int wait(unsigned *_event=nullptr)
evt_wait()
Definition osevent.h:233
int waitFor(unsigned *_event, const T &_delay)
evt_waitFor()
Definition osevent.h:226
void kill()
evt_kill()
Definition osevent.h:224
int wait(unsigned &_event)
evt_wait()
Definition osevent.h:234
constexpr Event()
constructor, see the constructor parameters of the class
Definition osevent.h:209