summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/rtems/config.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/rtems/config.h')
-rw-r--r--cpukit/include/rtems/rtems/config.h242
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