RTEMS 6.1-rc6
Loading...
Searching...
No Matches
event.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2014, 2021 embedded brains GmbH & Co. KG
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 * This file is part of the RTEMS quality process and was automatically
39 * generated. If you find something that needs to be fixed or
40 * worded better please post a report or patch to an RTEMS mailing list
41 * or raise a bug report:
42 *
43 * https://www.rtems.org/bugs.html
44 *
45 * For information on updating and regenerating please refer to the How-To
46 * section in the Software Requirements Engineering chapter of the
47 * RTEMS Software Engineering manual. The manual is provided as a part of
48 * a release. For development sources please refer to the online
49 * documentation at:
50 *
51 * https://docs.rtems.org
52 */
53
54/* Generated from spec:/rtems/event/if/header */
55
56#ifndef _RTEMS_RTEMS_EVENT_H
57#define _RTEMS_RTEMS_EVENT_H
58
59#include <stdint.h>
60#include <rtems/rtems/options.h>
61#include <rtems/rtems/status.h>
62#include <rtems/rtems/types.h>
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
68/* Generated from spec:/rtems/event/if/group */
69
79/* Generated from spec:/rtems/event/if/all-events */
80
96#define RTEMS_ALL_EVENTS 0xffffffff
97
98/* Generated from spec:/rtems/event/if/event-00 */
99
106#define RTEMS_EVENT_0 0x00000001
107
108/* Generated from spec:/rtems/event/if/event-01 */
109
116#define RTEMS_EVENT_1 0x00000002
117
118/* Generated from spec:/rtems/event/if/event-02 */
119
126#define RTEMS_EVENT_2 0x00000004
127
128/* Generated from spec:/rtems/event/if/event-03 */
129
136#define RTEMS_EVENT_3 0x00000008
137
138/* Generated from spec:/rtems/event/if/event-04 */
139
146#define RTEMS_EVENT_4 0x00000010
147
148/* Generated from spec:/rtems/event/if/event-05 */
149
156#define RTEMS_EVENT_5 0x00000020
157
158/* Generated from spec:/rtems/event/if/event-06 */
159
166#define RTEMS_EVENT_6 0x00000040
167
168/* Generated from spec:/rtems/event/if/event-07 */
169
176#define RTEMS_EVENT_7 0x00000080
177
178/* Generated from spec:/rtems/event/if/event-08 */
179
186#define RTEMS_EVENT_8 0x00000100
187
188/* Generated from spec:/rtems/event/if/event-09 */
189
196#define RTEMS_EVENT_9 0x00000200
197
198/* Generated from spec:/rtems/event/if/event-10 */
199
206#define RTEMS_EVENT_10 0x00000400
207
208/* Generated from spec:/rtems/event/if/event-11 */
209
216#define RTEMS_EVENT_11 0x00000800
217
218/* Generated from spec:/rtems/event/if/event-12 */
219
226#define RTEMS_EVENT_12 0x00001000
227
228/* Generated from spec:/rtems/event/if/event-13 */
229
236#define RTEMS_EVENT_13 0x00002000
237
238/* Generated from spec:/rtems/event/if/event-14 */
239
246#define RTEMS_EVENT_14 0x00004000
247
248/* Generated from spec:/rtems/event/if/event-15 */
249
256#define RTEMS_EVENT_15 0x00008000
257
258/* Generated from spec:/rtems/event/if/event-16 */
259
266#define RTEMS_EVENT_16 0x00010000
267
268/* Generated from spec:/rtems/event/if/event-17 */
269
276#define RTEMS_EVENT_17 0x00020000
277
278/* Generated from spec:/rtems/event/if/event-18 */
279
286#define RTEMS_EVENT_18 0x00040000
287
288/* Generated from spec:/rtems/event/if/event-19 */
289
296#define RTEMS_EVENT_19 0x00080000
297
298/* Generated from spec:/rtems/event/if/event-20 */
299
306#define RTEMS_EVENT_20 0x00100000
307
308/* Generated from spec:/rtems/event/if/event-21 */
309
316#define RTEMS_EVENT_21 0x00200000
317
318/* Generated from spec:/rtems/event/if/event-22 */
319
326#define RTEMS_EVENT_22 0x00400000
327
328/* Generated from spec:/rtems/event/if/event-23 */
329
336#define RTEMS_EVENT_23 0x00800000
337
338/* Generated from spec:/rtems/event/if/event-24 */
339
346#define RTEMS_EVENT_24 0x01000000
347
348/* Generated from spec:/rtems/event/if/event-25 */
349
356#define RTEMS_EVENT_25 0x02000000
357
358/* Generated from spec:/rtems/event/if/event-26 */
359
366#define RTEMS_EVENT_26 0x04000000
367
368/* Generated from spec:/rtems/event/if/event-27 */
369
376#define RTEMS_EVENT_27 0x08000000
377
378/* Generated from spec:/rtems/event/if/event-28 */
379
386#define RTEMS_EVENT_28 0x10000000
387
388/* Generated from spec:/rtems/event/if/event-29 */
389
396#define RTEMS_EVENT_29 0x20000000
397
398/* Generated from spec:/rtems/event/if/event-30 */
399
406#define RTEMS_EVENT_30 0x40000000
407
408/* Generated from spec:/rtems/event/if/event-31 */
409
416#define RTEMS_EVENT_31 0x80000000
417
418/* Generated from spec:/rtems/event/if/pending-events */
419
426#define RTEMS_PENDING_EVENTS 0
427
428/* Generated from spec:/rtems/event/if/set */
429
436typedef uint32_t rtems_event_set;
437
438/* Generated from spec:/rtems/event/if/system-lio-list-completed */
439
445#define RTEMS_EVENT_SYSTEM_LIO_LIST_COMPLETED RTEMS_EVENT_28
446
447/* Generated from spec:/rtems/event/if/system-network-close */
448
453#define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
454
455/* Generated from spec:/rtems/event/if/system-network-sbwait */
456
461#define RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT RTEMS_EVENT_24
462
463/* Generated from spec:/rtems/event/if/system-network-sosleep */
464
469#define RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP RTEMS_EVENT_25
470
471/* Generated from spec:/rtems/event/if/system-receive */
472
505 rtems_event_set event_in,
506 rtems_option option_set,
507 rtems_interval ticks,
508 rtems_event_set *event_out
509);
510
511/* Generated from spec:/rtems/event/if/system-send */
512
536 rtems_id id,
537 rtems_event_set event_in
538);
539
540/* Generated from spec:/rtems/event/if/system-server */
541
546#define RTEMS_EVENT_SYSTEM_SERVER RTEMS_EVENT_30
547
548/* Generated from spec:/rtems/event/if/system-server-resume */
549
554#define RTEMS_EVENT_SYSTEM_SERVER_RESUME RTEMS_EVENT_29
555
556/* Generated from spec:/rtems/event/if/system-transient */
557
562#define RTEMS_EVENT_SYSTEM_TRANSIENT RTEMS_EVENT_31
563
564/* Generated from spec:/rtems/event/if/transient-clear */
565
581static inline void rtems_event_transient_clear( void )
582{
583 rtems_event_set event_out;
584
588 0,
589 &event_out
590 );
591}
592
593/* Generated from spec:/rtems/event/if/transient-receive */
594
614static inline rtems_status_code rtems_event_transient_receive(
615 rtems_option option_set,
616 rtems_interval ticks
617)
618{
619 rtems_event_set event_out;
620
623 RTEMS_EVENT_ALL | option_set,
624 ticks,
625 &event_out
626 );
627}
628
629/* Generated from spec:/rtems/event/if/transient-send */
630
651static inline rtems_status_code rtems_event_transient_send( rtems_id id )
652{
654}
655
656/* Generated from spec:/rtems/event/if/send */
657
726
727/* Generated from spec:/rtems/event/if/receive */
728
834 rtems_event_set event_in,
835 rtems_option option_set,
836 rtems_interval ticks,
837 rtems_event_set *event_out
838);
839
840#ifdef __cplusplus
841}
842#endif
843
844#endif /* _RTEMS_RTEMS_EVENT_H */
This header file provides types used by the Classic API.
rtems_status_code rtems_event_send(rtems_id id, rtems_event_set event_in)
Sends the event set to the task.
Definition: eventsend.c:46
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 from the calling task.
Definition: eventreceive.c:47
uint32_t rtems_event_set
This integer type represents a bit field which can hold exactly 32 individual events.
Definition: event.h:436
uint32_t rtems_option
This type represents a Classic API directive option set.
Definition: options.h:126
#define RTEMS_NO_WAIT
This option constant indicates that the task does not want to wait on the resource.
Definition: options.h:117
#define RTEMS_EVENT_ALL
This option constant indicates that the task wishes to wait until all events of interest are availabl...
Definition: options.h:93
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition: types.h:94
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition: types.h:114
This header file provides the Classic API directive options.
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 from the executing task.
Definition: systemeventreceive.c:46
rtems_status_code rtems_event_system_send(rtems_id id, rtems_event_set event_in)
Sends the system event set to the task.
Definition: systemeventsend.c:45
#define RTEMS_EVENT_SYSTEM_TRANSIENT
This event set constant represents the reserved system event for transient usage.
Definition: event.h:562
This header file provides the status codes of Classic API directives and support functions.