00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef _STLP_C_LOCALE_IMPL_H
00032 # define _STLP_C_LOCALE_IMPL_H
00033
00034 # include <stl/c_locale.h>
00035
00036 # include <stl/_cwchar.h>
00037
00038 #define _Locale_MAX_SIMPLE_NAME 256
00039
00040
00041
00042
00043
00044 #define _Locale_MAX_COMPOSITE_NAME 6*(_Locale_MAX_SIMPLE_NAME+3)
00045
00046
00047
00048
00049
00050 #ifdef __cplusplus
00051 _STLP_BEGIN_NAMESPACE
00052 extern "C" {
00053 #endif
00054
00055
00056
00057
00058
00059 #if (defined (__GNUC__) && !defined (__SYMBIAN32__)) || defined (_KCC)
00060 typedef unsigned short int _Locale_mask_t;
00061 #else
00062 typedef unsigned int _Locale_mask_t;
00063 #endif
00064
00065 void * _Locale_ctype_create(const char *);
00066 void * _Locale_numeric_create(const char *);
00067 void * _Locale_time_create(const char *);
00068 void * _Locale_collate_create(const char *);
00069 void * _Locale_monetary_create(const char *);
00070 void * _Locale_messages_create(const char *);
00071
00072
00073
00074
00075
00076
00077
00078
00079 const char * _Locale_ctype_default(char * __buf);
00080 const char * _Locale_numeric_default(char * __buf);
00081 const char * _Locale_time_default(char * __buf);
00082 const char * _Locale_collate_default(char * __buf);
00083 const char * _Locale_monetary_default(char * __buf);
00084 const char * _Locale_messages_default(char * __buf);
00085
00086
00087
00088
00089
00090
00091
00092 char * _Locale_ctype_name(const void *, char *);
00093 char * _Locale_numeric_name(const void *, char *);
00094 char * _Locale_time_name(const void *, char *);
00095 char * _Locale_collate_name(const void *, char *);
00096 char * _Locale_monetary_name(const void *, char *);
00097 char * _Locale_messages_name(const void *, char *);
00098
00099
00100
00101
00102
00103
00104
00105 void _Locale_ctype_destroy(void *);
00106 void _Locale_numeric_destroy(void *);
00107 void _Locale_time_destroy(void *);
00108 void _Locale_collate_destroy(void *);
00109 void _Locale_monetary_destroy(void *);
00110 void _Locale_messages_destroy(void *);
00111
00112 char * _Locale_extract_ctype_name(const char *cname, char *__buf);
00113 char * _Locale_extract_numeric_name(const char *cname, char *__buf);
00114 char * _Locale_extract_time_name(const char *cname, char *__buf);
00115 char * _Locale_extract_collate_name(const char *cname, char *__buf);
00116 char * _Locale_extract_monetary_name(const char *cname, char *__buf);
00117 char * _Locale_extract_messages_name(const char *cname, char *__buf);
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127 char * _Locale_compose_name(char *__buf,
00128 const char *__Ctype, const char *__Numeric,
00129 const char *__Time, const char *__Collate,
00130 const char *__Monetary, const char *__Messages);
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149 _Locale_mask_t * _Locale_ctype_table(struct _Locale_ctype *);
00150
00151
00152
00153
00154
00155
00156
00157
00158 int _Locale_toupper(struct _Locale_ctype *, int);
00159 int _Locale_tolower(struct _Locale_ctype *, int);
00160
00161
00162
00163
00164
00165 # ifndef _STLP_NO_WCHAR_T
00166
00167
00168
00169 _Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype *, wint_t);
00170 wint_t _Locale_wchar_tolower(struct _Locale_ctype *, wint_t);
00171 wint_t _Locale_wchar_toupper(struct _Locale_ctype *, wint_t);
00172 # endif
00173
00174 # if !defined ( _STLP_NO_MBSTATE_T )
00175
00176
00177
00178
00179
00180 int _Locale_mb_cur_max (struct _Locale_ctype *);
00181
00182
00183
00184
00185
00186 int _Locale_mb_cur_min (struct _Locale_ctype *);
00187
00188
00189
00190
00191
00192 int _Locale_is_stateless (struct _Locale_ctype *);
00193
00194
00195
00196
00197
00198 # ifndef _STLP_NO_WCHAR_T
00199 wint_t _Locale_btowc(struct _Locale_ctype *, int);
00200 int _Locale_wctob(struct _Locale_ctype *, wint_t);
00201
00202
00203
00204
00205
00206
00207
00208 size_t _Locale_mbtowc(struct _Locale_ctype *,
00209 wchar_t *,
00210 const char *, size_t,
00211 mbstate_t *);
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226 size_t _Locale_wctomb(struct _Locale_ctype *,
00227 char *, size_t,
00228 const wchar_t,
00229 mbstate_t *);
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240 # endif
00241
00242 size_t _Locale_unshift(struct _Locale_ctype *,
00243 mbstate_t *,
00244 char *, size_t, char **);
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255 # endif
00256
00257
00258
00259
00260
00261 int _Locale_strcmp(struct _Locale_collate *,
00262 const char *, size_t,
00263 const char *, size_t);
00264 # ifndef _STLP_NO_WCHAR_T
00265 int _Locale_strwcmp(struct _Locale_collate *,
00266 const wchar_t *, size_t,
00267 const wchar_t *, size_t);
00268 # endif
00269
00270
00271
00272
00273
00274
00275
00276
00277 size_t _Locale_strxfrm(struct _Locale_collate *,
00278 char *, size_t,
00279 const char *, size_t);
00280
00281 # ifndef _STLP_NO_WCHAR_T
00282 size_t _Locale_strwxfrm(struct _Locale_collate *,
00283 wchar_t *, size_t,
00284 const wchar_t *, size_t);
00285 # endif
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301 char _Locale_decimal_point(struct _Locale_numeric *);
00302 char _Locale_thousands_sep(struct _Locale_numeric *);
00303 const char * _Locale_grouping(struct _Locale_numeric *);
00304
00305
00306
00307
00308
00309
00310 const char * _Locale_true(struct _Locale_numeric *);
00311 const char * _Locale_false(struct _Locale_numeric *);
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322 const char * _Locale_int_curr_symbol(struct _Locale_monetary *);
00323 const char * _Locale_currency_symbol(struct _Locale_monetary *);
00324 char _Locale_mon_decimal_point(struct _Locale_monetary *);
00325 char _Locale_mon_thousands_sep(struct _Locale_monetary *);
00326 const char * _Locale_mon_grouping(struct _Locale_monetary *);
00327 const char * _Locale_positive_sign(struct _Locale_monetary *);
00328 const char * _Locale_negative_sign(struct _Locale_monetary *);
00329 char _Locale_int_frac_digits(struct _Locale_monetary *);
00330 char _Locale_frac_digits(struct _Locale_monetary *);
00331 int _Locale_p_cs_precedes(struct _Locale_monetary *);
00332 int _Locale_p_sep_by_space(struct _Locale_monetary *);
00333 int _Locale_p_sign_posn(struct _Locale_monetary *);
00334 int _Locale_n_cs_precedes(struct _Locale_monetary *);
00335 int _Locale_n_sep_by_space(struct _Locale_monetary *);
00336 int _Locale_n_sign_posn(struct _Locale_monetary *);
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346 const char ** _Locale_full_monthname(struct _Locale_time *);
00347 const char ** _Locale_abbrev_monthname(struct _Locale_time *);
00348
00349
00350
00351
00352
00353 const char ** _Locale_full_dayofweek(struct _Locale_time *);
00354 const char ** _Locale_abbrev_dayofweek(struct _Locale_time *);
00355
00356
00357
00358
00359
00360 const char * _Locale_d_t_fmt(struct _Locale_time *);
00361 const char * _Locale_d_fmt(struct _Locale_time *);
00362 const char * _Locale_t_fmt(struct _Locale_time *);
00363 const char * _Locale_long_d_t_fmt(struct _Locale_time*);
00364 const char * _Locale_long_d_fmt(struct _Locale_time*);
00365
00366 const char * _Locale_am_str(struct _Locale_time *);
00367 const char * _Locale_pm_str(struct _Locale_time *);
00368 const char * _Locale_t_fmt_ampm(struct _Locale_time *);
00369
00370
00371
00372
00373
00374
00375 int _Locale_catopen(struct _Locale_messages*, const char*);
00376
00377
00378
00379
00380
00381
00382 void _Locale_catclose(struct _Locale_messages*, int);
00383
00384
00385
00386
00387
00388
00389 const char * _Locale_catgets(struct _Locale_messages *, int,
00390 int, int,const char *);
00391
00392
00393
00394
00395
00396
00397
00398 # ifdef __cplusplus
00399 }
00400 _STLP_END_NAMESPACE
00401 # endif
00402
00403 # endif