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