diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/rtems/config.h | 242 |
1 files changed, 176 insertions, 66 deletions
diff --git a/cpukit/include/rtems/rtems/config.h b/cpukit/include/rtems/rtems/config.h index 2a12c8f3cb..d225902bf1 100644 --- a/cpukit/include/rtems/rtems/config.h +++ b/cpukit/include/rtems/rtems/config.h @@ -3,12 +3,14 @@ /** * @file * + * @ingroup RTEMSImplClassic + * * @brief This header file provides parts of the application configuration * information API. */ /* - * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 2020 embedded brains GmbH & Co. KG * Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR) * * Redistribution and use in source and binary forms, with or without @@ -78,7 +80,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Tasks * configured for this application. * - * See #CONFIGURE_MAXIMUM_TASKS. + * See @ref CONFIGURE_MAXIMUM_TASKS. */ uint32_t maximum_tasks; @@ -92,7 +94,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Timers * configured for this application. * - * See #CONFIGURE_MAXIMUM_TIMERS. + * See @ref CONFIGURE_MAXIMUM_TIMERS. */ uint32_t maximum_timers; @@ -100,7 +102,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Semaphores * configured for this application. * - * See #CONFIGURE_MAXIMUM_SEMAPHORES. + * See @ref CONFIGURE_MAXIMUM_SEMAPHORES. */ uint32_t maximum_semaphores; @@ -108,7 +110,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Message Queues * configured for this application. * - * See #CONFIGURE_MAXIMUM_MESSAGE_QUEUES. + * See @ref CONFIGURE_MAXIMUM_MESSAGE_QUEUES. */ uint32_t maximum_message_queues; @@ -116,7 +118,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Partitions * configured for this application. * - * See #CONFIGURE_MAXIMUM_PARTITIONS. + * See @ref CONFIGURE_MAXIMUM_PARTITIONS. */ uint32_t maximum_partitions; @@ -124,7 +126,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Regions * configured for this application. * - * See #CONFIGURE_MAXIMUM_REGIONS. + * See @ref CONFIGURE_MAXIMUM_REGIONS. */ uint32_t maximum_regions; @@ -132,7 +134,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Dual-Ported * Memories configured for this application. * - * See #CONFIGURE_MAXIMUM_PORTS. + * See @ref CONFIGURE_MAXIMUM_PORTS. */ uint32_t maximum_ports; @@ -140,7 +142,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Rate Monotonic * Periods configured for this application. * - * See #CONFIGURE_MAXIMUM_PERIODS. + * See @ref CONFIGURE_MAXIMUM_PERIODS. */ uint32_t maximum_periods; @@ -148,7 +150,7 @@ typedef struct { * @brief This member contains the maximum number of Classic API Barriers * configured for this application. * - * See #CONFIGURE_MAXIMUM_BARRIERS. + * See @ref CONFIGURE_MAXIMUM_BARRIERS. */ uint32_t maximum_barriers; @@ -156,7 +158,7 @@ typedef struct { * @brief This member contains the number of Classic API Initialization Tasks * configured for this application. * - * See #CONFIGURE_RTEMS_INIT_TASKS_TABLE. + * See @ref CONFIGURE_RTEMS_INIT_TASKS_TABLE. */ uint32_t number_of_initialization_tasks; @@ -164,37 +166,35 @@ typedef struct { * @brief This member contains the pointer to Classic API Initialization Tasks * Table of this application. * - * See #CONFIGURE_RTEMS_INIT_TASKS_TABLE. + * See @ref CONFIGURE_RTEMS_INIT_TASKS_TABLE. */ const rtems_initialization_tasks_table *User_initialization_tasks_table; } rtems_api_configuration_table; -/* Generated from spec:/rtems/config/if/get-api-configuration */ - -/** - * @ingroup RTEMSAPIConfig - * - * @brief Gets the Classic API Configuration Table of this application. - * - * @return Returns the pointer to the Classic API Configuration Table of this - * application. - */ -const rtems_api_configuration_table * -rtems_configuration_get_rtems_api_configuration( void ); - /* Generated from spec:/rtems/config/if/get-maximum-barriers */ /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Barriers configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicBarrier objects + * configured for this application. * - * @return Returns the maximum number of Classic API Barriers configured for - * this application. + * @return Returns the resource number of @ref RTEMSAPIClassicBarrier objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_BARRIERS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_BARRIERS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_barriers( void ); @@ -203,14 +203,25 @@ uint32_t rtems_configuration_get_maximum_barriers( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Message Queues configured for - * this application. + * @brief Gets the resource number of @ref RTEMSAPIClassicMessage objects + * configured for this application. * - * @return Returns the maximum number of Classic API Message Queues configured - * for this application. + * @return Returns the resource number of @ref RTEMSAPIClassicMessage objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_MESSAGE_QUEUES. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_MESSAGE_QUEUES + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_message_queues( void ); @@ -219,14 +230,25 @@ uint32_t rtems_configuration_get_maximum_message_queues( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Partitions configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicPart objects + * configured for this application. * - * @return Returns the maximum number of Classic API Partitions configured for - * this application. + * @return Returns the resource number of @ref RTEMSAPIClassicPart objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_PARTITIONS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_PARTITIONS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_partitions( void ); @@ -235,14 +257,25 @@ uint32_t rtems_configuration_get_maximum_partitions( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Rate Monotonic Periods + * @brief Gets the resource number of @ref RTEMSAPIClassicRatemon objects * configured for this application. * - * @return Returns the maximum number of Classic API Rate Monotonic Periods + * @return Returns the resource number of @ref RTEMSAPIClassicRatemon objects * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_PERIODS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_PERIODS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_periods( void ); @@ -251,14 +284,25 @@ uint32_t rtems_configuration_get_maximum_periods( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Dual-Ported Memories + * @brief Gets the resource number of @ref RTEMSAPIClassicDPMem objects * configured for this application. * - * @return Returns the maximum number of Classic API Dual-Ported Memories + * @return Returns the resource number of @ref RTEMSAPIClassicDPMem objects * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_PORTS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_PORTS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_ports( void ); @@ -267,14 +311,25 @@ uint32_t rtems_configuration_get_maximum_ports( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Regions configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicRegion objects + * configured for this application. * - * @return Returns the maximum number of Classic API Regions configured for - * this application. + * @return Returns the resource number of @ref RTEMSAPIClassicRegion objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_REGIONS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_REGIONS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_regions( void ); @@ -283,14 +338,25 @@ uint32_t rtems_configuration_get_maximum_regions( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Semaphores configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicSem objects + * configured for this application. * - * @return Returns the maximum number of Classic API Semaphores configured for - * this application. + * @return Returns the resource number of @ref RTEMSAPIClassicSem objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_SEMAPHORES. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_SEMAPHORES + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_semaphores( void ); @@ -299,14 +365,25 @@ uint32_t rtems_configuration_get_maximum_semaphores( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Tasks configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicTasks objects + * configured for this application. * - * @return Returns the maximum number of Classic API Tasks configured for this - * application. + * @return Returns the resource number of @ref RTEMSAPIClassicTasks objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_TASKS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_TASKS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_tasks( void ); @@ -315,17 +392,50 @@ uint32_t rtems_configuration_get_maximum_tasks( void ); /** * @ingroup RTEMSAPIConfig * - * @brief Gets the maximum number of Classic API Timers configured for this - * application. + * @brief Gets the resource number of @ref RTEMSAPIClassicTimer objects + * configured for this application. * - * @return Returns the maximum number of Classic API Timers configured for this - * application. + * @return Returns the resource number of @ref RTEMSAPIClassicTimer objects + * configured for this application. * * @par Notes - * See #CONFIGURE_MAXIMUM_TIMERS. + * The resource number is defined by the @ref CONFIGURE_MAXIMUM_TIMERS + * application configuration option. See also rtems_resource_is_unlimited() + * and rtems_resource_maximum_per_allocation(). + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock */ uint32_t rtems_configuration_get_maximum_timers( void ); +/* Generated from spec:/rtems/config/if/get-api-configuration */ + +/** + * @ingroup RTEMSAPIConfig + * + * @brief Gets the Classic API Configuration Table of this application. + * + * @return Returns a pointer to the Classic API Configuration Table of this + * application. + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not cause the calling task to be preempted. + * @endparblock + */ +const rtems_api_configuration_table * +rtems_configuration_get_rtems_api_configuration( void ); + #ifdef __cplusplus } #endif |