RTEMS  5.0.0
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
25 extern "C" {
26 #endif
27 
40 typedef uint32_t rtems_event_set;
41 
45 #define RTEMS_ALL_EVENTS 0xFFFFFFFF
46 
48 #define RTEMS_EVENT_0 0x00000001
49 
50 #define RTEMS_EVENT_1 0x00000002
51 
52 #define RTEMS_EVENT_2 0x00000004
53 
54 #define RTEMS_EVENT_3 0x00000008
55 
56 #define RTEMS_EVENT_4 0x00000010
57 
58 #define RTEMS_EVENT_5 0x00000020
59 
60 #define RTEMS_EVENT_6 0x00000040
61 
62 #define RTEMS_EVENT_7 0x00000080
63 
64 #define RTEMS_EVENT_8 0x00000100
65 
66 #define RTEMS_EVENT_9 0x00000200
67 
68 #define RTEMS_EVENT_10 0x00000400
69 
70 #define RTEMS_EVENT_11 0x00000800
71 
72 #define RTEMS_EVENT_12 0x00001000
73 
74 #define RTEMS_EVENT_13 0x00002000
75 
76 #define RTEMS_EVENT_14 0x00004000
77 
78 #define RTEMS_EVENT_15 0x00008000
79 
80 #define RTEMS_EVENT_16 0x00010000
81 
82 #define RTEMS_EVENT_17 0x00020000
83 
84 #define RTEMS_EVENT_18 0x00040000
85 
86 #define RTEMS_EVENT_19 0x00080000
87 
88 #define RTEMS_EVENT_20 0x00100000
89 
90 #define RTEMS_EVENT_21 0x00200000
91 
92 #define RTEMS_EVENT_22 0x00400000
93 
94 #define RTEMS_EVENT_23 0x00800000
95 
96 #define RTEMS_EVENT_24 0x01000000
97 
98 #define RTEMS_EVENT_25 0x02000000
99 
100 #define RTEMS_EVENT_26 0x04000000
101 
102 #define RTEMS_EVENT_27 0x08000000
103 
104 #define RTEMS_EVENT_28 0x10000000
105 
106 #define RTEMS_EVENT_29 0x20000000
107 
108 #define RTEMS_EVENT_30 0x40000000
109 
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 */
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:65
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_receive(rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out)
Receives pending events.
Definition: eventreceive.c:26
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_status_code
Classic API Status.
Definition: status.h:43
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_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(rtems_id id)
See rtems_event_system_send().
Definition: event.h:459
uint32_t rtems_option
Definition: options.h:42
#define RTEMS_EVENT_ALL
Definition: options.h:65
#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
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:83
#define RTEMS_NO_WAIT
Definition: options.h:59
rtems_status_code rtems_event_system_send(rtems_id id, rtems_event_set event_in)
See rtems_event_send().
Definition: systemeventsend.c:31
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