RTEMS 6.1-rc7
Loading...
Searching...
No Matches
types.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2009, 2021 embedded brains GmbH & Co. KG
13 * Copyright (C) 1988, 2017 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/type/if/header */
55
56#ifndef _RTEMS_RTEMS_TYPES_H
57#define _RTEMS_RTEMS_TYPES_H
58
59#include <stdint.h>
60#include <sys/_timespec.h>
61#include <sys/_timeval.h>
62#include <sys/cpuset.h>
63#include <rtems/rtems/modes.h>
64#include <rtems/score/cpuopts.h>
65#include <rtems/score/object.h>
67
68#if defined(RTEMS_MULTIPROCESSING)
69 #include <rtems/score/mpci.h>
70 #include <rtems/score/mppkt.h>
71#endif
72
73#ifdef __cplusplus
74extern "C" {
75#endif
76
77/* Generated from spec:/rtems/type/if/group */
78
87/* Generated from spec:/rtems/type/if/id */
88
95
96/* Generated from spec:/rtems/type/if/id-none */
97
105#define RTEMS_ID_NONE OBJECTS_ID_NONE
106
107/* Generated from spec:/rtems/type/if/interval */
108
115
116#if defined(RTEMS_MULTIPROCESSING)
117 /* Generated from spec:/rtems/type/if/mp-packet-classes */
118
124 typedef MP_packet_Classes rtems_mp_packet_classes;
125#endif
126
127#if defined(RTEMS_MULTIPROCESSING)
128 /* Generated from spec:/rtems/type/if/mpci-entry */
129
135 typedef MPCI_Entry rtems_mpci_entry;
136#endif
137
138#if defined(RTEMS_MULTIPROCESSING)
139 /* Generated from spec:/rtems/type/if/mpci-get-packet-entry */
140
146 typedef MPCI_get_packet_entry rtems_mpci_get_packet_entry;
147#endif
148
149#if defined(RTEMS_MULTIPROCESSING)
150 /* Generated from spec:/rtems/type/if/mpci-initialization-entry */
151
157 typedef MPCI_initialization_entry rtems_mpci_initialization_entry;
158#endif
159
160#if defined(RTEMS_MULTIPROCESSING)
161 /* Generated from spec:/rtems/type/if/mpci-receive-packet-entry */
162
168 typedef MPCI_receive_entry rtems_mpci_receive_packet_entry;
169#endif
170
171#if defined(RTEMS_MULTIPROCESSING)
172 /* Generated from spec:/rtems/type/if/mpci-return-packet-entry */
173
179 typedef MPCI_return_packet_entry rtems_mpci_return_packet_entry;
180#endif
181
182#if defined(RTEMS_MULTIPROCESSING)
183 /* Generated from spec:/rtems/type/if/mpci-send-packet-entry */
184
190 typedef MPCI_send_entry rtems_mpci_send_packet_entry;
191#endif
192
193#if defined(RTEMS_MULTIPROCESSING)
194 /* Generated from spec:/rtems/type/if/mpci-table */
195
201 typedef MPCI_Control rtems_mpci_table;
202#endif
203
204#if defined(RTEMS_MULTIPROCESSING)
205 /* Generated from spec:/rtems/type/if/multiprocessing-table */
206
212 typedef MPCI_Configuration rtems_multiprocessing_table;
213#endif
214
215/* Generated from spec:/rtems/type/if/name */
216
226typedef uint32_t rtems_name;
227
228/* Generated from spec:/rtems/type/if/no-timeout */
229
236#define RTEMS_NO_TIMEOUT ( (rtems_interval) WATCHDOG_NO_TIMEOUT )
237
238#if defined(RTEMS_MULTIPROCESSING)
239 /* Generated from spec:/rtems/type/if/packet-prefix */
240
247 typedef MP_packet_Prefix rtems_packet_prefix;
248#endif
249
250/* Generated from spec:/rtems/type/if/priority */
251
257typedef uint32_t rtems_task_priority;
258
259/* Generated from spec:/rtems/type/if/time-of-day */
260
266typedef struct {
270 uint32_t year;
271
275 uint32_t month;
276
280 uint32_t day;
281
285 uint32_t hour;
286
290 uint32_t minute;
291
296 uint32_t second;
297
302 uint32_t ticks;
304
305#ifdef __cplusplus
306}
307#endif
308
309#endif /* _RTEMS_RTEMS_TYPES_H */
This header file provides interfaces of the MPCI Handler which are used by the implementation and the...
uint32_t rtems_name
This type represents Classic API object names.
Definition: types.h:226
uint32_t rtems_task_priority
This integer type represents task priorities of the Classic API.
Definition: types.h:257
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
void MPCI_Entry
Definition: mpci.h:72
MPCI_Entry(* MPCI_get_packet_entry)(MP_packet_Prefix **)
Definition: mpci.h:85
MPCI_Entry(* MPCI_return_packet_entry)(MP_packet_Prefix *)
Definition: mpci.h:95
MPCI_Entry(* MPCI_send_entry)(uint32_t, MP_packet_Prefix *)
Definition: mpci.h:105
MPCI_Entry(* MPCI_receive_entry)(MP_packet_Prefix **)
Definition: mpci.h:117
MPCI_Entry(* MPCI_initialization_entry)(void)
Definition: mpci.h:78
MP_packet_Classes
Definition: mppkt.h:73
uint32_t Objects_Id
Definition: object.h:101
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdogticks.h:59
This header file provides the task modes API of the Task Manager.
This header file provides the interfaces of the Multiprocessing (MP) Packet Handler.
This header file provides interfaces of the Object Handler which are used by the implementation and t...
Definition: mpci.h:155
Definition: mpci.h:129
Definition: mppkt.h:102
This type represents Classic API calendar times.
Definition: types.h:266
uint32_t ticks
This member contains the clock tick of the second with values from 0 to rtems_clock_get_ticks_per_sec...
Definition: types.h:302
uint32_t hour
This member contains the hour of the day with values from 0 to 23.
Definition: types.h:285
uint32_t minute
This member contains the minute of the hour with values from 0 to 59.
Definition: types.h:290
uint32_t day
This member contains the day of the month with values from 1 to 31.
Definition: types.h:280
uint32_t second
This member contains the second of the minute with values from 0 to 59.
Definition: types.h:296
uint32_t month
This member contains the month of the year with values from 1 to 12.
Definition: types.h:275
uint32_t year
This member contains the year A.D.
Definition: types.h:270
This header file provides the interfaces of the Watchdog Handler related to watchdog ticks which are ...