RTEMS CPU Kit with SuperCore  4.11.3
event.h
Go to the documentation of this file.
1 
20 /* COPYRIGHT (c) 1989-2008.
21  * On-Line Applications Research Corporation (OAR).
22  *
23  * The license and distribution terms for this file may be
24  * found in the file LICENSE in this distribution or at
25  * http://www.rtems.org/license/LICENSE.
26  */
27 
28 #ifndef _RTEMS_RTEMS_EVENT_H
29 #define _RTEMS_RTEMS_EVENT_H
30 
31 #include <rtems/rtems/status.h>
32 #include <rtems/rtems/types.h>
33 #include <rtems/rtems/options.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
51 typedef uint32_t rtems_event_set;
52 
56 #define RTEMS_ALL_EVENTS 0xFFFFFFFF
57 
59 #define RTEMS_EVENT_0 0x00000001
60 
61 #define RTEMS_EVENT_1 0x00000002
62 
63 #define RTEMS_EVENT_2 0x00000004
64 
65 #define RTEMS_EVENT_3 0x00000008
66 
67 #define RTEMS_EVENT_4 0x00000010
68 
69 #define RTEMS_EVENT_5 0x00000020
70 
71 #define RTEMS_EVENT_6 0x00000040
72 
73 #define RTEMS_EVENT_7 0x00000080
74 
75 #define RTEMS_EVENT_8 0x00000100
76 
77 #define RTEMS_EVENT_9 0x00000200
78 
79 #define RTEMS_EVENT_10 0x00000400
80 
81 #define RTEMS_EVENT_11 0x00000800
82 
83 #define RTEMS_EVENT_12 0x00001000
84 
85 #define RTEMS_EVENT_13 0x00002000
86 
87 #define RTEMS_EVENT_14 0x00004000
88 
89 #define RTEMS_EVENT_15 0x00008000
90 
91 #define RTEMS_EVENT_16 0x00010000
92 
93 #define RTEMS_EVENT_17 0x00020000
94 
95 #define RTEMS_EVENT_18 0x00040000
96 
97 #define RTEMS_EVENT_19 0x00080000
98 
99 #define RTEMS_EVENT_20 0x00100000
100 
101 #define RTEMS_EVENT_21 0x00200000
102 
103 #define RTEMS_EVENT_22 0x00400000
104 
105 #define RTEMS_EVENT_23 0x00800000
106 
107 #define RTEMS_EVENT_24 0x01000000
108 
109 #define RTEMS_EVENT_25 0x02000000
110 
111 #define RTEMS_EVENT_26 0x04000000
112 
113 #define RTEMS_EVENT_27 0x08000000
114 
115 #define RTEMS_EVENT_28 0x10000000
116 
117 #define RTEMS_EVENT_29 0x20000000
118 
119 #define RTEMS_EVENT_30 0x40000000
120 
121 #define RTEMS_EVENT_31 0x80000000
122 
180 #define RTEMS_PENDING_EVENTS 0
181 
217  rtems_id id,
218  rtems_event_set event_in
219 );
220 
283  rtems_event_set event_in,
284  rtems_option option_set,
285  rtems_interval ticks,
286  rtems_event_set *event_out
287 );
288 
309 #define RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT RTEMS_EVENT_24
310 
314 #define RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP RTEMS_EVENT_25
315 
319 #define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
320 
324 #define RTEMS_EVENT_SYSTEM_TIMER_SERVER RTEMS_EVENT_30
325 
329 #define RTEMS_EVENT_SYSTEM_TRANSIENT RTEMS_EVENT_31
330 
335  rtems_id id,
336  rtems_event_set event_in
337 );
338 
343  rtems_event_set event_in,
344  rtems_option option_set,
345  rtems_interval ticks,
346  rtems_event_set *event_out
347 );
348 
465  rtems_id id
466 )
467 {
469 }
470 
477  rtems_option option_set,
478  rtems_interval ticks
479 )
480 {
481  rtems_event_set event_out;
482 
485  RTEMS_EVENT_ALL | option_set,
486  ticks,
487  &event_out
488  );
489 }
490 
497 {
498  rtems_event_set event_out;
499 
503  0,
504  &event_out
505  );
506 }
507 
510 typedef struct {
511  rtems_event_set pending_events;
512 } Event_Control;
513 
514 #ifdef __cplusplus
515 }
516 #endif
517 
518 #endif
519 /* end of include file */
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
#define RTEMS_INLINE_ROUTINE
The following (in conjunction with compiler arguments) are used to choose between the use of static i...
Definition: basedefs.h:135
Definition: event.h:510
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
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
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:476
rtems_status_code
Classic API Status.
Definition: status.h:46
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:51
RTEMS_INLINE_ROUTINE rtems_status_code rtems_event_transient_send(rtems_id id)
See rtems_event_system_send().
Definition: event.h:464
uint32_t rtems_option
The following type defines the control block used to manage option sets.
Definition: options.h:45
#define RTEMS_EVENT_ALL
This option constants indicates that the task wishes to wait until all events of interest are availab...
Definition: options.h:68
#define RTEMS_EVENT_SYSTEM_TRANSIENT
Reserved system event for transient usage.
Definition: event.h:329
RTEMS_INLINE_ROUTINE void rtems_event_transient_clear(void)
See rtems_event_system_receive().
Definition: event.h:496
#define RTEMS_NO_WAIT
This option constants indicates that the task is to not wait on the resource.
Definition: options.h:62
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