source: rtems/cpukit/include/rtems/rtems/config.h @ 9520ec3

5
Last change on this file since 9520ec3 was 9520ec3, checked in by Sebastian Huber <sebastian.huber@…>, on 02/14/20 at 08:31:44

config: Simplify initialization task config

With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration
option at most one Classic API user initialization task can be
configured.

Provide an RTEMS API configuration table for backward compatibility.

Update #3873.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup ClassicConfig
5 *
6 * This include file contains the table of user defined configuration
7 * parameters specific for the RTEMS API.
8 */
9
10/* COPYRIGHT (c) 1989-2013.
11 * On-Line Applications Research Corporation (OAR).
12 *
13 * The license and distribution terms for this file may be
14 * found in the file LICENSE in this distribution or at
15 * http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef _RTEMS_RTEMS_CONFIG_H
19#define _RTEMS_RTEMS_CONFIG_H
20
21#include <rtems/rtems/types.h>
22#include <rtems/rtems/tasks.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28/**
29 *  @defgroup ClassicConfig Configuration
30 *
31 *  @ingroup RTEMSAPIClassic
32 *
33 *  This encapsulates functionality related to the application's configuration
34 *  of the Classic API including the maximum number of each class of objects.
35 */
36/**@{*/
37
38/**
39 *  The following records define the Configuration Table.  The
40 *  information contained in this table is required in all
41 *  RTEMS systems, whether single or multiprocessor.  This
42 *  table primarily defines the following:
43 *
44 *     + required number of each object type
45 */
46typedef struct {
47
48  /**
49   * This field contains the number of Classic API Initialization
50   * Tasks which are configured for this application.
51   */
52  uint32_t                    number_of_initialization_tasks;
53
54  /**
55   * This field is the set of Classic API Initialization
56   * Tasks which are configured for this application.
57   */
58  const rtems_initialization_tasks_table *User_initialization_tasks_table;
59} rtems_api_configuration_table;
60
61/**@}*/
62
63uint32_t rtems_configuration_get_maximum_barriers( void );
64
65uint32_t rtems_configuration_get_maximum_message_queues( void );
66
67uint32_t rtems_configuration_get_maximum_partitions( void );
68
69uint32_t rtems_configuration_get_maximum_periods( void );
70
71uint32_t rtems_configuration_get_maximum_ports( void );
72
73uint32_t rtems_configuration_get_maximum_regions( void );
74
75uint32_t rtems_configuration_get_maximum_semaphores( void );
76
77uint32_t rtems_configuration_get_maximum_timers( void );
78
79uint32_t rtems_configuration_get_maximum_tasks( void );
80
81const rtems_api_configuration_table *
82rtems_configuration_get_rtems_api_configuration( void );
83
84#ifdef __cplusplus
85}
86#endif
87
88/**@}*/
89
90#endif
91/* end of include file */
Note: See TracBrowser for help on using the repository browser.