]> granicus.if.org Git - esp-idf/blob - components/newlib/include/langinfo.h
Initial public version
[esp-idf] / components / newlib / include / langinfo.h
1 /*-
2  * Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24  * SUCH DAMAGE.
25  *
26  * $FreeBSD: src/include/langinfo.h,v 1.5 2002/03/23 17:24:53 imp Exp $
27  */
28
29 #ifndef _LANGINFO_H_
30 #define _LANGINFO_H_
31
32 #include <newlib.h>
33 #include <sys/config.h>
34 #include <sys/cdefs.h>
35
36 typedef int nl_item;
37
38 enum __nl_item
39 {
40   /* POSIX and BSD defined items have to stick to the original values
41      to maintain backward compatibility. */
42   _NL_CTYPE_CODESET_NAME = 0,   /* codeset name */
43 #define CODESET _NL_CTYPE_CODESET_NAME
44   D_T_FMT,                      /* string for formatting date and time */
45 #define D_T_FMT D_T_FMT
46   D_FMT,                        /* date format string */
47 #define D_FMT D_FMT
48   T_FMT,                        /* time format string */
49 #define T_FMT T_FMT
50   T_FMT_AMPM,                   /* a.m. or p.m. time formatting string */
51 #define T_FMT_AMPM T_FMT_AMPM
52   AM_STR,                       /* Ante Meridian affix */
53 #define AM_STR AM_STR
54   PM_STR,                       /* Post Meridian affix */
55 #define PM_STR PM_STR
56
57 /* week day names */
58   DAY_1,
59 #define DAY_1 DAY_1
60   DAY_2,
61 #define DAY_2 DAY_2
62   DAY_3,
63 #define DAY_3 DAY_3
64   DAY_4,
65 #define DAY_4 DAY_4
66   DAY_5,
67 #define DAY_5 DAY_5
68   DAY_6,
69 #define DAY_6 DAY_6
70   DAY_7,
71 #define DAY_7 DAY_7
72
73 /* abbreviated week day names */
74   ABDAY_1,
75 #define ABDAY_1 ABDAY_1
76   ABDAY_2,
77 #define ABDAY_2 ABDAY_2
78   ABDAY_3,
79 #define ABDAY_3 ABDAY_3
80   ABDAY_4,
81 #define ABDAY_4 ABDAY_4
82   ABDAY_5,
83 #define ABDAY_5 ABDAY_5
84   ABDAY_6,
85 #define ABDAY_6 ABDAY_6
86   ABDAY_7,
87 #define ABDAY_7 ABDAY_7
88
89 /* month names */
90   MON_1,
91 #define MON_1 MON_1
92   MON_2,
93 #define MON_2 MON_2
94   MON_3,
95 #define MON_3 MON_3
96   MON_4,
97 #define MON_4 MON_4
98   MON_5,
99 #define MON_5 MON_5
100   MON_6,
101 #define MON_6 MON_6
102   MON_7,
103 #define MON_7 MON_7
104   MON_8,
105 #define MON_8 MON_8
106   MON_9,
107 #define MON_9 MON_9
108   MON_10,
109 #define MON_10 MON_10
110   MON_11,
111 #define MON_11 MON_11
112   MON_12,
113 #define MON_12 MON_12
114
115 /* abbreviated month names */
116   ABMON_1,
117 #define ABMON_1 ABMON_1
118   ABMON_2,
119 #define ABMON_2 ABMON_2
120   ABMON_3,
121 #define ABMON_3 ABMON_3
122   ABMON_4,
123 #define ABMON_4 ABMON_4
124   ABMON_5,
125 #define ABMON_5 ABMON_5
126   ABMON_6,
127 #define ABMON_6 ABMON_6
128   ABMON_7,
129 #define ABMON_7 ABMON_7
130   ABMON_8,
131 #define ABMON_8 ABMON_8
132   ABMON_9,
133 #define ABMON_9 ABMON_9
134   ABMON_10,
135 #define ABMON_10 ABMON_10
136   ABMON_11,
137 #define ABMON_11 ABMON_11
138   ABMON_12,
139 #define ABMON_12 ABMON_12
140
141   ERA,                          /* era description segments */
142 #define ERA ERA
143   ERA_D_FMT,                    /* era date format string */
144 #define ERA_D_FMT ERA_D_FMT
145   ERA_D_T_FMT,                  /* era date and time format string */
146 #define ERA_D_T_FMT ERA_D_T_FMT
147   ERA_T_FMT,                    /* era time format string */
148 #define ERA_T_FMT ERA_T_FMT
149   ALT_DIGITS,                   /* alternative symbols for digits */
150 #define ALT_DIGITS ALT_DIGITS
151
152   RADIXCHAR,                    /* radix char */
153 #define RADIXCHAR RADIXCHAR
154   THOUSEP,                      /* separator for thousands */
155 #define THOUSEP THOUSEP
156
157   YESEXPR,                      /* affirmative response expression */
158 #define YESEXPR YESEXPR
159   NOEXPR,                       /* negative response expression */
160 #define NOEXPR NOEXPR
161   YESSTR,                       /* affirmative response for yes/no queries */
162 #define YESSTR YESSTR
163   NOSTR,                        /* negative response for yes/no queries */
164 #define NOSTR NOSTR
165
166   CRNCYSTR,                     /* currency symbol */
167 #define CRNCYSTR CRNCYSTR
168
169   D_MD_ORDER,                   /* month/day order (BSD extension) */
170 #define D_MD_ORDER D_MD_ORDER
171
172   _NL_TIME_DATE_FMT = 84,       /* date fmt used by date(1) (GNU extension) */
173 #define _DATE_FMT _NL_TIME_DATE_FMT
174
175 #ifdef __HAVE_LOCALE_INFO__
176   _NL_CTYPE_MB_CUR_MAX,
177   _NL_MESSAGES_CODESET,
178
179 #ifdef __HAVE_LOCALE_INFO_EXTENDED__
180
181   /* NOTE:
182   
183      Always maintain the order and position of existing entries!
184      Always append new entry to the list, prior to the definition
185      of _NL_LOCALE_EXTENDED_LAST_ENTRY. */
186
187   _NL_LOCALE_EXTENDED_FIRST_ENTRY,
188
189   _NL_CTYPE_OUTDIGITS0_MB,
190   _NL_CTYPE_OUTDIGITS1_MB,
191   _NL_CTYPE_OUTDIGITS2_MB,
192   _NL_CTYPE_OUTDIGITS3_MB,
193   _NL_CTYPE_OUTDIGITS4_MB,
194   _NL_CTYPE_OUTDIGITS5_MB,
195   _NL_CTYPE_OUTDIGITS6_MB,
196   _NL_CTYPE_OUTDIGITS7_MB,
197   _NL_CTYPE_OUTDIGITS8_MB,
198   _NL_CTYPE_OUTDIGITS9_MB,
199   _NL_CTYPE_OUTDIGITS0_WC,
200   _NL_CTYPE_OUTDIGITS1_WC,
201   _NL_CTYPE_OUTDIGITS2_WC,
202   _NL_CTYPE_OUTDIGITS3_WC,
203   _NL_CTYPE_OUTDIGITS4_WC,
204   _NL_CTYPE_OUTDIGITS5_WC,
205   _NL_CTYPE_OUTDIGITS6_WC,
206   _NL_CTYPE_OUTDIGITS7_WC,
207   _NL_CTYPE_OUTDIGITS8_WC,
208   _NL_CTYPE_OUTDIGITS9_WC,
209
210   _NL_TIME_CODESET,
211   _NL_TIME_WMON_1,
212   _NL_TIME_WMON_2,
213   _NL_TIME_WMON_3,
214   _NL_TIME_WMON_4,
215   _NL_TIME_WMON_5,
216   _NL_TIME_WMON_6,
217   _NL_TIME_WMON_7,
218   _NL_TIME_WMON_8,
219   _NL_TIME_WMON_9,
220   _NL_TIME_WMON_10,
221   _NL_TIME_WMON_11,
222   _NL_TIME_WMON_12,
223   _NL_TIME_WMONTH_1,
224   _NL_TIME_WMONTH_2,
225   _NL_TIME_WMONTH_3,
226   _NL_TIME_WMONTH_4,
227   _NL_TIME_WMONTH_5,
228   _NL_TIME_WMONTH_6,
229   _NL_TIME_WMONTH_7,
230   _NL_TIME_WMONTH_8,
231   _NL_TIME_WMONTH_9,
232   _NL_TIME_WMONTH_10,
233   _NL_TIME_WMONTH_11,
234   _NL_TIME_WMONTH_12,
235   _NL_TIME_WWDAY_1,
236   _NL_TIME_WWDAY_2,
237   _NL_TIME_WWDAY_3,
238   _NL_TIME_WWDAY_4,
239   _NL_TIME_WWDAY_5,
240   _NL_TIME_WWDAY_6,
241   _NL_TIME_WWDAY_7,
242   _NL_TIME_WWEEKDAY_1,
243   _NL_TIME_WWEEKDAY_2,
244   _NL_TIME_WWEEKDAY_3,
245   _NL_TIME_WWEEKDAY_4,
246   _NL_TIME_WWEEKDAY_5,
247   _NL_TIME_WWEEKDAY_6,
248   _NL_TIME_WWEEKDAY_7,
249   _NL_TIME_WT_FMT,
250   _NL_TIME_WD_FMT,
251   _NL_TIME_WD_T_FMT,
252   _NL_TIME_WAM_STR,
253   _NL_TIME_WPM_STR,
254   _NL_TIME_WDATE_FMT,
255   _NL_TIME_WT_FMT_AMPM,
256   _NL_TIME_WERA,
257   _NL_TIME_WERA_D_FMT,
258   _NL_TIME_WERA_D_T_FMT,
259   _NL_TIME_WERA_T_FMT,
260   _NL_TIME_WALT_DIGITS,
261
262   _NL_NUMERIC_CODESET,
263   _NL_NUMERIC_GROUPING,
264   _NL_NUMERIC_DECIMAL_POINT_WC,
265   _NL_NUMERIC_THOUSANDS_SEP_WC,
266
267   _NL_MONETARY_INT_CURR_SYMBOL,
268   _NL_MONETARY_CURRENCY_SYMBOL,
269   _NL_MONETARY_MON_DECIMAL_POINT,
270   _NL_MONETARY_MON_THOUSANDS_SEP,
271   _NL_MONETARY_MON_GROUPING,
272   _NL_MONETARY_POSITIVE_SIGN,
273   _NL_MONETARY_NEGATIVE_SIGN,
274   _NL_MONETARY_INT_FRAC_DIGITS,
275   _NL_MONETARY_FRAC_DIGITS,
276   _NL_MONETARY_P_CS_PRECEDES,
277   _NL_MONETARY_P_SEP_BY_SPACE,
278   _NL_MONETARY_N_CS_PRECEDES,
279   _NL_MONETARY_N_SEP_BY_SPACE,
280   _NL_MONETARY_P_SIGN_POSN,
281   _NL_MONETARY_N_SIGN_POSN,
282   _NL_MONETARY_INT_P_CS_PRECEDES,
283   _NL_MONETARY_INT_P_SEP_BY_SPACE,
284   _NL_MONETARY_INT_N_CS_PRECEDES,
285   _NL_MONETARY_INT_N_SEP_BY_SPACE,
286   _NL_MONETARY_INT_P_SIGN_POSN,
287   _NL_MONETARY_INT_N_SIGN_POSN,
288   _NL_MONETARY_CODESET,
289   _NL_MONETARY_WINT_CURR_SYMBOL,
290   _NL_MONETARY_WCURRENCY_SYMBOL,
291   _NL_MONETARY_WMON_DECIMAL_POINT,
292   _NL_MONETARY_WMON_THOUSANDS_SEP,
293   _NL_MONETARY_WPOSITIVE_SIGN,
294   _NL_MONETARY_WNEGATIVE_SIGN,
295
296   _NL_MESSAGES_WYESEXPR,
297   _NL_MESSAGES_WNOEXPR,
298   _NL_MESSAGES_WYESSTR,
299   _NL_MESSAGES_WNOSTR,
300
301   _NL_COLLATE_CODESET,
302
303   /* This MUST be the last entry since it's used to check for an array
304      index in nl_langinfo(). */
305   _NL_LOCALE_EXTENDED_LAST_ENTRY
306
307 #endif /* __HAVE_LOCALE_INFO_EXTENDED__ */
308 #endif /* __HAVE_LOCALE_INFO__ */
309
310 };
311
312 __BEGIN_DECLS
313 char    *nl_langinfo(nl_item);
314 __END_DECLS
315
316 #endif /* !_LANGINFO_H_ */