| #ifndef SYSROOT_LOCALE_H_ |
| #define SYSROOT_LOCALE_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <features.h> |
| |
| #include <bits/null.h> |
| |
| #define LC_CTYPE 0 |
| #define LC_NUMERIC 1 |
| #define LC_TIME 2 |
| #define LC_COLLATE 3 |
| #define LC_MONETARY 4 |
| #define LC_MESSAGES 5 |
| #define LC_ALL 6 |
| |
| struct lconv { |
| char* decimal_point; |
| char* thousands_sep; |
| char* grouping; |
| |
| char* int_curr_symbol; |
| char* currency_symbol; |
| char* mon_decimal_point; |
| char* mon_thousands_sep; |
| char* mon_grouping; |
| char* positive_sign; |
| char* negative_sign; |
| char int_frac_digits; |
| char frac_digits; |
| char p_cs_precedes; |
| char p_sep_by_space; |
| char n_cs_precedes; |
| char n_sep_by_space; |
| char p_sign_posn; |
| char n_sign_posn; |
| char int_p_cs_precedes; |
| char int_p_sep_by_space; |
| char int_n_cs_precedes; |
| char int_n_sep_by_space; |
| char int_p_sign_posn; |
| char int_n_sign_posn; |
| }; |
| |
| char* setlocale(int, const char*); |
| struct lconv* localeconv(void); |
| |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ |
| defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| |
| #define __NEED_locale_t |
| |
| #include <bits/alltypes.h> |
| |
| #define LC_GLOBAL_LOCALE ((locale_t)-1) |
| |
| #define LC_CTYPE_MASK (1 << LC_CTYPE) |
| #define LC_NUMERIC_MASK (1 << LC_NUMERIC) |
| #define LC_TIME_MASK (1 << LC_TIME) |
| #define LC_COLLATE_MASK (1 << LC_COLLATE) |
| #define LC_MONETARY_MASK (1 << LC_MONETARY) |
| #define LC_MESSAGES_MASK (1 << LC_MESSAGES) |
| #define LC_ALL_MASK 0x7fffffff |
| |
| locale_t duplocale(locale_t); |
| void freelocale(locale_t); |
| locale_t newlocale(int, const char*, locale_t); |
| locale_t uselocale(locale_t); |
| |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // SYSROOT_LOCALE_H_ |