source: rtems/cpukit/posix/include/rtems/posix/config.h @ 01d43180

4.115
Last change on this file since 01d43180 was 01d43180, checked in by Joel Sherrill <joel.sherrill@…>, on 12/09/13 at 21:04:40

posix/config.h: Comment clean up

  • Property mode set to 100644
File size: 4.9 KB
Line 
1/**
2 * @file
3 *
4 * @brief User Defined Configuration Parameters Specific For The POSIX API
5 *
6 * This include file contains the table of user defined configuration
7 * parameters specific for the POSIX API.
8 */
9
10/*
11 *  COPYRIGHT (c) 1989-2013.
12 *  On-Line Applications Research Corporation (OAR).
13 *
14 *  The license and distribution terms for this file may be
15 *  found in the file LICENSE in this distribution or at
16 *  http://www.rtems.com/license/LICENSE.
17 */
18
19#ifndef _RTEMS_POSIX_CONFIG_H
20#define _RTEMS_POSIX_CONFIG_H
21
22#include <stdint.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28/**
29 *  @defgroup ClassicConfig Configuration
30 *
31 *  @ingroup ClassicRTEMS
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 *  For now, we are only allowing the user to specify the entry point
40 *  and stack size for POSIX initialization threads.
41 */
42typedef struct {
43  /** This is the entry point for a POSIX initialization thread. */
44  void       *(*thread_entry)(void *);
45  /** This is the stack size for a POSIX initialization thread. */
46  int       stack_size;
47} posix_initialization_threads_table;
48
49/**
50 *  The following records define the POSIX Configuration Table.
51 *  The information contained in this table is required in all
52 *  RTEMS systems which include POSIX threads support, whether
53 *  single or multiprocessor.  This table primarily defines the
54 *  following:
55 *
56 *     + required number of each object type
57 */
58typedef struct {
59  /**
60   * This field contains the maximum number of POSIX API
61   * threads which are configured for this application.
62   */
63  uint32_t                            maximum_threads;
64
65  /**
66   * This field contains the maximum number of POSIX API
67   * mutexes which are configured for this application.
68   */
69  uint32_t                            maximum_mutexes;
70
71  /**
72   * This field contains the maximum number of POSIX API
73   * condition variables which are configured for this application.
74   */
75  uint32_t                            maximum_condition_variables;
76
77  /**
78   * This field contains the maximum number of POSIX API
79   * keys which are configured for this application.
80   */
81  uint32_t                            maximum_keys;
82
83  /**
84   * This field contains the maximum number of POSIX API
85   * key value pairs which are configured for this application.
86   *
87   * @note There can be potentially be a key/value pair for
88   *       every thread to use every key. But normally this
89   *       many are not needed in a system.
90   */
91  uint32_t                            maximum_key_value_pairs;
92
93  /**
94   * This field contains the maximum number of POSIX API
95   * timers which are configured for this application.
96   */
97  uint32_t                            maximum_timers;
98
99  /**
100   * This field contains the maximum number of POSIX API
101   * queued signals which are configured for this application.
102   */
103  uint32_t                            maximum_queued_signals;
104
105  /**
106   * This field contains the maximum number of POSIX API
107   * message queues which are configured for this application.
108   */
109  uint32_t                            maximum_message_queues;
110
111  /**
112   * This field contains the maximum number of POSIX API
113   * message queue file descriptors which are configured
114   * for this application.
115   *
116   * @note There can be one or more file descriptors used with
117   *       each message queue. This value should be greater than
118   *       or equal to the number of message queues.
119   */
120  uint32_t                            maximum_message_queue_descriptors;
121
122  /**
123   * This field contains the maximum number of POSIX API
124   * semaphores which are configured for this application.
125   */
126  uint32_t                            maximum_semaphores;
127
128  /**
129   * This field contains the maximum number of POSIX API
130   * barriers which are configured for this application.
131   */
132  uint32_t                            maximum_barriers;
133
134  /**
135   * This field contains the maximum number of POSIX API
136   * read/write locks which are configured for this application.
137   */
138  uint32_t                            maximum_rwlocks;
139
140  /**
141   * This field contains the maximum number of POSIX API
142   * spinlocks which are configured for this application.
143   */
144  uint32_t                            maximum_spinlocks;
145
146  /**
147   * This field contains the number of POSIX API Initialization
148   * threads listed in @a User_initialization_thread_table.
149   */
150  uint32_t                            number_of_initialization_threads;
151
152  /**
153   * This field contains the list of POSIX API Initialization threads.
154   */
155  posix_initialization_threads_table *User_initialization_threads_table;
156} posix_api_configuration_table;
157
158/**
159 * @brief POSIX API configuration table.
160 *
161 * This is the POSIX API Configuration Table expected to be generated
162 * by confdefs.h.
163 */
164extern posix_api_configuration_table Configuration_POSIX_API;
165
166/**@}*/
167#ifdef __cplusplus
168}
169#endif
170
171#endif
172/* end of include file */
Note: See TracBrowser for help on using the repository browser.