3 * Silicon Graphics Computer Systems, Inc.
8 * This material is provided "as is", with absolutely no warranty expressed
9 * or implied. Any use is at your own risk.
11 * Permission to use or copy this software for any purpose is hereby granted
12 * without fee, provided the above notices are retained on all copies.
13 * Permission to modify the code and to distribute modified code is granted,
14 * provided the above notices are retained, and a notice that the code was
15 * modified is included with the above copyright notice.
19 /* This is a "stub" implementation of the "c_locale.h" interface,
20 intended for operating systems where we have not yet written
21 a real implementation. A C++ library using this stub implementation
22 is still standard-conforming, since the C++ standard does not require
23 that any locales other than "C" be supported.
26 /* Framework functions */
34 void *_Locale_ctype_create(const char * __DUMMY_PAR, struct _Locale_name_hint* hint)
37 void *_Locale_numeric_create(const char * __DUMMY_PAR, struct _Locale_name_hint* hint)
40 void *_Locale_time_create(const char * __DUMMY_PAR, struct _Locale_name_hint* hint)
43 void *_Locale_collate_create(const char *__DUMMY_PAR, struct _Locale_name_hint* hint)
46 void *_Locale_monetary_create(const char * __DUMMY_PAR, struct _Locale_name_hint* hint)
49 void *_Locale_messages_create(const char *__DUMMY_PAR, struct _Locale_name_hint* hint)
52 const char *_Locale_ctype_default(char* __DUMMY_PAR) { return 0; }
53 const char *_Locale_numeric_default(char * __DUMMY_PAR) { return 0; }
54 const char *_Locale_time_default(char* __DUMMY_PAR) { return 0; }
55 const char *_Locale_collate_default(char* __DUMMY_PAR) { return 0; }
56 const char *_Locale_monetary_default(char* __DUMMY_PAR) { return 0; }
57 const char *_Locale_messages_default(char* __DUMMY_PAR) { return 0; }
59 char const* _Locale_ctype_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
62 char const* _Locale_numeric_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
65 char const* _Locale_time_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
68 char const* _Locale_collate_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
71 char const* _Locale_monetary_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
74 char const* _Locale_messages_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
77 void _Locale_ctype_destroy(void* __DUMMY_PAR) {}
78 void _Locale_numeric_destroy(void* __DUMMY_PAR) {}
79 void _Locale_time_destroy(void* __DUMMY_PAR) {}
80 void _Locale_collate_destroy(void* __DUMMY_PAR) {}
81 void _Locale_monetary_destroy(void* __DUMMY_PAR) {}
82 void _Locale_messages_destroy(void* __DUMMY_PAR) {}
85 char const* _Locale_extract_ctype_name(const char* __DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
88 char const* _Locale_extract_numeric_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
91 char const* _Locale_extract_time_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
94 char const* _Locale_extract_collate_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
97 char const* _Locale_extract_monetary_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
100 char const* _Locale_extract_messages_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR, struct _Locale_name_hint* hint)
103 char const* _Locale_compose_name(char*__DUMMY_PAR1, const char*__DUMMY_PAR2, const char*__DUMMY_PAR3,
104 const char*__DUMMY_PAR4,
105 const char*__DUMMY_PAR5, const char*__DUMMY_PAR6, const char*__DUMMY_PAR7, const char*__DUMMY_PAR8)
109 struct _Locale_name_hint* _Locale_get_ctype_hint(struct _Locale_ctype* ctype)
111 struct _Locale_name_hint* _Locale_get_numeric_hint(struct _Locale_numeric* numeric)
113 struct _Locale_name_hint* _Locale_get_time_hint(struct _Locale_time* time)
115 struct _Locale_name_hint* _Locale_get_collate_hint(struct _Locale_collate* collate)
117 struct _Locale_name_hint* _Locale_get_monetary_hint(struct _Locale_monetary* monetary)
119 struct _Locale_name_hint* _Locale_get_messages_hint(struct _Locale_messages* messages)
124 const _Locale_mask_t* _Locale_ctype_table(struct _Locale_ctype* __DUMMY_PAR)
127 int _Locale_toupper(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
129 int _Locale_tolower(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
131 # ifndef _STLP_NO_WCHAR_T
132 _Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR2, _Locale_mask_t __DUMMY_PAR3)
135 wint_t _Locale_wchar_tolower(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR)
138 wint_t _Locale_wchar_toupper(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR)
142 # ifndef _STLP_NO_MBSTATE_T
144 int _Locale_mb_cur_max (struct _Locale_ctype * __DUMMY_PAR) { return 0; }
145 int _Locale_mb_cur_min (struct _Locale_ctype * __DUMMY_PAR) { return 0; }
146 int _Locale_is_stateless (struct _Locale_ctype * __DUMMY_PAR) { return 1; }
147 #ifndef _STLP_NO_WCHAR_T
148 wint_t _Locale_btowc(struct _Locale_ctype * __DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
150 int _Locale_wctob(struct _Locale_ctype * __DUMMY_PAR2, wint_t __DUMMY_PAR) { return 0; }
152 size_t _Locale_mbtowc(struct _Locale_ctype *__DUMMY_PAR1,
153 wchar_t *__DUMMY_PAR2,
154 const char *__DUMMY_PAR3, size_t __DUMMY_PAR4,
155 mbstate_t *__DUMMY_PAR5)
156 { return (size_t) -1; }
158 size_t _Locale_wctomb(struct _Locale_ctype *__DUMMY_PAR1,
159 char *__DUMMY_PAR2, size_t __DUMMY_PAR3,
160 const wchar_t __DUMMY_PAR4,
161 mbstate_t *__DUMMY_PAR5)
162 { return (size_t) -1; }
165 size_t _Locale_unshift(struct _Locale_ctype *__DUMMY_PAR1,
166 mbstate_t *__DUMMY_PAR2,
167 char *__DUMMY_PAR3, size_t __DUMMY_PAR4, char ** __DUMMY_PAR5)
168 { return (size_t) -1; }
170 # endif /* _STLP_NO_MBSTATE_T */
174 int _Locale_strcmp(struct _Locale_collate* __DUMMY_PAR1,
175 const char* __DUMMY_PAR2, size_t __DUMMY_PAR3, const char* __DUMMY_PAR4,
179 # ifndef _STLP_NO_WCHAR_T
181 int _Locale_strwcmp(struct _Locale_collate* __DUMMY_PAR1,
182 const wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3,
183 const wchar_t* __DUMMY_PAR4, size_t __DUMMY_PAR5)
188 size_t _Locale_strxfrm(struct _Locale_collate* __DUMMY_PAR1,
189 char* __DUMMY_PAR2, size_t __DUMMY_PAR3,
190 const char* __DUMMY_PAR4, size_t __DUMMY_PAR5)
193 # ifndef _STLP_NO_WCHAR_T
195 size_t _Locale_strwxfrm(struct _Locale_collate* __DUMMY_PAR1,
196 wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3,
197 const wchar_t* __DUMMY_PAR4, size_t __DUMMY_PAR5)
204 char _Locale_decimal_point(struct _Locale_numeric* __DUMMY_PAR) { return '.'; }
205 char _Locale_thousands_sep(struct _Locale_numeric* __DUMMY_PAR) { return ','; }
206 const char* _Locale_grouping(struct _Locale_numeric * __DUMMY_PAR)
209 const char * _Locale_true(struct _Locale_numeric * __DUMMY_PAR) { return 0; }
210 const char * _Locale_false(struct _Locale_numeric * __DUMMY_PAR) { return 0; }
215 const char* _Locale_int_curr_symbol(struct _Locale_monetary * __DUMMY_PAR)
217 const char* _Locale_currency_symbol(struct _Locale_monetary * __DUMMY_PAR)
219 char _Locale_mon_decimal_point(struct _Locale_monetary * __DUMMY_PAR)
221 char _Locale_mon_thousands_sep(struct _Locale_monetary * __DUMMY_PAR)
223 const char* _Locale_mon_grouping(struct _Locale_monetary * __DUMMY_PAR)
225 const char* _Locale_positive_sign(struct _Locale_monetary * __DUMMY_PAR)
227 const char* _Locale_negative_sign(struct _Locale_monetary * __DUMMY_PAR)
229 char _Locale_int_frac_digits(struct _Locale_monetary * __DUMMY_PAR)
231 char _Locale_frac_digits(struct _Locale_monetary * __DUMMY_PAR)
233 int _Locale_p_cs_precedes(struct _Locale_monetary * __DUMMY_PAR)
235 int _Locale_p_sep_by_space(struct _Locale_monetary * __DUMMY_PAR)
237 int _Locale_p_sign_posn(struct _Locale_monetary * __DUMMY_PAR)
239 int _Locale_n_cs_precedes(struct _Locale_monetary * __DUMMY_PAR)
241 int _Locale_n_sep_by_space(struct _Locale_monetary * __DUMMY_PAR)
243 int _Locale_n_sign_posn(struct _Locale_monetary * __DUMMY_PAR)
248 const char * _Locale_full_monthname(struct _Locale_time * __DUMMY_PAR1, int __DUMMY_PAR2)
250 const char * _Locale_abbrev_monthname(struct _Locale_time * __DUMMY_PAR1, int __DUMMY_PAR2)
252 const char * _Locale_full_dayofweek(struct _Locale_time * __DUMMY_PAR1, int __DUMMY_PAR2)
254 const char * _Locale_abbrev_dayofweek(struct _Locale_time * __DUMMY_PAR1, int __DUMMY_PAR2)
257 const char* _Locale_d_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; }
258 const char* _Locale_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; }
259 const char* _Locale_t_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; }
260 const char* _Locale_long_d_t_fmt(struct _Locale_time* __DUMMY_PAR){ return 0; }
261 const char* _Locale_long_d_fmt(struct _Locale_time* __DUMMY_PAR) { return 0; }
262 const char* _Locale_am_str(struct _Locale_time* __DUMMY_PAR) { return 0; }
263 const char* _Locale_pm_str(struct _Locale_time* __DUMMY_PAR) { return 0; }
264 const char* _Locale_t_fmt_ampm(struct _Locale_time* __DUMMY_PAR) { return 0; }
268 nl_catd_type _Locale_catopen(struct _Locale_messages* __DUMMY_PAR1, const char* __DUMMY_PAR)
270 void _Locale_catclose(struct _Locale_messages* __DUMMY_PAR1, nl_catd_type __DUMMY_PAR) {}
271 const char* _Locale_catgets(struct _Locale_messages* __DUMMY_PAR1, nl_catd_type __DUMMY_PAR2,
272 int __DUMMY_PAR3, int __DUMMY_PAR4,