source: rtems/cpukit/rtems/include/rtems/rtems/config.h @ e552d05

4.104.115
Last change on this file since e552d05 was e552d05, checked in by Joel Sherrill <joel.sherrill@…>, on 09/13/09 at 20:44:37

2009-09-13 Joel Sherrill <joel.sherrill@…>

  • rtems/include/rtems/rtems/config.h: Add rtems_configuration_get_maximum_semaphores().
  • Property mode set to 100644
File size: 3.9 KB
Line 
1/**
2 * @file rtems/rtems/config.h
3 *
4 *  This include file contains the table of user defined configuration
5 *  parameters specific for the RTEMS API.
6 */
7
8/*  COPYRIGHT (c) 1989-2008.
9 *  On-Line Applications Research Corporation (OAR).
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.rtems.com/license/LICENSE.
14 *
15 *  $Id$
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 ClassicRTEMS
32 *
33 *  This encapsulates functionality which XXX
34 */
35/**@{*/
36
37/**
38 *  The following records define the Configuration Table.  The
39 *  information contained in this table is required in all
40 *  RTEMS systems, whether single or multiprocessor.  This
41 *  table primarily defines the following:
42 *
43 *     + required number of each object type
44 */
45typedef struct {
46  /**
47   * This field contains the maximum number of Classic API
48   * Tasks which are configured for this application.
49   */
50  uint32_t                    maximum_tasks;
51
52  /**
53   * This field indicates whether Classic API notepads are
54   * enabled or disabled.
55   */
56  bool                        notepads_enabled;
57
58  /**
59   * This field contains the maximum number of Classic API
60   * Timers which are configured for this application.
61   */
62  uint32_t                    maximum_timers;
63
64  /**
65   * This field contains the maximum number of Classic API
66   * Semaphores which are configured for this application.
67   */
68  uint32_t                    maximum_semaphores;
69
70  /**
71   * This field contains the maximum number of Classic API
72   * Message Queues which are configured for this application.
73   */
74  uint32_t                    maximum_message_queues;
75
76  /**
77   * This field contains the maximum number of Classic API
78   * Partitions which are configured for this application.
79   */
80  uint32_t                    maximum_partitions;
81
82  /**
83   * This field contains the maximum number of Classic API
84   * Regions which are configured for this application.
85   */
86  uint32_t                    maximum_regions;
87
88  /**
89   * This field contains the maximum number of Classic API
90   * Dual Ported Memory Areas which are configured for this
91   * application.
92   */
93  uint32_t                    maximum_ports;
94
95  /**
96   * This field contains the maximum number of Classic API
97   * Rate Monotonic Periods which are configured for this
98   * application.
99   */
100  uint32_t                    maximum_periods;
101
102  /**
103   * This field contains the maximum number of Classic API
104   * Barriers which are configured for this application.
105   */
106  uint32_t                    maximum_barriers;
107
108  /**
109   * This field contains the number of Classic API Initialization
110   * Tasks which are configured for this application.
111   */
112  uint32_t                    number_of_initialization_tasks;
113
114  /**
115   * This field is the set of Classic API Initialization
116   * Tasks which are configured for this application.
117   */
118  rtems_initialization_tasks_table *User_initialization_tasks_table;
119} rtems_api_configuration_table;
120
121/**
122 *  @brief RTEMS API Configuration Table
123 *
124 *  This is the RTEMS API Configuration Table expected to be generated
125 *  by confdefs.h.
126 */
127extern rtems_api_configuration_table Configuration_RTEMS_API;
128
129/**@}*/
130
131/**
132 *  This macro returns the value of the notepads enabled field
133 *  in the Classic API configuration table.
134 */
135#define rtems_configuration_get_notepads_enabled() \
136        rtems_configuration_get_rtems_api_configuration()->notepads_enabled
137
138/**
139 *  This macro returns the number of Classic API semaphores configured.
140 */
141#define rtems_configuration_get_maximum_semaphores() \
142        rtems_configuration_get_rtems_api_configuration()->maximum_semaphores
143
144#ifdef __cplusplus
145}
146#endif
147
148/**@}*/
149
150#endif
151/* end of include file */
Note: See TracBrowser for help on using the repository browser.