RTEMS
event.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 
11 /*
12  * Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de)
13  * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
14  *
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions
17  * are met:
18  * 1. Redistributions of source code must retain the above copyright
19  * notice, this list of conditions and the following disclaimer.
20  * 2. Redistributions in binary form must reproduce the above copyright
21  * notice, this list of conditions and the following disclaimer in the
22  * documentation and/or other materials provided with the distribution.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  */
36 
37 /*
38  * Do not manually edit this file. It is part of the RTEMS quality process
39  * and was automatically generated.
40  *
41  * If you find something that needs to be fixed or worded better please
42  * post a report to an RTEMS mailing list or raise a bug report:
43  *
44  * https://docs.rtems.org/branches/master/user/support/bugs.html
45  *
46  * For information on updating and regenerating please refer to:
47  *
48  * https://docs.rtems.org/branches/master/eng/req/howto.html
49  */
50 
51 /* Generated from spec:/rtems/event/if/header */
52 
53 #ifndef _RTEMS_RTEMS_EVENT_H
54 #define _RTEMS_RTEMS_EVENT_H
55 
56 #include <stdint.h>
57 #include <rtems/rtems/options.h>
58 #include <rtems/rtems/status.h>
59 #include <rtems/rtems/types.h>
60 
61 #ifdef __cplusplus
62 extern "C" {
63 #endif
64 
65 /* Generated from spec:/rtems/event/if/group */
66 
76 /* Generated from spec:/rtems/event/if/event-31 */
77 
84 #define RTEMS_EVENT_31 0x80000000
85 
86 /* Generated from spec:/rtems/event/if/set */
87 
94 typedef uint32_t rtems_event_set;
95 
96 /* Generated from spec:/rtems/event/if/event-26 */
97 
104 #define RTEMS_EVENT_26 0x04000000
105 
106 /* Generated from spec:/rtems/event/if/event-24 */
107 
114 #define RTEMS_EVENT_24 0x01000000
115 
116 /* Generated from spec:/rtems/event/if/event-25 */
117 
124 #define RTEMS_EVENT_25 0x02000000
125 
126 /* Generated from spec:/rtems/event/if/event-30 */
127 
134 #define RTEMS_EVENT_30 0x40000000
135 
136 /* Generated from spec:/rtems/event/if/event-29 */
137 
144 #define RTEMS_EVENT_29 0x20000000
145 
146 /* Generated from spec:/rtems/event/if/system-transient */
147 
153 #define RTEMS_EVENT_SYSTEM_TRANSIENT RTEMS_EVENT_31
154 
155 /* Generated from spec:/rtems/event/if/system-receive */
156 
177  rtems_event_set event_in,
178  rtems_option option_set,
179  rtems_interval ticks,
180  rtems_event_set *event_out
181 );
182 
183 /* Generated from spec:/rtems/event/if/system-send */
184 
193  rtems_id id,
194  rtems_event_set event_in
195 );
196 
197 /* Generated from spec:/rtems/event/if/all-events */
198 
207 #define RTEMS_ALL_EVENTS 0xffffffff
208 
209 /* Generated from spec:/rtems/event/if/event-0 */
210 
217 #define RTEMS_EVENT_0 0x00000001
218 
219 /* Generated from spec:/rtems/event/if/event-1 */
220 
227 #define RTEMS_EVENT_1 0x00000002
228 
229 /* Generated from spec:/rtems/event/if/event-10 */
230 
237 #define RTEMS_EVENT_10 0x00000400
238 
239 /* Generated from spec:/rtems/event/if/event-11 */
240 
247 #define RTEMS_EVENT_11 0x00000800
248 
249 /* Generated from spec:/rtems/event/if/event-12 */
250 
257 #define RTEMS_EVENT_12 0x00001000
258 
259 /* Generated from spec:/rtems/event/if/event-13 */
260 
267 #define RTEMS_EVENT_13 0x00002000
268 
269 /* Generated from spec:/rtems/event/if/event-14 */
270 
277 #define RTEMS_EVENT_14 0x00004000
278 
279 /* Generated from spec:/rtems/event/if/event-15 */
280 
287 #define RTEMS_EVENT_15 0x00008000
288 
289 /* Generated from spec:/rtems/event/if/event-16 */
290 
297 #define RTEMS_EVENT_16 0x00010000
298 
299 /* Generated from spec:/rtems/event/if/event-17 */
300 
307 #define RTEMS_EVENT_17 0x00020000
308 
309 /* Generated from spec:/rtems/event/if/event-18 */
310 
317 #define RTEMS_EVENT_18 0x00040000
318 
319 /* Generated from spec:/rtems/event/if/event-19 */
320 
327 #define RTEMS_EVENT_19 0x00080000
328 
329 /* Generated from spec:/rtems/event/if/event-2 */
330 
337 #define RTEMS_EVENT_2 0x00000004
338 
339 /* Generated from spec:/rtems/event/if/event-20 */
340 
347 #define RTEMS_EVENT_20 0x00100000
348 
349 /* Generated from spec:/rtems/event/if/event-21 */
350 
357 #define RTEMS_EVENT_21 0x00200000
358 
359 /* Generated from spec:/rtems/event/if/event-22 */
360 
367 #define RTEMS_EVENT_22 0x00400000
368 
369 /* Generated from spec:/rtems/event/if/event-23 */
370 
377 #define RTEMS_EVENT_23 0x00800000
378 
379 /* Generated from spec:/rtems/event/if/event-27 */
380 
387 #define RTEMS_EVENT_27 0x08000000
388 
389 /* Generated from spec:/rtems/event/if/event-28 */
390 
397 #define RTEMS_EVENT_28 0x10000000
398 
399 /* Generated from spec:/rtems/event/if/event-3 */
400 
407 #define RTEMS_EVENT_3 0x00000008
408 
409 /* Generated from spec:/rtems/event/if/event-4 */
410 
417 #define RTEMS_EVENT_4 0x00000010
418 
419 /* Generated from spec:/rtems/event/if/event-5 */
420 
427 #define RTEMS_EVENT_5 0x00000020
428 
429 /* Generated from spec:/rtems/event/if/event-6 */
430 
437 #define RTEMS_EVENT_6 0x00000040
438 
439 /* Generated from spec:/rtems/event/if/event-7 */
440 
447 #define RTEMS_EVENT_7 0x00000080
448 
449 /* Generated from spec:/rtems/event/if/event-8 */
450 
457 #define RTEMS_EVENT_8 0x00000100
458 
459 /* Generated from spec:/rtems/event/if/event-9 */
460 
467 #define RTEMS_EVENT_9 0x00000200
468 
469 /* Generated from spec:/rtems/event/if/pending-events */
470 
477 #define RTEMS_PENDING_EVENTS 0
478 
479 /* Generated from spec:/rtems/event/if/receive */
480 
570  rtems_event_set event_in,
571  rtems_option option_set,
572  rtems_interval ticks,
573  rtems_event_set *event_out
574 );
575 
576 /* Generated from spec:/rtems/event/if/send */
577 
627 
628 /* Generated from spec:/rtems/event/if/system-network-close */
629 
633 #define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
634 
635 /* Generated from spec:/rtems/event/if/system-network-sbwait */
636 
641 #define RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT RTEMS_EVENT_24
642 
643 /* Generated from spec:/rtems/event/if/system-network-sosleep */
644 
648 #define RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP RTEMS_EVENT_25
649 
650 /* Generated from spec:/rtems/event/if/system-server */
651 
656 #define RTEMS_EVENT_SYSTEM_SERVER RTEMS_EVENT_30
657 
658 /* Generated from spec:/rtems/event/if/system-server-resume */
659 
664 #define RTEMS_EVENT_SYSTEM_SERVER_RESUME RTEMS_EVENT_29
665 
666 /* Generated from spec:/rtems/event/if/transient-clear */
667 
671 static inline void rtems_event_transient_clear( void )
672 {
673  rtems_event_set event_out;
674 
678  0,
679  &event_out
680  );
681 }
682 
683 /* Generated from spec:/rtems/event/if/transient-receive */
684 
693  rtems_option option_set,
694  rtems_interval ticks
695 )
696 {
697  rtems_event_set event_out;
698 
701  RTEMS_EVENT_ALL | option_set,
702  ticks,
703  &event_out
704  );
705 }
706 
707 /* Generated from spec:/rtems/event/if/transient-send */
708 
715 {
717 }
718 
719 #ifdef __cplusplus
720 }
721 #endif
722 
723 #endif /* _RTEMS_RTEMS_EVENT_H */
#define RTEMS_NO_WAIT
This option constant indicates that the task does not want to wait on the resource.
Definition: options.h:112
This header file defines types provided by the Classic API.
#define RTEMS_EVENT_SYSTEM_TRANSIENT
This is a reserved system event for transient usage.
Definition: event.h:153
rtems_status_code rtems_event_system_send(rtems_id id, rtems_event_set event_in)
Sends a system event set to a task.
uint32_t rtems_option
This type is used to represent an option set.
Definition: options.h:121
rtems_status_code rtems_event_system_receive(rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out)
Receives or gets a system event set.
This header file defines the status codes and support functions of the Classic API.
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:82
static rtems_status_code rtems_event_transient_send(rtems_id id)
Sends the transient event to the specified task.
Definition: event.h:714
static void rtems_event_transient_clear(void)
Clears the transient event.
Definition: event.h:671
Watchdog_Interval rtems_interval
This type is used to represent clock tick intervals.
Definition: types.h:90
rtems_status_code rtems_event_receive(rtems_event_set event_in, rtems_option option_set, rtems_interval ticks, rtems_event_set *event_out)
Receives or gets an event set.
Definition: eventreceive.c:27
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Definition: types.h:99
This header file defines options provided by the Classic API.
uint32_t rtems_event_set
This integer type can hold an event set of up to 32 events represented as a bit field.
Definition: event.h:94
rtems_status_code rtems_event_send(rtems_id id, rtems_event_set event_in)
Sends an event set to a task.
Definition: eventsend.c:25
static rtems_status_code rtems_event_transient_receive(rtems_option option_set, rtems_interval ticks)
Receives the transient event.
Definition: event.h:692
#define RTEMS_EVENT_ALL
This option constant indicates that the task wishes to wait until all events of interest are availabl...
Definition: options.h:89