annotate packages/language/c/libc/current/include/pkgconf/libc.h @ 46:797268ecc331 ecos-sw-1999-10-19

Merge from eCos master repository on 1999-10-19-18:55:31-BST
author jlarmour
date Tue, 19 Oct 1999 19:19:52 +0000
parents 41bd4f3a90de
children c38311975d4f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_PKGCONF_LIBC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 #define CYGONCE_PKGCONF_LIBC_H
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 // libc.h
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 // Configuration header for the ANSI standard C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
8 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
9 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
10 //####COPYRIGHTBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
11 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
12 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
13 // The contents of this file are subject to the Cygnus eCos Public License
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
14 // Version 1.0 (the "License"); you may not use this file except in
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
15 // compliance with the License. You may obtain a copy of the License at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
16 // http://sourceware.cygnus.com/ecos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
17 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
18 // Software distributed under the License is distributed on an "AS IS"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
19 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
20 // License for the specific language governing rights and limitations under
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
21 // the License.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
22 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
23 // The Original Code is eCos - Embedded Cygnus Operating System, released
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
24 // September 30, 1998.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
25 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
26 // The Initial Developer of the Original Code is Cygnus. Portions created
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
27 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved.
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
28 // -------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
29 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
30 //####COPYRIGHTEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
31 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
32 //#####DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
33 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
34 // Author(s): jlarmour
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
35 // Contributors: jlarmour
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
36 // Date: 1999-01-20
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
37 // Purpose: Configuration of the ISO C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
38 // Description: The preprocessor defines here can be used to configure
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
39 // the ISO C library, preferably with a graphical tool,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 // but also manually if required.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 // Usage: #include <pkgconf/libc.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 //####DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 // INCLUDES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 // Include system configuration file to work out whether the C library is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51 // to be included at all
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 #include <pkgconf/system.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
56
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57 cdl_package CYGPKG_LIBC {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
58 display "C library"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59 description "This package enables compatibility with the ISO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 C standard - ISO/IEC 9899:1990. This allows the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 user application to use well known standard
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62 C library functions, and in eCos starts a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 thread to invoke the user function main()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 type boolean
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
65 requires CYGPKG_ERROR
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
66 doc ref/ecos-ref/the-iso-standard-c-and-math-libraries.html
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 // CTYPE CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 cdl_option CYGIMP_LIBC_CTYPE_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 display "Inline versions of <ctype.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 description "This option chooses whether the simple character
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 classification and conversion functions (e.g.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 isupper(), isalpha(), toupper(), etc.)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 from <ctype.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 functions. This may improve performance and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 #define CYGIMP_LIBC_CTYPE_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 // STRING CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 cdl_component CYGPKG_LIBC_STRING {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 display "String functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103 description "Options associated with the standard string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 cdl_option CYGIMP_LIBC_STRING_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 display "Inline versions of <string.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 particularly simple string functions from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113 <string.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
115 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
116 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
117 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
118 parent CYGPKG_LIBC_STRING
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
119 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
120
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
121 cdl_component CYGPKG_LIBC_STRING_OPTIMIZATIONS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
122 display "Options for string function optimization"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
123 description "This component lets you choose between different
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
124 implementations of the string functions with
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
125 different tradeoffs. Most of the string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
126 functions can be implemented in two ways. One
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
127 approach is geared towards smaller code size,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
128 while the other tries to improve execution speed
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
129 at the expense of code size. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
130 type dummy
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
131 parent CYGPKG_LIBC_STRING
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
132 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
133
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
134 cdl_option CYGIMP_LIBC_STRING_PREFER_FAST {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
135 display "Fast"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
136 description "This option improves string function execution
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
137 speed at the expense of code size. This
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
138 option is overriden if the code is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
139 compiled with the -Os option to the compiler."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
140 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
141 parent CYGPKG_LIBC_STRING_OPTIMIZATIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
142 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
143
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
144 cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
145 display "Small"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
146 description "This option tries to reduce string function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
147 code size at the expense of execution speed. The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
148 same effect can be produced if the code is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
149 compiled with the -Os option to the compiler."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
150 type radio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
151 parent CYGPKG_LIBC_STRING_OPTIMIZATIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
152 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
153
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
154 cdl_component CYGPKG_LIBC_STRING_STRTOK {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
155 display "strtok"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
156 description "These options control the behaviour of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
157 strtok() and strtok_r() string tokenization
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
158 functions."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
159 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
160 parent CYGPKG_LIBC_STRING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
161 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
162
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
163 cdl_option CYGSEM_LIBC_PER_THREAD_STRTOK {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
164 display "Per-thread strtok()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
165 description "This option controls whether the string function
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
166 strtok() has its state recorded on a per-thread
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
167 basis rather than global. If this option is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
168 disabled, some per-thread space can be saved.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
169 Note there is also a POSIX-standard strtok_r()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
170 function to achieve a similar effect with user
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
171 support. Enabling this option will use one slot
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
172 of kernel per-thread data. You should ensure you
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
173 have enough slots configured for all your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
174 per-thread data."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
175 doc ref/ecos-ref/c-and-math-library-overview-thread-safety.html
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
176 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
177 parent CYGPKG_LIBC_STRING_STRTOK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
178 requires CYGVAR_KERNEL_THREADS_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
179 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
180
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
181 cdl_option CYGNUM_LIBC_STRTOK_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
182 display "Tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
183 description "Trace verbosity level for debugging the <string.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
184 functions strtok() and strtok_r(). Increase this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
185 value to get additional trace output."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
186 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
187 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
188 parent CYGPKG_LIBC_STRING_STRTOK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
189 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
190
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
191 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
192 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
193
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
194 #define CYGIMP_LIBC_STRING_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
195
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
196 #undef CYGIMP_LIBC_STRING_PREFER_SMALL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
197
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
198 #define CYGIMP_LIBC_STRING_PREFER_FAST
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
199
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
200 #ifdef CYGIMP_LIBC_STRING_PREFER_SMALL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
201 # define CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
202 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
203
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
204 #undef CYGSEM_LIBC_PER_THREAD_STRTOK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
205
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
206 #define CYGNUM_LIBC_STRTOK_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
207
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
208 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
209
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
210 // SETJMP CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
211
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
212 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
213 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
214 cdl_option CYGIMP_LIBC_SETJMP_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
215 display "Inline version of the longjmp() function"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
216 description "This option chooses whether the longjmp() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
217 is available as an inline function. This may
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
218 improve performance, and as the function is small
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
219 may even improve code size. "
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
220 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
221 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
222 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
223 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
224 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
225
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
226 #define CYGIMP_LIBC_SETJMP_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
227
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
228 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
229
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
230 // STDLIB CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
231
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
232
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
233 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
234 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
235 cdl_component CYGPKG_LIBC_STDLIB {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
236 display "Standard utility functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
237 description "Options associated with the standard utility
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
238 functions in <stdlib.h>"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
239 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
240 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
241 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
242
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
243 cdl_option CYGIMP_LIBC_STDLIB_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
244 display "Inline versions of <stdlib.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
245 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
246 particularly simple standard utility functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
247 from <stdlib.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
248 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
249 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
250 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
251 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
252 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
253 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
254
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
255 cdl_component CYGPKG_LIBC_RAND {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
256 display "Random number generation"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
257 description "These options control the behaviour of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
258 functions rand(), srand() and rand_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
259 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
260 parent CYGPKG_LIBC_STDLIB
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
261 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
262
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
263 cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
264 display "Per-thread random seed"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
265 description "This option controls whether the pseudo-random
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
266 number generation functions rand() and srand()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
267 have their state recorded on a per-thread
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
268 basis rather than global. If this option is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
269 disabled, some per-thread space can be saved.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
270 Note there is also a POSIX-standard rand_r()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
271 function to achieve a similar effect with user
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
272 support. Enabling this option will use one slot
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
273 of kernel per-thread data. You should ensure you
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
274 have enough slots configured for all your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
275 per-thread data."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
276 doc ref/ecos-ref/c-and-math-library-overview-thread-safety.html
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
277 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
278 requires CYGVAR_KERNEL_THREADS_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
279 parent CYGPKG_LIBC_RAND
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
280 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
281
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
282 cdl_option CYGNUM_LIBC_RAND_SEED {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
283 display "Random number seed"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
284 description "This selects the initial random number seed for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
285 rand()'s pseudo-random number generator. For
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
286 strict ISO standard compliance, this should be 1,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
287 as per section 7.10.2.2 of the standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
288 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
289 legal_values 0 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
290 parent CYGPKG_LIBC_RAND
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
291 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
292
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
293 cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
294 display "Tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
295 description "Trace verbosity level for debugging the rand(),
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
296 srand() and rand_r() functions. Increase this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
297 value to get additional trace output."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
298 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
299 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
300 parent CYGPKG_LIBC_RAND
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
301 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
302
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
303 cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
304 display "Simplest implementation"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
305 description "This provides a very simple implementation of rand()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
306 that does not perform well with randomness in the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
307 lower significant bits. However it is exceptionally
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
308 fast. It uses the sample algorithm from the ISO C
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
309 standard itself."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
310 type radio
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
311 parent CYGPKG_LIBC_RAND
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
312 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
313
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
314 cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
315 display "Simple implementation #1"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
316 description "This provides a very simple implementation of rand()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
317 based on the simplest implementation above. However
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
318 it does try to work around the lack of randomness
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
319 in the lower significant bits, at the expense of a
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
320 little speed."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
321 type radio
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
322 parent CYGPKG_LIBC_RAND
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
323 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
324
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
325 cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
326 display "Knuth implementation #1"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
327 description "This implements a slightly more complex algorithm
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
328 published in Donald E. Knuth's Art of Computer
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
329 Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
330 This produces better random numbers than the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
331 simplest approach but is slower."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
332 type radio
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
333 parent CYGPKG_LIBC_RAND
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
334 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
335
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
336 cdl_component CYGPKG_LIBC_MALLOC {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
337 display "Support for dynamic memory allocation"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
338 description "This enables support for dynamic memory
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
339 allocation as supplied by the functions malloc(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
340 free(), calloc() and realloc(). As these
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
341 functions are often used, but can have quite an
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
342 overhead, disabling them here can ensure they
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
343 cannot even be used accidentally when static
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
344 allocation is preferred."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
345 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
346 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
347 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
348 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
349
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
350 cdl_option CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
351 display "Size of the dynamic memory pool in bytes"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
352 description "At this stage, dynamic memory allocation by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
353 malloc() and calloc() must be from a fixed-size,
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
354 contiguous memory pool (note here that it is the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
355 pool that is of a fixed size, but malloc() is still
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
356 able to allocate variable sized chunks of memory
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
357 from it). This option is the size
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
358 of that pool, in bytes. Note that not all of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
359 this is available for programs to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
360 use - some is needed for internal information
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
361 about memory regions, and some may be lost to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
362 ensure that memory allocation only returns
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
363 memory aligned on word (or double word)
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
364 boundaries - a very common architecture
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
365 constraint."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
366 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
367 legal_values 32 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
368 parent CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
369 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
370
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
371 cdl_option CYGIMP_LIBC_MALLOC_CXX_DELETE_CALLS_FREE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
372 display "Support for C++ delete operator"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
373 description "C++ new and delete operators can call
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
374 the C library's malloc() and free() implicitly.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
375 If this is what is required, enable this option.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
376 However, if enabled, the dynamic memory allocation
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
377 code is always linked in to the application,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
378 even if it is not explicitly called and new/delete
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
379 are not used.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
380 This increases code and data size needlessly."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
381 type bool
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
382 parent CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
383 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
384
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
385 cdl_option CYGFUN_LIBC_strtod {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
386 display "Provides strtod() and atof()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
387 description "This option allows use of the utility function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
388 strtod() (and consequently atof()) to convert
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
389 from string to double precision floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
390 numbers. Disabling this option removes the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
391 dependency on the math library package."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
392 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
393 parent CYGPKG_LIBC_STDLIB
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
394 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
395 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
396
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
397 cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
398 display "bsearch() tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
399 description "Trace verbosity level for debugging the <stdlib.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
400 binary search function bsearch(). Increase this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
401 value to get additional trace output."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
402 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
403 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
404 parent CYGPKG_LIBC_STDLIB
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
405 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
406
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
407 cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
408 display "qsort() tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
409 description "Trace verbosity level for debugging the <stdlib.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
410 quicksort function qsort(). Increase this value
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
411 to get additional trace output."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
412 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
413 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
414 parent CYGPKG_LIBC_STDLIB
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
415 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
416
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
417 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
418 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
419
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
420 #define CYGIMP_LIBC_STDLIB_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
421
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
422 #undef CYGSEM_LIBC_PER_THREAD_RAND
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
423
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
424 #define CYGNUM_LIBC_RAND_SEED 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
425
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
426 #define CYGNUM_LIBC_RAND_TRACE_LEVEL 0
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
427
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
428 #undef CYGIMP_LIBC_RAND_SIMPLEST
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
429
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
430 #define CYGIMP_LIBC_RAND_SIMPLE1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
431
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
432 #undef CYGIMP_LIBC_RAND_KNUTH1
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
433
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
434 #define CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
435
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
436 #ifdef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
437
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
438 #undef CYGIMP_LIBC_MALLOC_CXX_DELETE_CALLS_FREE
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
439
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
440 #define CYGNUM_LIBC_MALLOC_MEMPOOL_SIZE 16384
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
441
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
442 #endif // ifdef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
443
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
444 #define CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
445
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
446 #define CYGNUM_LIBC_BSEARCH_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
447
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
448 #define CYGNUM_LIBC_QSORT_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
449
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
450 #ifdef CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
451 # ifndef CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
452 # error You must enable the Math library package to use strtod() or atof()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
453 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
454 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
455
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
456 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
457
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
458 // STDIO CONFIGURATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
459
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
460 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
461 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
462 cdl_component CYGPKG_LIBC_STDIO {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
463 display "Standard Input/Output functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
464 description "This enables support for standard I/O functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
465 from <stdio.h>."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
466 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
467 parent CYGPKG_LIBC
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
468 requires CYGPKG_IO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
469 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
470
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
471 cdl_option CYGIMP_LIBC_STDIO_INLINES {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
472 display "Inline versions of <stdio.h> functions"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
473 description "This option chooses whether some of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
474 particularly simple functions from
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
475 <stdio.h> are available as inline
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
476 functions. This may improve performance, and as
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
477 the functions are small, may even improve code
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
478 size."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
479 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
480 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
481 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
482
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
483 cdl_option FOPEN_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
484 display "Permitted number of open files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
485 description "This option controls the guaranteed minimum
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
486 number of simultaneously open files. The ISO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
487 C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
488 7.9.1), and if strictly compliant, it must be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
489 at least 8 (para 7.9.3). In practice it can be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
490 as low as 3 - for stdin, stdout and stderr."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
491 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
492 legal_values 3 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
493 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
494 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
495
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
496 cdl_option FILENAME_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
497 display "Maximum length of filename"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
498 description "This option defines the maximum allowed size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
499 a filename in characters. The ISO C standard
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
500 requires it to be defined (para 7.9.1)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
501 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
502 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
503 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
504 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
505
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
506 cdl_option L_tmpnam {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
507 display "Maximum length of filenames for temporary files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
508 description "This option defines the maximum allowed size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
509 filenames for temporary files as generated by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
510 tmpnam(). It is measured in characters, and the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
511 ISO C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
512 7.9.1)."
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
513 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
514 legal_values 1 to 0x7fffffff
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
515 parent CYGPKG_LIBC_STDIO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
516 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
517
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
518 cdl_option TMP_MAX {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
519 display "Unique file names generated by tmpnam()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
520 description "This option defines the minimum number of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
521 unique file names generated by tmpnam(). The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
522 ISO C standard requires it to be defined (para
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
523 7.9.1)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
524 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
525 legal_values 0 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
526 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
527 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
528
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
529 cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
530 display "Buffered I/O"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
531 description "This option controls whether input/output
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
532 through the <stdio.h> functions is buffered.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
533 This may save some memory per file. It
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
534 is equivalent to putting every file into
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
535 non-buffered mode (_IONBF) through setvbuf(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
536 except now it can never be altered back to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
537 buffered mode. Disabling buffering is strictly
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
538 non-compliant with the ISO C standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
539 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
540 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
541 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
542
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
543 cdl_option CYGNUM_LIBC_STDIO_BUFSIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
544 display "Default buffer size"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
545 description "This option defines the default size of buffer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
546 used with calls to setbuf(), and is the default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
547 size for buffered streams that have not had
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
548 either setbuf() or setvbuf() invoked on them.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
549 It is exactly equivalent to the standard
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
550 constant BUFSIZ, except that it is 0 if
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
551 CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
552 The ISO C standard requires this to be defined
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
553 (para 7.9.1), and says it must be at least 256
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
554 (para 7.9.2)."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
555 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
556 legal_values 1 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
557 parent CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
558 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
559
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
560 cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
561 display "setbuf()/setvbuf() uses malloc()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
562 description "This option controls whether I/O buffers are
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
563 implemented dynamically within the stdio
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
564 implementation. Otherwise they will be static,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
565 and cannot be changed by setbuf()/setvbuf(). If
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
566 they are static (i.e. this option is disabled),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
567 any attempt to use an arbitrary buffer size, or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
568 to pass a user-supplied buffer to setbuf() or
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
569 setvbuf() will fail - the buffer is implemented
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
570 internally as a static array of taking the size
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
571 of the configuration option BUFSIZ. The only
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
572 exception is if a user buffer is not supplied,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
573 and the buffer size requested is less than
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
574 BUFSIZ. In this case, the buffer will
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
575 be configured to only use that amount of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
576 buffering. However the unused memory left over
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
577 will NOT be freed. If this option is enabled,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
578 then CYGPKG_LIBC_MALLOC must also
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
579 be enabled. Either setting can be considered to
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
580 be compliant with the ISO C standard."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
581 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
582 parent CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
583 requires CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
584 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
585
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
586 cdl_option CYGFUN_LIBC_STDIO_ungetc {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
587 display "Support for ungetc()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
588 description "This option controls whether ungetc() is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
589 supported. If not, then some space can be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
590 saved, and speed is improved. Note that you
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
591 MUST have this defined if you want to use the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
592 scanf() family of functions."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
593 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
594 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
595 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
596
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
597 cdl_option CYGPKG_LIBC_STDIO_OPEN {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
598 display "Dynamic opening/closing of files"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
599 description "fopen() and fclose() use dynamic memory
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
600 allocation routines to allocate memory for
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
601 new FILE structure pointers. This option,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
602 along with CYGPKG_LIBC_MALLOC, should be
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
603 enabled to use
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
604 fopen() and fclose(). If disabled, only the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
605 default console streams - stdin, stdout and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
606 stderr - will be available."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
607 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
608 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
609 requires CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
610 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
611
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
612 cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
613 display "Default console device"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
614 description "This option allows you to choose the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
615 default console device. In the current
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
616 implementation, all these devices begin
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
617 with the prefix /dev/ and are followed by
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
618 the name of a device. The name of the device
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
619 depends on the device drivers you have
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
620 configured in your system. For example,
42
94fd8fbfe8fe Merge from eCos master repository on 1999-10-05-12:38:44-BST
jlarmour
parents: 2
diff changeset
621 /dev/ttydiag could be the HAL diagnostic output
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
622 pseudo-device, or /dev/tty0 could be your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
623 first serial driver, depending on your
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
624 configuration."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
625 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
626 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
627 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
628
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
629 cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
630 display "Floating point support"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
631 description "This component allows floating point support
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
632 to be enabled in certain standard I/O
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
633 functions."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
634 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
635 parent CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
636 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
637
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
638 cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
639 display "printf() family"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
640 description "This option enables the use of floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
641 number output in the printf() family (i.e.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
642 printf(), sprintf(), vprintf(), etc.) of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
643 functions. A substantial amount of code space
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
644 can be saved if this option is disabled. If it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
645 is disabled then floating point specifiers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
646 (%e, %f, %g) are ignored, and nothing is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
647 output."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
648 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
649 parent CYGPKG_LIBC_STDIO_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
650 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
651 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
652
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
653 cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
654 display "scanf() family"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
655 description "This option enables the use of floating point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
656 number conversion in the scanf() family (i.e.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
657 scanf(), sscanf(), vscanf(), etc.) of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
658 functions. A substantial amount of code space
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
659 can be saved if this option is disabled. If it
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
660 is disabled then floating point specifiers
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
661 (%e, %f, %g) are ignored, and nothing is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
662 converted."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
663 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
664 parent CYGPKG_LIBC_STDIO_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
665 requires CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
666 requires CYGFUN_LIBC_strtod
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
667 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
668
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
669 cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
670 display "Thread safe I/O streams"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
671 description "This option controls whether standard I/O streams
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
672 are thread-safe. Having this option set allows
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
673 the streams to be locked when accessed by
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
674 multiple threads simultaneously."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
675 doc ref/ecos-ref/c-and-math-library-overview-thread-safety.html
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
676 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
677 parent CYGPKG_LIBC_STDIO
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
678 requires CYGPKG_KERNEL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
679 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
680
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
681 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
682 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
683
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
684 #define CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
685
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
686 #ifdef CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
687
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
688 #ifndef CYGPKG_IO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
689 # error You must have generic device driver support enabled for C library \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
690 standard I/O
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
691 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
692
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
693 #define CYGIMP_LIBC_STDIO_INLINES
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
694
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
695 #define FOPEN_MAX 8
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
696
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
697 #define FILENAME_MAX 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
698
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
699 #define L_tmpnam 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
700
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
701 #define TMP_MAX 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
702
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
703 #define CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
704
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
705 #define CYGNUM_LIBC_STDIO_BUFSIZE 256
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
706
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
707 #ifdef CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
708 # define BUFSIZ CYGNUM_LIBC_STDIO_BUFSIZE
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
709 #else
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
710 # define BUFSIZ 0
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
711 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
712
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
713 #undef CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
714
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
715 #ifdef CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
716 # ifndef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
717 # error You must have malloc() support if you want dynamic setvbuf \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
718 support in the C library
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
719 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
720 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
721
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
722 #define CYGFUN_LIBC_STDIO_ungetc
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
723
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
724 #define CYGPKG_LIBC_STDIO_OPEN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
725
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
726 #ifdef CYGPKG_LIBC_STDIO_OPEN
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
727 # ifndef CYGPKG_LIBC_MALLOC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
728 # error You must have malloc() support if you want to use fopen()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
729 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
730 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
731
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
732 // We define a default console so that the console is defined
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
733 // statically, to prevent the requirement of dynamic memory allocation, and
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
734 // since there is generally only one relevant console which exists for the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
735 // lifetime of the system. See the device driver documentation and examine
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
736 // your configuration to find out which device names are available. The
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
737 // device names should be prefixed with "/dev/".
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
738 //
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
739 // So what is the name of the device that is the default console device
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
740
42
94fd8fbfe8fe Merge from eCos master repository on 1999-10-05-12:38:44-BST
jlarmour
parents: 2
diff changeset
741 #define CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE "/dev/ttydiag"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
742
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
743 #define CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
744
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
745 #ifdef CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
746 # ifndef CYGPKG_LIBM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
747 # error You must enable the Math library to use floating point in the \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
748 *printf() functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
749 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
750 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
751
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
752 #define CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
753
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
754 #ifdef CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
755 # ifndef CYGFUN_LIBC_strtod // libm is implicit with this
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
756 # error You must enable the use of strtod and the math library to use \
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
757 floating point in the *scanf() functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
758 # endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
759 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
760
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
761 #endif // ifdef CYGPKG_LIBC_STDIO
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
762
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
763 #define CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
764
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
765 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
766
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
767 // INTERNATIONALIZATION AND LOCALIZATION OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
768
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
769 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
770
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
771 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
772
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
773 cdl_option CYGNUM_LIBC_MAX_LOCALE_NAME_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
774 display "Size of locale name strings"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
775 description "This option controls the maximum size of
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
776 locale names and is used, among other things
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
777 to instantiate a static string used
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
778 as a return value from the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
779 setlocale() function. When requesting the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
780 current locale settings with LC_ALL, a string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
781 must be constructed to contain this data, rather
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
782 than just returning a constant string. This
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
783 string data is stored in the static string.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
784 This depends on the length of locale names,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
785 hence this option. If just the C locale is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
786 present, this option can be set as low as 2."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
787 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
788 legal_values 2 to 0x7fffffff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
789 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
790 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
791
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
792 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
793
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
794 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
795
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
796 #define CYGNUM_LIBC_MAX_LOCALE_NAME_SIZE 16
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
797
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
798 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
799
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
800 // SIGNAL CONFIGURATION OPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
801
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
802 /*
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
803 {{CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
804 cdl_component CYGPKG_LIBC_SIGNALS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
805 display "Signals"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
806 description "This component controls signal functionality,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
807 as implemented in ISO C chapter 7.7 with the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
808 signal() and raise() functions. As well as
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
809 allowing a program to send itself signals, it is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
810 also possible to cause hardware exceptions to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
811 be signalled to the program in a similar way."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
812 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
813 parent CYGPKG_LIBC
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
814 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
815
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
816 cdl_option CYGSEM_LIBC_SIGNALS_THREAD_SAFE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
817 display "Thread safe signals"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
818 description "Because signal handlers are global, and not
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
819 thread-specific (as mandated by POSIX 1003.1)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
820 it is possible for multiple threads to clash
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
821 and corrupt data if setting the same signal
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
822 handler at the same time. With this option
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
823 enabled, a kernel mutex will be used to protect
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
824 the shared data."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
825 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
826 requires CYGPKG_KERNEL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
827 parent CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
828 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
829
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
830 cdl_component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
831 display "Hardware exceptions cause signals"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
832 description "This causes hardware exceptions like
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
833 arithmetic exceptions (e.g. divide by zero)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
834 or bad memory accesses to be passed through as
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
835 signals. It is thus possible for a program to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
836 handle these exceptions in a generic way using
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
837 the appropriate signal handlers. The details of
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
838 exactly which exceptions are passed through
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
839 under what circumstances depend on the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
840 underlying HAL implementation. Consequently it
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
841 must be remembered that signal handlers cannot
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
842 be guaranteed to be invoked in the expected
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
843 circumstances if you do not know about the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
844 underlying HAL implementation - it is possible
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
845 that the architecture is unable to detect that
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
846 exception."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
847 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
848 requires CYGSEM_KERNEL_EXCEPTIONS_GLOBAL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
849 requires CYGSEM_KERNEL_EXCEPTIONS_DECODE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
850 parent CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
851 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
852
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
853 cdl_option CYGSEM_LIBC_SIGNALS_CHAIN_HWEXCEPTIONS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
854 display "Chain old exception handlers"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
855 description "When hardware exceptions are generated, it
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
856 is possible to chain into the old kernel exception
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
857 handler before calling any registered signal
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
858 handler. If this is not required, disable this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
859 option and only the signal handler will be
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
860 called when this exception occurs. Disabling
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
861 this option will also save some space and code
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
862 usage."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
863 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
864 requires !CYGPKG_HAL_I386_LINUX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
865 parent CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
866 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
867
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
868 cdl_component CYGPKG_LIBC_SIGNALS_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
869 display "Inline versions of functions"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
870 description "Some functions can be made inline instead of
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
871 being function calls. These can be set here."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
872 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
873 parent CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
874 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
875
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
876 cdl_option CYGIMP_LIBC_SIGNALS_RAISE_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
877 display "raise()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
878 description "Enabling this option makes raise() an inline
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
879 function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
880 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
881 parent CYGPKG_LIBC_SIGNALS_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
882 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
883
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
884 cdl_option CYGIMP_LIBC_SIGNALS_SIGNAL_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
885 display "signal()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
886 description "Enabling this option makes signal() an inline
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
887 function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
888 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
889 parent CYGPKG_LIBC_SIGNALS_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
890 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
891
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
892 cdl_component CYGPKG_LIBC_SIGNALS_ERROR_HANDLING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
893 display "Error handling"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
894 description "You may or may not want errno to be set by
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
895 certain functions. Not using errno could save
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
896 both space, code, and avoid worrying about
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
897 interactions between multiple threads when
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
898 setting it."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
899 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
900 parent CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
901 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
902
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
903 cdl_option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
904 display "Bad signal fatal"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
905 description "Enabling this option will cause an assertion
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
906 failure if the signal handling code is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
907 passed a bad signal. Otherwise an error will
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
908 be returned, or in the case of a
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
909 hardware-generated exception it will be silently
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
910 ignored."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
911 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
912 requires CYGDBG_USE_ASSERTS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
913 parent CYGPKG_LIBC_SIGNALS_ERROR_HANDLING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
914 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
915
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
916 cdl_option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
917 display "raise() sets errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
918 description "You may or may not want errno to be set by
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
919 raise() on error conditions. Not using errno
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
920 could save both space, code, and avoid worrying
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
921 about interactions between multiple threads when
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
922 setting it. Strictly ISO C does not mandate
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
923 that errno be set by raise()."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
924 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
925 parent CYGPKG_LIBC_SIGNALS_ERROR_HANDLING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
926 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
927
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
928 cdl_option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
929 display "signal() sets errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
930 description "You may or may not want errno to be set by
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
931 signal() on error conditions. Not using errno
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
932 could save both space, code, and avoid worrying
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
933 about interactions between multiple threads when
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
934 setting it. Strictly ISO C mandates
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
935 that errno be set by signal()."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
936 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
937 parent CYGPKG_LIBC_SIGNALS_ERROR_HANDLING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
938 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
939
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
940 cdl_component CYGPKG_LIBC_SIGNALS_TRACING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
941 display "Tracing"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
942 description "These options control the trace output for the C
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
943 library internal signal implementation."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
944 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
945 parent CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
946 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
947
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
948 cdl_option CYGNUM_LIBC_SIGNALS_RAISE_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
949 display "Default trace level for raise()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
950 description "This gives the default tracing level for the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
951 raise() function. Higher numbers are more
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
952 verbose."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
953 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
954 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
955 parent CYGPKG_LIBC_SIGNALS_TRACING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
956 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
957
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
958 cdl_option CYGNUM_LIBC_SIGNALS_HWHANDLER_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
959 display "Default hardware exception handler trace level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
960 description "This gives the default tracing level for the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
961 hardware exception handler function (if enabled).
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
962 Higher numbers are more verbose."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
963 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
964 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
965 parent CYGPKG_LIBC_SIGNALS_TRACING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
966 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
967
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
968 }}CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
969 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
970
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
971 #define CYGPKG_LIBC_SIGNALS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
972 #define CYGSEM_LIBC_SIGNALS_THREAD_SAFE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
973 #undef CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
974 #ifdef CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
975 # define CYGSEM_LIBC_SIGNALS_CHAIN_HWEXCEPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
976 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
977 #define CYGIMP_LIBC_SIGNALS_RAISE_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
978 #define CYGIMP_LIBC_SIGNALS_SIGNAL_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
979 #undef CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
980 #define CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
981 #define CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
982 #define CYGNUM_LIBC_SIGNALS_RAISE_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
983 #define CYGNUM_LIBC_SIGNALS_HWHANDLER_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
984
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
985 //========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
986
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
987 // STARTUP OPTIONS
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
988
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
989 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
990 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
991
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
992 cdl_component CYGPKG_LIBC_STARTUP {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
993 display "ISO C startup/termination"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
994 description "This component manages the control of the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
995 environment (in the general sense) that the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
996 C library provides for use for full ISO C
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
997 compatibility, including a main() entry point
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
998 supplied with arguments and an environment
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
999 (as retrievable by the getenv() function).
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1000 It also includes at the other end of things,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1001 what happens when main() returns or exit() is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1002 called."
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1003 doc ref/ecos-ref/c-library-startup.html.html
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1004 type dummy
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1005 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1006 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1007
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1008 cdl_option CYGDAT_LIBC_ARGUMENTS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1009 display "Arguments to main()"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1010 description "This option allows the setting of the arguments
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1011 to the main function. This only has any effect
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1012 when cyg_iso_c_start() is used to start the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1013 ISO C compatibility. This will automatically
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1014 invoke main() in an ISO C compatible fashion.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1015 This option is in fact used as argv, and so is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1016 an n-tuple of string constants. The final
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1017 entry must be NULL. Conventionally if argv[0]
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1018 is supplied, it is used to inform the program
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1019 of its name."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1020 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1021 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1022 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1023
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1024 cdl_component CYGSEM_LIBC_STARTUP_MAIN_THREAD {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1025 display "main() invoked as thread"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1026 description "It is normally expected (e.g. in a POSIX 1003.1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1027 environment) that main() is run in the context
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1028 of a thread just like any other thread. If this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1029 option is disabled then main() will instead be
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1030 called in the context of the initialization
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1031 routines, without the scheduler running and
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1032 using the interrupt stack. This means that
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1033 any functions that may require interactions
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1034 with a running kernel will not work (including
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1035 libc functions, if configured to be thread safe
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1036 for example), so you should restrict yourself
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1037 to only calling fully re-entrant functions from
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1038 within main() in this case."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1039 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1040 requires CYGPKG_KERNEL
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1041 parent CYGPKG_LIBC_STARTUP
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1042 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1043
44
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1044 cdl_component CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM {
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1045 display "System provides stack for main()'s thread"
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1046 description "This option controls whether the stack of
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1047 main()'s thread is provided by the application or
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1048 provided by the system. When disabled, the
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1049 application must declare a pointer variable
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1050 cyg_libc_main_stack which is a pointer to an
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1051 appropriately aligned region of memory. The
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1052 application must also declare a variable of
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1053 type `int' called cyg_libc_main_stack_size
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1054 which contains the size of the stack in bytes.
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1055 This must be a multiple of 8."
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1056 type boolean
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1057 parent CYGSEM_LIBC_STARTUP_MAIN_THREAD
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1058 }
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1059
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1060 cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE {
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1061 display "main()'s default thread stack size"
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1062 description "With an eCos kernel, when the cyg_iso_c_start()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1063 function is used to invoke the user-supplied
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1064 main() function in an ISO C compatible fashion,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1065 a separate thread is created to call main().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1066 This option controls the size of that thread's
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1067 stack, which is allocated in the BSS. It
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1068 must be a multiple of 8. Note, a low number
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1069 here may be overriden by the HAL if there is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1070 a minimum requirement to process interrupts
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1071 etc."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1072 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1073 legal_values 16 to 0x7fffffff
44
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1074 parent CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1075 }
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1076
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1077 cdl_option CYGNUM_LIBC_MAIN_THREAD_PRIORITY {
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1078 display "Priority of main()'s thread"
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1079 description "This option is used to provide the thread
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1080 priority which main()'s thread runs at. Be
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1081 sure to check that this number is appropriate
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1082 for the kernel scheduler chosen. Different
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1083 kernel schedulers impose different restrictions
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1084 on the usable priorities."
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1085 type count
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1086 legal_values 0 to 0x7fffffff
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1087 parent CYGSEM_LIBC_STARTUP_MAIN_THREAD
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1088 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1089
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1090 cdl_component CYGFUN_LIBC_ATEXIT {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1091 display "Include atexit() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1092 description "This option enables the use of the atexit()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1093 function, and ensure that the atexit handlers
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1094 are invoked from within exit() as defined in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1095 the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1096 type boolean
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1097 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1098 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1099
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1100 cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1101 display "Number of functions atexit() supports"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1102 description "This option sets the number of functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1103 that atexit() has room for. In other words,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1104 the number of separate atexit() calls that
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1105 can be made before calling exit() or returning
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1106 from main() ( in an environment controlled by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1107 cyg_iso_c_start() ). For strict compliance
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1108 with the ISO C standard this should be at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1109 least 32."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1110 type count
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1111 parent CYGFUN_LIBC_ATEXIT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1112 legal_values 1 to 0x7fffffff
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1113 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1114
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1115 cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1116 display "Make exit() call fflush()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1117 description "This option will ensure that all output
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1118 streams are flushed when exitting using
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1119 exit() as prescribed by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1120 type boolean
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1121 parent CYGPKG_LIBC_STARTUP
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1122 requires CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1123 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1124
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1125 cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1126 display "_exit() stops all threads"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1127 description "If this option is enabled then _exit(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1128 which is called from exit() which itself is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1129 called on return from main(), stops the eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1130 scheduler. For strict POSIX 1003.1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1131 compatibility this would be the normal
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1132 behaviour. To allow the thread to simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1133 exit, without affecting other threads, simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1134 disable this option. If there is no eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1135 scheduler, then _exit() simply loops
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1136 irrespective of the setting of this option."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1137 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1138 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1139 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1140 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1141
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1142 cdl_component CYGPKG_LIBC_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1143 display "Provide a system environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1144 description "This option allows use of the getenv() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1145 and the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1146 char **environ defined by POSIX 1003.1.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1147 Disabling this saves a small amount of space."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1148 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1149 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1150 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1151
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1152 cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1153 display "Default environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1154 description "This option allows the setting of the default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1155 contents of the environment. This is in fact
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1156 the contents of the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1157 char **environ defined by POSIX 1003.1. Strings
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1158 must be of the form NAME=VALUE, and the final
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1159 entry must be NULL."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1160 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1161 parent CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1162 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1163
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1164 cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1165 display "Invoke default static constructors"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1166 description "This option causes the C library to call
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1167 static constructors with default priority
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1168 from within the context of the main() thread,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1169 working with the co-operation of the HAL.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1170 This may be needed for environments that
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1171 expect static constructors to be run in a
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1172 thread context. Note that this uses an object
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1173 with priority 65534. Therefore do not use
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1174 priority 65534 for any other static objects
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1175 with this option enabled."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1176 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1177 requires CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1178 requires CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1179 parent CYGPKG_LIBC_STARTUP
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1180 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1181
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1182 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1183 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1184
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1185 #define CYGDAT_LIBC_ARGUMENTS { "", NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1186
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1187 #define CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1188
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1189 #ifdef CYGSEM_LIBC_STARTUP_MAIN_THREAD
44
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1190 # define CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM
41bd4f3a90de Merge from eCos master repository on 1999-10-08-07:47:04-BST
jlarmour
parents: 42
diff changeset
1191 # define CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE 8192
46
797268ecc331 Merge from eCos master repository on 1999-10-19-18:55:31-BST
jlarmour
parents: 44
diff changeset
1192 # define CYGNUM_LIBC_MAIN_THREAD_PRIORITY 10
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1193 #endif
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1194
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1195 #define CYGFUN_LIBC_ATEXIT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1196
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1197 #ifdef CYGFUN_LIBC_ATEXIT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1198 #define CYGNUM_LIBC_ATEXIT_HANDLERS 32
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1199 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1200
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1201 #define CYGSEM_LIBC_EXIT_CALLS_FFLUSH
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1202
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1203 #undef CYGSEM_LIBC_EXIT_STOPS_SYSTEM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1204
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1205 #define CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1206
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1207 #define CYGDAT_LIBC_DEFAULT_ENVIRONMENT { NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1208
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1209 #undef CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1210
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1211 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1212
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1213 // ERRNO OPTIONS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1214
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1215 /*
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1216 {{CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1217
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1218 cdl_component CYGPKG_LIBC_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1219 display "errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1220 description "This package controls the behaviour of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1221 errno variable (or more strictly, expression)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1222 from <errno.h>."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1223 type dummy
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1224 parent CYGPKG_LIBC
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1225 }
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1226
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1227 cdl_option CYGSEM_LIBC_PER_THREAD_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1228 display "Per-thread errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1229 description "This option controls whether the standard error
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1230 code reporting variable errno is a per-thread
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1231 variable, rather than global. Enabling this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1232 option will use one slot of kernel per-thread data.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1233 You should ensure you have enough slots configured
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1234 for all your per-thread data."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1235 doc ref/ecos-ref/c-and-math-library-overview-thread-safety.html
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1236 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1237 requires CYGVAR_KERNEL_THREADS_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1238 parent CYGPKG_LIBC_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1239 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1240
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1241 cdl_option CYGNUM_LIBC_ERRNO_TRACE_LEVEL {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1242 display "Tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1243 description "Trace verbosity level for debugging the errno
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1244 retrieval mechanism in errno.cxx. Increase this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1245 value to get additional trace output."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1246 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1247 legal_values 0 to 1
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1248 parent CYGPKG_LIBC_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1249 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1250
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1251 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1252 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1253
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1254 #define CYGSEM_LIBC_PER_THREAD_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1255
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1256 #define CYGNUM_LIBC_ERRNO_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1257
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1258
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1259 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1260
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1261 // TIME OPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1262
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1263 /*
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1264 {{CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1265
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1266 cdl_component CYGPKG_LIBC_TIME {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1267 display "Date/Time"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1268 description "Options for date and time related functions
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1269 from <time.h>"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1270 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1271 parent CYGPKG_LIBC
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1272 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1273
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1274 cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1275 display "Working clock() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1276 description "This option controls whether clock() will
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1277 actually try and determine the process time
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1278 usage. With this option disabled, clock() does
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1279 not disappear, but will permanently return
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1280 (clock_t)-1 as mandated by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1281 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1282 requires CYGFUN_KERNEL_THREADS_TIMER
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1283 requires CYGVAR_KERNEL_COUNTERS_CLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1284 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1285 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1286
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1287 cdl_option CYGSEM_LIBC_TIME_TIME_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1288 display "Working time() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1289 description "This option controls whether time() will
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1290 actually try and determine the current calendar
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1291 time. With this option disabled, time() does
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1292 not disappear, but will permanently return
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1293 (time_t)-1 as mandated by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1294 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1295 requires CYGPKG_DEVICES_WALLCLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1296 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1297 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1298
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1299 cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1300 display "Working cyg_libc_time_settime() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1301 description "This option controls whether cyg_libc_time_settime()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1302 will actually try and set the current calendar
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1303 time. With this option disabled,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1304 cyg_libc_time_settime() does not disappear, but
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1305 will permanently return an error."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1306 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1307 requires CYGPKG_DEVICES_WALLCLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1308 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1309 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1310
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1311 cdl_option CYGFUN_LIBC_TIME_POSIX {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1312 display "POSIX time functions"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1313 description "Enabling this option allows the use of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1314 following functions defined in POSIX 1003.1:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1315 asctime_r(), ctime_r(), gmtime_r(), and
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1316 localtime_r()."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1317 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1318 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1319 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1320
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1321 cdl_component CYGPKG_LIBC_TIME_ZONES {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1322 display "Time zone offsets"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1323 description "These options control the default STandarD (STD)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1324 and Daylight Savings Time (DST)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1325 time offsets so that dates can be set correctly
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1326 for the local environment."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1327 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1328 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1329 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1330
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1331 cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1332 display "Default Daylight Savings Time state"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1333 description "This option controls whether the initial
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1334 time environment is set up as STD, DST or
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1335 unknown. Use the value 1 for DST, 0 for STD,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1336 and (-1) for unknown. This can also be set at
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1337 runtime using the cyg_libc_time_setdst()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1338 function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1339 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1340 legal_values -1 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1341 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1342 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1343
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1344 cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1345 display "Default Standard Time offset"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1346 description "This option controls the offset from UTC in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1347 seconds when in local Standard Time. This
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1348 value can be positive or negative. It
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1349 can also be set at run time using the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1350 cyg_libc_time_setzoneoffsets() function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1351 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1352 legal_values -90000 to 90000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1353 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1354 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1355
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1356 cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1357 display "Default Daylight Savings Time offset"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1358 description "This option controls the offset from UTC in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1359 seconds when in local Daylight Savings Time. This
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1360 value can be positive or negative. It
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1361 can also be set at run time using the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1362 cyg_libc_time_setzoneoffsets() function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1363 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1364 legal_values -90000 to 90000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1365 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1366 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1367
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1368
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1369 cdl_component CYGPKG_LIBC_TIME_INLINES {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1370 display "Inline functions"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1371 description "These options control whether certain functions
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1372 are available in inline form. This may lead to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1373 faster code at the expense of code space. But for
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1374 some functions, or some functions with constant
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1375 arguments, it may in fact lead to smaller code."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1376 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1377 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1378 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1379
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1380 cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1381 display "asctime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1382 description "Allow the asctime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1383 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1384 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1385 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1386
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1387 cdl_option CYGIMP_LIBC_TIME_CTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1388 display "ctime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1389 description "Allow the ctime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1390 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1391 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1392 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1393
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1394 cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1395 display "difftime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1396 description "Allow the difftime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1397 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1398 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1399 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1400
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1401 cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1402 display "gmtime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1403 description "Allow the gmtime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1404 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1405 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1406 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1407
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1408 cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1409 display "localtime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1410 description "Allow the localtime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1411 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1412 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1413 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1414
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1415 cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1416 display "mktime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1417 description "Allow the mktime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1418 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1419 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1420 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1421
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1422 cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1423 display "asctime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1424 description "Allow the asctime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1425 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1426 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1427 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1428 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1429
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1430 cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1431 display "ctime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1432 description "Allow the ctime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1433 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1434 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1435 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1436 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1437
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1438 cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1439 display "gmtime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1440 description "Allow the gmtime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1441 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1442 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1443 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1444 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1445
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1446 cdl_option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1447 display "localtime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1448 description "Allow the localtime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1449 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1450 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1451 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1452 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1453
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1454 # FIXME: Also want "inline all" and "don't inline any" options which requires
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1455 # (or not) all the above, but
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1456 # if we do that then we will require the ones that also depend on
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1457 # CYGFUN_LIBC_TIME_POSIX :-( Wait for full CDL to fix this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1458
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1459 cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1460 display "clock() tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1461 description "Trace verbosity level for debugging the clock()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1462 function. Increase this value to get
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1463 additional trace output when tracing is enabled."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1464 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1465 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1466 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1467 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1468
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1469 }}CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1470 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1471
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1472 #define CYGSEM_LIBC_TIME_CLOCK_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1473 #define CYGSEM_LIBC_TIME_TIME_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1474 #define CYGSEM_LIBC_TIME_SETTIME_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1475 #define CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1476 #define CYGNUM_LIBC_TIME_DST_DEFAULT_STATE (-1)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1477 #define CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1478 #define CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET 3600
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1479 #define CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1480 #define CYGIMP_LIBC_TIME_ASCTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1481 #define CYGIMP_LIBC_TIME_CTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1482 #define CYGIMP_LIBC_TIME_DIFFTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1483 #define CYGIMP_LIBC_TIME_GMTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1484 #define CYGIMP_LIBC_TIME_LOCALTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1485 #define CYGIMP_LIBC_TIME_MKTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1486 #define CYGIMP_LIBC_TIME_ASCTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1487 #define CYGIMP_LIBC_TIME_CTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1488 #define CYGIMP_LIBC_TIME_GMTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1489 #define CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1490
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1491 //========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1492
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1493 // MISCELLANEOUS DEFINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1494
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1495
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1496 // These are not really adjustable by the user. Do not change these unless
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1497 // you know what you are doing!
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1498
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1499 // How to define inline functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1500 #define CYGPRI_LIBC_INLINE extern __inline__
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1501
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1502 // The following isn't supported yet - I'm leaving it for now
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1503 #ifdef __GNUC__xxxxxx
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1504 # define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1505 __attribute__ ((format (strftime, 3)))
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1506 #else
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1507 # define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1508 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1509
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1510 // The following are only for compatibility, and will eventually be removed
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1511 // once they are eliminated entirely from the code base
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1512
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1513 #define CYGPRI_LIBC_WEAK CYGBLD_ATTRIB_WEAK
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1514
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1515 // How to define aliases
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1516 #define CYGPRI_LIBC_ALIAS(__symbol__) __attribute__ ((alias (__symbol__)))
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1517
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1518 # define CYGPRI_LIBC_WEAK_ALIAS(__symbol__) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1519 CYGBLD_ATTRIB_WEAK CYGPRI_LIBC_ALIAS(__symbol__)
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1520
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1521 // How to define functions that don't return
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1522 #define CYGPRI_LIBC_NORETURN CYGBLD_ATTRIB_NORET
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1523
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1524 #endif // CYGONCE_PKGCONF_LIBC_H multiple inclusion protection
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1525
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1526 // EOF libc.h