1*c9945492SAndroid Build Coastguard Worker #ifndef _LOCALE_H 2*c9945492SAndroid Build Coastguard Worker #define _LOCALE_H 3*c9945492SAndroid Build Coastguard Worker 4*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 5*c9945492SAndroid Build Coastguard Worker extern "C" { 6*c9945492SAndroid Build Coastguard Worker #endif 7*c9945492SAndroid Build Coastguard Worker 8*c9945492SAndroid Build Coastguard Worker #include <features.h> 9*c9945492SAndroid Build Coastguard Worker 10*c9945492SAndroid Build Coastguard Worker #if __cplusplus >= 201103L 11*c9945492SAndroid Build Coastguard Worker #define NULL nullptr 12*c9945492SAndroid Build Coastguard Worker #elif defined(__cplusplus) 13*c9945492SAndroid Build Coastguard Worker #define NULL 0L 14*c9945492SAndroid Build Coastguard Worker #else 15*c9945492SAndroid Build Coastguard Worker #define NULL ((void*)0) 16*c9945492SAndroid Build Coastguard Worker #endif 17*c9945492SAndroid Build Coastguard Worker 18*c9945492SAndroid Build Coastguard Worker #define LC_CTYPE 0 19*c9945492SAndroid Build Coastguard Worker #define LC_NUMERIC 1 20*c9945492SAndroid Build Coastguard Worker #define LC_TIME 2 21*c9945492SAndroid Build Coastguard Worker #define LC_COLLATE 3 22*c9945492SAndroid Build Coastguard Worker #define LC_MONETARY 4 23*c9945492SAndroid Build Coastguard Worker #define LC_MESSAGES 5 24*c9945492SAndroid Build Coastguard Worker #define LC_ALL 6 25*c9945492SAndroid Build Coastguard Worker 26*c9945492SAndroid Build Coastguard Worker struct lconv { 27*c9945492SAndroid Build Coastguard Worker char *decimal_point; 28*c9945492SAndroid Build Coastguard Worker char *thousands_sep; 29*c9945492SAndroid Build Coastguard Worker char *grouping; 30*c9945492SAndroid Build Coastguard Worker 31*c9945492SAndroid Build Coastguard Worker char *int_curr_symbol; 32*c9945492SAndroid Build Coastguard Worker char *currency_symbol; 33*c9945492SAndroid Build Coastguard Worker char *mon_decimal_point; 34*c9945492SAndroid Build Coastguard Worker char *mon_thousands_sep; 35*c9945492SAndroid Build Coastguard Worker char *mon_grouping; 36*c9945492SAndroid Build Coastguard Worker char *positive_sign; 37*c9945492SAndroid Build Coastguard Worker char *negative_sign; 38*c9945492SAndroid Build Coastguard Worker char int_frac_digits; 39*c9945492SAndroid Build Coastguard Worker char frac_digits; 40*c9945492SAndroid Build Coastguard Worker char p_cs_precedes; 41*c9945492SAndroid Build Coastguard Worker char p_sep_by_space; 42*c9945492SAndroid Build Coastguard Worker char n_cs_precedes; 43*c9945492SAndroid Build Coastguard Worker char n_sep_by_space; 44*c9945492SAndroid Build Coastguard Worker char p_sign_posn; 45*c9945492SAndroid Build Coastguard Worker char n_sign_posn; 46*c9945492SAndroid Build Coastguard Worker char int_p_cs_precedes; 47*c9945492SAndroid Build Coastguard Worker char int_p_sep_by_space; 48*c9945492SAndroid Build Coastguard Worker char int_n_cs_precedes; 49*c9945492SAndroid Build Coastguard Worker char int_n_sep_by_space; 50*c9945492SAndroid Build Coastguard Worker char int_p_sign_posn; 51*c9945492SAndroid Build Coastguard Worker char int_n_sign_posn; 52*c9945492SAndroid Build Coastguard Worker }; 53*c9945492SAndroid Build Coastguard Worker 54*c9945492SAndroid Build Coastguard Worker 55*c9945492SAndroid Build Coastguard Worker char *setlocale (int, const char *); 56*c9945492SAndroid Build Coastguard Worker struct lconv *localeconv(void); 57*c9945492SAndroid Build Coastguard Worker 58*c9945492SAndroid Build Coastguard Worker 59*c9945492SAndroid Build Coastguard Worker #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ 60*c9945492SAndroid Build Coastguard Worker || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 61*c9945492SAndroid Build Coastguard Worker 62*c9945492SAndroid Build Coastguard Worker #define __NEED_locale_t 63*c9945492SAndroid Build Coastguard Worker 64*c9945492SAndroid Build Coastguard Worker #include <bits/alltypes.h> 65*c9945492SAndroid Build Coastguard Worker 66*c9945492SAndroid Build Coastguard Worker #define LC_GLOBAL_LOCALE ((locale_t)-1) 67*c9945492SAndroid Build Coastguard Worker 68*c9945492SAndroid Build Coastguard Worker #define LC_CTYPE_MASK (1<<LC_CTYPE) 69*c9945492SAndroid Build Coastguard Worker #define LC_NUMERIC_MASK (1<<LC_NUMERIC) 70*c9945492SAndroid Build Coastguard Worker #define LC_TIME_MASK (1<<LC_TIME) 71*c9945492SAndroid Build Coastguard Worker #define LC_COLLATE_MASK (1<<LC_COLLATE) 72*c9945492SAndroid Build Coastguard Worker #define LC_MONETARY_MASK (1<<LC_MONETARY) 73*c9945492SAndroid Build Coastguard Worker #define LC_MESSAGES_MASK (1<<LC_MESSAGES) 74*c9945492SAndroid Build Coastguard Worker #define LC_ALL_MASK 0x7fffffff 75*c9945492SAndroid Build Coastguard Worker 76*c9945492SAndroid Build Coastguard Worker locale_t duplocale(locale_t); 77*c9945492SAndroid Build Coastguard Worker void freelocale(locale_t); 78*c9945492SAndroid Build Coastguard Worker locale_t newlocale(int, const char *, locale_t); 79*c9945492SAndroid Build Coastguard Worker locale_t uselocale(locale_t); 80*c9945492SAndroid Build Coastguard Worker 81*c9945492SAndroid Build Coastguard Worker #endif 82*c9945492SAndroid Build Coastguard Worker 83*c9945492SAndroid Build Coastguard Worker 84*c9945492SAndroid Build Coastguard Worker #ifdef __cplusplus 85*c9945492SAndroid Build Coastguard Worker } 86*c9945492SAndroid Build Coastguard Worker #endif 87*c9945492SAndroid Build Coastguard Worker 88*c9945492SAndroid Build Coastguard Worker #endif 89