annotate packages/language/c/libc/current/include/pkgconf/libc.h @ 42:94fd8fbfe8fe ecos-sw-1999-10-05

Merge from eCos master repository on 1999-10-05-12:38:44-BST
author jlarmour
date Tue, 05 Oct 1999 12:09:26 +0000
parents 443894e2e912
children 41bd4f3a90de
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
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1044 cdl_option CYGNUM_LIBC_MAIN_STACK_SIZE {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1045 display "main()'s thread stack size"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1046 description "With an eCos kernel, when the cyg_iso_c_start()
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1047 function is used to invoke the user-supplied
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1048 main() function in an ISO C compatible fashion,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1049 a separate thread is created to call main().
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1050 This option controls the size of that thread's
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1051 stack, which is allocated in the BSS. It
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1052 must be a multiple of 8. Note, a low number
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1053 here may be overriden by the HAL if there is
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1054 a minimum requirement to process interrupts
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1055 etc."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1056 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1057 legal_values 16 to 0x7fffffff
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1058 parent CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1059 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1060
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1061 cdl_component CYGFUN_LIBC_ATEXIT {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1062 display "Include atexit() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1063 description "This option enables the use of the atexit()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1064 function, and ensure that the atexit handlers
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1065 are invoked from within exit() as defined in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1066 the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1067 type boolean
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1068 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1069 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1070
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1071 cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1072 display "Number of functions atexit() supports"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1073 description "This option sets the number of functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1074 that atexit() has room for. In other words,
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1075 the number of separate atexit() calls that
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1076 can be made before calling exit() or returning
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1077 from main() ( in an environment controlled by
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1078 cyg_iso_c_start() ). For strict compliance
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1079 with the ISO C standard this should be at
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1080 least 32."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1081 type count
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1082 parent CYGFUN_LIBC_ATEXIT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1083 legal_values 1 to 0x7fffffff
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1084 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1085
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1086 cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1087 display "Make exit() call fflush()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1088 description "This option will ensure that all output
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1089 streams are flushed when exitting using
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1090 exit() as prescribed by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1091 type boolean
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1092 parent CYGPKG_LIBC_STARTUP
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1093 requires CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1094 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1095
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1096 cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1097 display "_exit() stops all threads"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1098 description "If this option is enabled then _exit(),
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1099 which is called from exit() which itself is
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1100 called on return from main(), stops the eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1101 scheduler. For strict POSIX 1003.1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1102 compatibility this would be the normal
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1103 behaviour. To allow the thread to simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1104 exit, without affecting other threads, simply
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1105 disable this option. If there is no eCos
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1106 scheduler, then _exit() simply loops
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1107 irrespective of the setting of this option."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1108 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1109 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1110 requires CYGPKG_KERNEL
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1111 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1112
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1113 cdl_component CYGPKG_LIBC_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1114 display "Provide a system environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1115 description "This option allows use of the getenv() function
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1116 and the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1117 char **environ defined by POSIX 1003.1.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1118 Disabling this saves a small amount of space."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1119 type boolean
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1120 parent CYGPKG_LIBC_STARTUP
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1121 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1122
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1123 cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT {
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1124 display "Default environment"
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1125 description "This option allows the setting of the default
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1126 contents of the environment. This is in fact
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1127 the contents of the global environment pointer
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1128 char **environ defined by POSIX 1003.1. Strings
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1129 must be of the form NAME=VALUE, and the final
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1130 entry must be NULL."
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1131 type string
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1132 parent CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1133 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1134
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1135 cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1136 display "Invoke default static constructors"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1137 description "This option causes the C library to call
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1138 static constructors with default priority
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1139 from within the context of the main() thread,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1140 working with the co-operation of the HAL.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1141 This may be needed for environments that
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1142 expect static constructors to be run in a
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1143 thread context. Note that this uses an object
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1144 with priority 65534. Therefore do not use
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1145 priority 65534 for any other static objects
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1146 with this option enabled."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1147 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1148 requires CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1149 requires CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1150 parent CYGPKG_LIBC_STARTUP
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1151 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1152
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1153 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1154 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1155
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1156 #define CYGDAT_LIBC_ARGUMENTS { "", NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1157
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1158 #define CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1159
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1160 #ifdef CYGSEM_LIBC_STARTUP_MAIN_THREAD
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1161 #define CYGNUM_LIBC_MAIN_STACK_SIZE 8192
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1162 #endif
0
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 #define CYGFUN_LIBC_ATEXIT
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1165
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1166 #ifdef CYGFUN_LIBC_ATEXIT
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1167 #define CYGNUM_LIBC_ATEXIT_HANDLERS 32
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1168 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1169
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1170 #define CYGSEM_LIBC_EXIT_CALLS_FFLUSH
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1171
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1172 #undef CYGSEM_LIBC_EXIT_STOPS_SYSTEM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1173
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1174 #define CYGPKG_LIBC_ENVIRONMENT
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1175
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1176 #define CYGDAT_LIBC_DEFAULT_ENVIRONMENT { NULL }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1177
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1178 #undef CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1179
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1180 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1181
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1182 // ERRNO OPTIONS
0
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 {{CFG_DATA
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 cdl_component CYGPKG_LIBC_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1188 display "errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1189 description "This package controls the behaviour of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1190 errno variable (or more strictly, expression)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1191 from <errno.h>."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1192 type dummy
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1193 parent CYGPKG_LIBC
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
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1196 cdl_option CYGSEM_LIBC_PER_THREAD_ERRNO {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1197 display "Per-thread errno"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1198 description "This option controls whether the standard error
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1199 code reporting variable errno is a per-thread
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1200 variable, rather than global. Enabling this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1201 option will use one slot of kernel per-thread data.
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1202 You should ensure you have enough slots configured
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1203 for all your per-thread data."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1204 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
1205 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1206 requires CYGVAR_KERNEL_THREADS_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1207 parent CYGPKG_LIBC_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1208 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1209
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1210 cdl_option CYGNUM_LIBC_ERRNO_TRACE_LEVEL {
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1211 display "Tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1212 description "Trace verbosity level for debugging the errno
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1213 retrieval mechanism in errno.cxx. Increase this
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1214 value to get additional trace output."
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1215 type count
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1216 legal_values 0 to 1
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1217 parent CYGPKG_LIBC_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1218 }
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1219
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1220 }}CFG_DATA
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1221 */
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1222
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1223 #define CYGSEM_LIBC_PER_THREAD_ERRNO
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1224
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1225 #define CYGNUM_LIBC_ERRNO_TRACE_LEVEL 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1226
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1227
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1228 //========================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1229
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1230 // TIME OPTIONS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1231
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1232 /*
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1233 {{CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1234
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1235 cdl_component CYGPKG_LIBC_TIME {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1236 display "Date/Time"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1237 description "Options for date and time related functions
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1238 from <time.h>"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1239 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1240 parent CYGPKG_LIBC
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1241 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1242
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1243 cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1244 display "Working clock() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1245 description "This option controls whether clock() will
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1246 actually try and determine the process time
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1247 usage. With this option disabled, clock() does
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1248 not disappear, but will permanently return
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1249 (clock_t)-1 as mandated by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1250 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1251 requires CYGFUN_KERNEL_THREADS_TIMER
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1252 requires CYGVAR_KERNEL_COUNTERS_CLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1253 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1254 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1255
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1256 cdl_option CYGSEM_LIBC_TIME_TIME_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1257 display "Working time() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1258 description "This option controls whether time() will
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1259 actually try and determine the current calendar
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1260 time. With this option disabled, time() does
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1261 not disappear, but will permanently return
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1262 (time_t)-1 as mandated by the ISO C standard."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1263 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1264 requires CYGPKG_DEVICES_WALLCLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1265 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1266 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1267
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1268 cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1269 display "Working cyg_libc_time_settime() function"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1270 description "This option controls whether cyg_libc_time_settime()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1271 will actually try and set the current calendar
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1272 time. With this option disabled,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1273 cyg_libc_time_settime() does not disappear, but
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1274 will permanently return an error."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1275 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1276 requires CYGPKG_DEVICES_WALLCLOCK
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1277 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1278 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1279
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1280 cdl_option CYGFUN_LIBC_TIME_POSIX {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1281 display "POSIX time functions"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1282 description "Enabling this option allows the use of the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1283 following functions defined in POSIX 1003.1:
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1284 asctime_r(), ctime_r(), gmtime_r(), and
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1285 localtime_r()."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1286 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1287 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1288 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1289
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1290 cdl_component CYGPKG_LIBC_TIME_ZONES {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1291 display "Time zone offsets"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1292 description "These options control the default STandarD (STD)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1293 and Daylight Savings Time (DST)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1294 time offsets so that dates can be set correctly
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1295 for the local environment."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1296 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1297 parent CYGPKG_LIBC_TIME
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
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1300 cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1301 display "Default Daylight Savings Time state"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1302 description "This option controls whether the initial
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1303 time environment is set up as STD, DST or
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1304 unknown. Use the value 1 for DST, 0 for STD,
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1305 and (-1) for unknown. This can also be set at
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1306 runtime using the cyg_libc_time_setdst()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1307 function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1308 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1309 legal_values -1 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1310 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1311 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1312
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1313 cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1314 display "Default Standard Time offset"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1315 description "This option controls the offset from UTC in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1316 seconds when in local Standard Time. This
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1317 value can be positive or negative. It
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1318 can also be set at run time using the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1319 cyg_libc_time_setzoneoffsets() function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1320 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1321 legal_values -90000 to 90000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1322 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1323 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1324
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1325 cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1326 display "Default Daylight Savings Time offset"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1327 description "This option controls the offset from UTC in
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1328 seconds when in local Daylight Savings Time. This
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1329 value can be positive or negative. It
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1330 can also be set at run time using the
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1331 cyg_libc_time_setzoneoffsets() function."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1332 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1333 legal_values -90000 to 90000
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1334 parent CYGPKG_LIBC_TIME_ZONES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1335 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1336
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1337
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1338 cdl_component CYGPKG_LIBC_TIME_INLINES {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1339 display "Inline functions"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1340 description "These options control whether certain functions
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1341 are available in inline form. This may lead to
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1342 faster code at the expense of code space. But for
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1343 some functions, or some functions with constant
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1344 arguments, it may in fact lead to smaller code."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1345 type dummy
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1346 parent CYGPKG_LIBC_TIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1347 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1348
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1349 cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1350 display "asctime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1351 description "Allow the asctime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1352 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1353 parent CYGPKG_LIBC_TIME_INLINES
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 CYGIMP_LIBC_TIME_CTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1357 display "ctime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1358 description "Allow the ctime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1359 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1360 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1361 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1362
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1363 cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1364 display "difftime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1365 description "Allow the difftime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1366 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1367 parent CYGPKG_LIBC_TIME_INLINES
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
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1370 cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1371 display "gmtime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1372 description "Allow the gmtime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1373 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1374 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1375 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1376
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1377 cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1378 display "localtime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1379 description "Allow the localtime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1380 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1381 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1382 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1383
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1384 cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1385 display "mktime()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1386 description "Allow the mktime() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1387 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1388 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1389 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1390
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1391 cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1392 display "asctime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1393 description "Allow the asctime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1394 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1395 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1396 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1397 }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1398
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1399 cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1400 display "ctime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1401 description "Allow the ctime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1402 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1403 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1404 parent CYGPKG_LIBC_TIME_INLINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1405 }
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 cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1408 display "gmtime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1409 description "Allow the gmtime_r() function to be inlined"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1410 type boolean
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1411 requires CYGFUN_LIBC_TIME_POSIX
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_LOCALTIME_R_INLINE {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1416 display "localtime_r()"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1417 description "Allow the localtime_r() 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 requires CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1420 parent CYGPKG_LIBC_TIME_INLINES
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
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1423 # 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
1424 # (or not) all the above, but
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1425 # 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
1426 # 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
1427
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1428 cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL {
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1429 display "clock() tracing level"
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1430 description "Trace verbosity level for debugging the clock()
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1431 function. Increase this value to get
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1432 additional trace output when tracing is enabled."
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1433 type count
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1434 legal_values 0 to 1
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1435 parent CYGPKG_LIBC_TIME
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 }}CFG_DATA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1439 */
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1440
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1441 #define CYGSEM_LIBC_TIME_CLOCK_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1442 #define CYGSEM_LIBC_TIME_TIME_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1443 #define CYGSEM_LIBC_TIME_SETTIME_WORKING
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1444 #define CYGFUN_LIBC_TIME_POSIX
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1445 #define CYGNUM_LIBC_TIME_DST_DEFAULT_STATE (-1)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1446 #define CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1447 #define CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET 3600
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1448 #define CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL 0
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1449 #define CYGIMP_LIBC_TIME_ASCTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1450 #define CYGIMP_LIBC_TIME_CTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1451 #define CYGIMP_LIBC_TIME_DIFFTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1452 #define CYGIMP_LIBC_TIME_GMTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1453 #define CYGIMP_LIBC_TIME_LOCALTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1454 #define CYGIMP_LIBC_TIME_MKTIME_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1455 #define CYGIMP_LIBC_TIME_ASCTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1456 #define CYGIMP_LIBC_TIME_CTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1457 #define CYGIMP_LIBC_TIME_GMTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1458 #define CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1459
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1460 //========================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1461
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1462 // MISCELLANEOUS DEFINES
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1463
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1464
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1465 // 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
1466 // you know what you are doing!
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1467
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1468 // How to define inline functions
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1469 #define CYGPRI_LIBC_INLINE extern __inline__
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1470
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1471 // 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
1472 #ifdef __GNUC__xxxxxx
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1473 # define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1474 __attribute__ ((format (strftime, 3)))
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1475 #else
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1476 # define CYGPRI_LIBC_ATTRIB_FORMAT_STRFTIME
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1477 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1478
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1479 // 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
1480 // once they are eliminated entirely from the code base
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1481
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1482 #define CYGPRI_LIBC_WEAK CYGBLD_ATTRIB_WEAK
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1483
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1484 // How to define aliases
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1485 #define CYGPRI_LIBC_ALIAS(__symbol__) __attribute__ ((alias (__symbol__)))
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1486
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1487 # define CYGPRI_LIBC_WEAK_ALIAS(__symbol__) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1488 CYGBLD_ATTRIB_WEAK CYGPRI_LIBC_ALIAS(__symbol__)
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1489
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1490 // How to define functions that don't return
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents: 0
diff changeset
1491 #define CYGPRI_LIBC_NORETURN CYGBLD_ATTRIB_NORET
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1492
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1493 #endif // CYGONCE_PKGCONF_LIBC_H multiple inclusion protection
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1494
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1495 // EOF libc.h