RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
event.h
Go to the documentation of this file.
1
9/* COPYRIGHT (c) 1989-2008.
10 * On-Line Applications Research Corporation (OAR).
11 *
12 * The license and distribution terms for this file may be
13 * found in the file LICENSE in this distribution or at
14 * http://www.rtems.org/license/LICENSE.
15 */
16
17#ifndef _RTEMS_RTEMS_EVENT_H
18#define _RTEMS_RTEMS_EVENT_H
19
20#include <rtems/rtems/options.h>
21#include <rtems/rtems/status.h>
22#include <rtems/rtems/types.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
40typedef uint32_t rtems_event_set;
41
45#define RTEMS_ALL_EVENTS 0xFFFFFFFF
46
48#define RTEMS_EVENT_0 0x00000001
50#define RTEMS_EVENT_1 0x00000002
52#define RTEMS_EVENT_2 0x00000004
54#define RTEMS_EVENT_3 0x00000008
56#define RTEMS_EVENT_4 0x00000010
58#define RTEMS_EVENT_5 0x00000020
60#define RTEMS_EVENT_6 0x00000040
62#define RTEMS_EVENT_7 0x00000080
64#define RTEMS_EVENT_8 0x00000100
66#define RTEMS_EVENT_9 0x00000200
68#define RTEMS_EVENT_10 0x00000400
70#define RTEMS_EVENT_11 0x00000800
72#define RTEMS_EVENT_12 0x00001000
74#define RTEMS_EVENT_13 0x00002000
76#define RTEMS_EVENT_14 0x00004000
78#define RTEMS_EVENT_15 0x00008000
80#define RTEMS_EVENT_16 0x00010000
82#define RTEMS_EVENT_17 0x00020000
84#define RTEMS_EVENT_18 0x00040000
86#define RTEMS_EVENT_19 0x00080000
88#define RTEMS_EVENT_20 0x00100000
90#define RTEMS_EVENT_21 0x00200000
92#define RTEMS_EVENT_22 0x00400000
94#define RTEMS_EVENT_23 0x00800000
96#define RTEMS_EVENT_24 0x01000000
98#define RTEMS_EVENT_25 0x02000000
100#define RTEMS_EVENT_26 0x04000000
102#define RTEMS_EVENT_27 0x08000000
104#define RTEMS_EVENT_28 0x10000000
106#define RTEMS_EVENT_29 0x20000000
108#define RTEMS_EVENT_30 0x40000000
110#define RTEMS_EVENT_31 0x80000000
111
169#define RTEMS_PENDING_EVENTS 0
170
206 rtems_id id,
207 rtems_event_set event_in
208);
209
272 rtems_event_set event_in,
273 rtems_option option_set,
274 rtems_interval ticks,
275 rtems_event_set *event_out
276);
277
298#define RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT RTEMS_EVENT_24
299
303#define RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP RTEMS_EVENT_25
304
308#define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
309
314#define RTEMS_EVENT_SYSTEM_SERVER_RESUME RTEMS_EVENT_29
315
320#define RTEMS_EVENT_SYSTEM_SERVER RTEMS_EVENT_30
321
325#define RTEMS_EVENT_SYSTEM_TRANSIENT RTEMS_EVENT_31
326
331 rtems_id id,
332 rtems_event_set event_in
333);
334
339 rtems_event_set event_in,
340 rtems_option option_set,
341 rtems_interval ticks,
342 rtems_event_set *event_out
343);
344
460 rtems_id id
461)
462{
464}
465
472 rtems_option option_set,
473 rtems_interval ticks
474)
475{
476 rtems_event_set event_out;
477
480 RTEMS_EVENT_ALL | option_set,
481 ticks,
482 &event_out
483 );
484}
485
492{
493 rtems_event_set event_out;
494
498 0,
499 &event_out
500 );
501}
502
505#ifdef __cplusplus
506}
507#endif
508
509#endif
510/* end of include file */
uint32_t rtems_event_set
Integer type to hold an event set of up to 32 events represented as a bit field.
Definition: event.h:40
rtems_status_code rtems_event_system_receive(rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out)
See rtems_event_receive().
Definition: systemeventreceive.c:32
rtems_status_code rtems_event_system_send(rtems_id id, rtems_event_set event_in)
See rtems_event_send().
Definition: systemeventsend.c:31
#define RTEMS_EVENT_SYSTEM_TRANSIENT
Reserved system event for transient usage.
Definition: event.h:325
RTEMS_INLINE_ROUTINE void rtems_event_transient_clear(void)
See rtems_event_system_receive().
Definition: event.h:491
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_receive(rtems_option option_set, rtems_interval ticks)
See rtems_event_system_receive().
Definition: event.h:471
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(rtems_id id)
See rtems_event_system_send().
Definition: event.h:459
rtems_status_code rtems_event_send(rtems_id id, rtems_event_set event_in)
Sends an Event Set to the Target Task.
Definition: eventsend.c:25
rtems_status_code rtems_event_receive(rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out)
Receives pending events.
Definition: eventreceive.c:27
uint32_t rtems_option
Definition: options.h:42
#define RTEMS_NO_WAIT
Definition: options.h:59
#define RTEMS_EVENT_ALL
Definition: options.h:65
rtems_status_code
Classic API Status.
Definition: status.h:43
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:127
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66