diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-04 20:41:12 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-09-18 09:56:29 +0200 |
commit | 58667f59fb576321ec2500eb15fed3df77ad13b1 (patch) | |
tree | bfb1591eb9dc0a50b85e7308aae05b638f798716 | |
parent | 90bd0969c75b35954f772cbf0810e8668a8c383e (diff) |
Generate <rtems/rtems/types.h>
-rw-r--r-- | cpukit/include/rtems/rtems/types.h | 303 |
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 */ |