summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-06-04 20:41:12 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-22 10:06:05 +0200
commitd05ace4ebb9060790fe8973bc45e6dc1eff30acb (patch)
tree75fbe27c94a1aa997f2e1e635d565faddd4315f4
parenta5f0f7c082701efc7dde1ca30ac7f3a586609142 (diff)
Generate <rtems/rtems/types.h>
-rw-r--r--cpukit/include/rtems/rtems/types.h303
1 files changed, 184 insertions, 119 deletions
diff --git a/cpukit/include/rtems/rtems/types.h b/cpukit/include/rtems/rtems/types.h
index 5ce3eb6604..52f7558c91 100644
--- a/cpukit/include/rtems/rtems/types.h
+++ b/cpukit/include/rtems/rtems/types.h
@@ -1,38 +1,62 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
/**
* @file
*
- * @defgroup ClassicTypes Types
+ * @ingroup RTEMSAPIClassicTypes
*
- * @ingroup RTEMSAPIClassic
- *
- * @brief Types used by Classic API.
+ * @brief This header file defines types provided by the API.
*/
-/* COPYRIGHT (c) 1989-2009.
- * On-Line Applications Research Corporation (OAR).
+/*
+ * Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de)
+ * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _RTEMS_RTEMS_TYPES_H
-#define _RTEMS_RTEMS_TYPES_H
-
/*
- * RTEMS basic type definitions
+ * This file was automatically generated. Do not edit it manually.
+ * Please have a look at
+ *
+ * https://docs.rtems.org/branches/master/eng/req/howto.html
+ *
+ * for information how to maintain and re-generate this file.
*/
-#include <sys/cpuset.h>
+#ifndef _RTEMS_RTEMS_TYPES_H
+#define _RTEMS_RTEMS_TYPES_H
+
+#include <stdint.h>
#include <sys/_timespec.h>
#include <sys/_timeval.h>
-#include <stdint.h>
-#include <rtems/score/heapinfo.h>
+#include <sys/cpuset.h>
+#include <rtems/rtems/modes.h>
+#include <rtems/score/mppkt.h>
#include <rtems/score/object.h>
#include <rtems/score/watchdogticks.h>
-#include <rtems/rtems/modes.h>
+
#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/mpci.h>
+ #include <rtems/score/mpci.h>
#endif
#ifdef __cplusplus
@@ -40,157 +64,198 @@ extern "C" {
#endif
/**
- * @addtogroup ClassicTasks
- */
-/**@{**/
-
-/**
- * @brief Classic API @ref ClassicRTEMSSubSecObjectNames "object name" type.
+ * @defgroup RTEMSAPIClassicTypes Basic Types
*
- * Contains the name of a Classic API object. It is an unsigned 32-bit integer
- * which can be treated as a numeric value or initialized using
- * rtems_build_name() to contain four ASCII characters.
- */
-typedef uint32_t rtems_name;
-
-/**
- * @brief Used to manage and manipulate
- * @ref ClassicRTEMSSubSecObjectIdentifiers "RTEMS object identifiers".
- */
-typedef Objects_Id rtems_id;
-
-/**
- * @brief Invalid object identifier value.
+ * @ingroup RTEMSAPIClassic
*
- * No object can have this identifier value.
+ * @brief This group contains basic types of the Classic API.
*/
-#define RTEMS_ID_NONE OBJECTS_ID_NONE
-#if (CPU_ISR_PASSES_FRAME_POINTER == TRUE)
/**
- * @brief Defines the format of the interrupt stack frame as it appears to a
- * user ISR.
- *
- * This data structure is only provided if the interrupt stack frame is passed
- * to the ISR handler.
+ * @ingroup RTEMSAPIClassicTypes
*
- * @see rtems_interrupt_catch().
- */
-typedef CPU_Interrupt_frame rtems_interrupt_frame;
-#endif
-
-/**
- * @brief Used to manage and manipulate intervals specified by
- * @ref ClassicRTEMSSecTime "clock ticks".
+ * @brief This type is used to represent clock tick intervals.
*/
typedef Watchdog_Interval rtems_interval;
/**
- * @brief Constant for indefinite wait.
+ * @ingroup RTEMSAPIClassicTypes
*
- * This is actually an illegal interval value.
+ * @brief Values of this type identify an object.
*/
-#define RTEMS_NO_TIMEOUT ((rtems_interval) WATCHDOG_NO_TIMEOUT)
+typedef Objects_Id rtems_id;
/**
- * @brief Data structure to manage and manipulate calendar
- * @ref ClassicRTEMSSecTime "time".
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This is an invalid object identifier.
+ *
+ * No object can have this identifier.
*/
-typedef struct {
+#define RTEMS_ID_NONE OBJECTS_ID_NONE
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Year, A.D.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This enumerated type defines the packet classes.
*/
- uint32_t year;
+ typedef MP_packet_Classes rtems_mp_packet_classes;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Month, 1 .. 12.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief Return type of every MPCI handler routine.
*/
- uint32_t month;
+ typedef MPCI_Entry rtems_mpci_entry;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Day, 1 .. 31.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prototype for the get packet entry point in an
+ * MPCI.
*/
- uint32_t day;
+ typedef MPCI_get_packet_entry rtems_mpci_get_packet_entry;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Hour, 0 .. 23.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prototype for the initialization entry point in
+ * an MPCI.
*/
- uint32_t hour;
+ typedef MPCI_initialization_entry rtems_mpci_initialization_entry;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Minute, 0 .. 59.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prototype for the receive packet entry point in
+ * an MPCI.
*/
- uint32_t minute;
+ typedef MPCI_receive_entry rtems_mpci_receive_packet_entry;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Second, 0 .. 59.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prototype for the return packet entry point in
+ * an MPCI.
*/
- uint32_t second;
+ typedef MPCI_return_packet_entry rtems_mpci_return_packet_entry;
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
/**
- * @brief Elapsed ticks between seconds.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prototype for the send packet entry point in an
+ * MPCI.
*/
- uint32_t ticks;
-} rtems_time_of_day;
+ typedef MPCI_send_entry rtems_mpci_send_packet_entry;
+#endif
-/*
- * MPCI related entries
- */
#if defined(RTEMS_MULTIPROCESSING)
-/**
- * @brief Set of MPCI packet classes which are internally dispatched to the
- * managers.
- */
-typedef MP_packet_Classes rtems_mp_packet_classes;
+ /**
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the MPCI control.
+ */
+ typedef MPCI_Control rtems_mpci_table;
+#endif
-/**
- * @brief Prefix found at the beginning of each MPCI packet sent between nodes.
- */
-typedef MP_packet_Prefix rtems_packet_prefix;
+#if defined(RTEMS_MULTIPROCESSING)
+ /**
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the MPCI configuration table.
+ */
+ typedef MPCI_Configuration rtems_multiprocessing_table;
+#endif
/**
- * @brief Indirect pointer to the initialization entry point for an MPCI
- * handler.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type is used to represent an Classic API object name.
+ *
+ * It is an unsigned 32-bit integer which can be treated as a numeric value or
+ * initialized using rtems_build_name() to encode four ASCII characters. A
+ * value of zero may have a special meaning in some directives.
*/
-typedef MPCI_initialization_entry rtems_mpci_initialization_entry;
+typedef uint32_t rtems_name;
/**
- * @brief Indirect pointer to the get_packet entry point for an MPCI handler.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief %
*/
-typedef MPCI_get_packet_entry rtems_mpci_get_packet_entry;
+#define RTEMS_NO_TIMEOUT ( (rtems_interval) WATCHDOG_NO_TIMEOUT )
-/**
- * @brief Indirect pointer to the return_packet entry point for an MPCI
- * handler.
- */
-typedef MPCI_return_packet_entry rtems_mpci_return_packet_entry;
+#if defined(RTEMS_MULTIPROCESSING)
+ /**
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type defines the prefix found at the beginning of each MPCI
+ * packet sent between nodes.
+ */
+ typedef MP_packet_Prefix rtems_packet_prefix;
+#endif
/**
- * @brief Indirect pointer to the send_packet entry point for an MPCI handler.
+ * @ingroup RTEMSAPIClassicTypes
+ *
+ * @brief This type is used to represent the calendar time in the Classic API.
*/
-typedef MPCI_send_entry rtems_mpci_send_packet_entry;
+typedef struct {
+ /**
+ * @brief This member represents the year A.D.
+ */
+ uint32_t year;
-/**
- * @brief Indirect pointer to the receive entry point for an MPCI handler.
- */
-typedef MPCI_receive_entry rtems_mpci_receive_packet_entry;
+ /**
+ * @brief This member represents the month of the year with values from 1 to
+ * 12.
+ */
+ uint32_t month;
-/**
- * @brief Return type from every MPCI handler routine.
- */
-typedef MPCI_Entry rtems_mpci_entry;
+ /**
+ * @brief This member represents the day of the month with values from 1 to 31.
+ */
+ uint32_t day;
-/**
- * @brief Structure which is used to configure an MPCI handler.
- */
-typedef MPCI_Control rtems_mpci_table;
+ /**
+ * @brief This member represents the hour of the day with values from 0 to 23.
+ */
+ uint32_t hour;
-/**
- * @brief Structure which is used to configure an MPCI handler.
- */
-typedef MPCI_Configuration rtems_multiprocessing_table;
+ /**
+ * @brief This member represents the minute of the hour with values from 0 to
+ * 59.
+ */
+ uint32_t minute;
-#endif
+ /**
+ * @brief This member represents the second of the minute with values from 0 to
+ * 59.
+ */
+ uint32_t second;
-/** @} */
+ /**
+ * @brief This member represents the clock tick of the second with values from
+ * 0 to rtems_clock_get_ticks_per_second() minus one.
+ */
+ uint32_t ticks;
+} rtems_time_of_day;
#ifdef __cplusplus
}
#endif
-#endif
-/* end of include file */
+#endif /* _RTEMS_RTEMS_TYPES_H */