1 /* 2 locale.h 3 Values appropriate for the formatting of monetary and other 4 numberic quantities. 5 */ 6 7 #ifndef _LOCALE_H_ 8 #define _LOCALE_H_ 9 10 #include "_ansi.h" 11 #include <sys/cdefs.h> 12 13 #define __need_NULL 14 #include <stddef.h> 15 16 #define LC_ALL 0 17 #define LC_COLLATE 1 18 #define LC_CTYPE 2 19 #define LC_MONETARY 3 20 #define LC_NUMERIC 4 21 #define LC_TIME 5 22 #define LC_MESSAGES 6 23 24 #if __POSIX_VISIBLE >= 200809 || defined (_COMPILING_NEWLIB) 25 26 #include <sys/_locale.h> 27 28 #define LC_ALL_MASK (1 << LC_ALL) 29 #define LC_COLLATE_MASK (1 << LC_COLLATE) 30 #define LC_CTYPE_MASK (1 << LC_CTYPE) 31 #define LC_MONETARY_MASK (1 << LC_MONETARY) 32 #define LC_NUMERIC_MASK (1 << LC_NUMERIC) 33 #define LC_TIME_MASK (1 << LC_TIME) 34 #define LC_MESSAGES_MASK (1 << LC_MESSAGES) 35 36 #define LC_GLOBAL_LOCALE ((struct __locale_t *) -1) 37 38 #endif /* __POSIX_VISIBLE >= 200809 */ 39 40 _BEGIN_STD_C 41 42 struct lconv 43 { 44 char *decimal_point; 45 char *thousands_sep; 46 char *grouping; 47 char *int_curr_symbol; 48 char *currency_symbol; 49 char *mon_decimal_point; 50 char *mon_thousands_sep; 51 char *mon_grouping; 52 char *positive_sign; 53 char *negative_sign; 54 char int_frac_digits; 55 char frac_digits; 56 char p_cs_precedes; 57 char p_sep_by_space; 58 char n_cs_precedes; 59 char n_sep_by_space; 60 char p_sign_posn; 61 char n_sign_posn; 62 char int_n_cs_precedes; 63 char int_n_sep_by_space; 64 char int_n_sign_posn; 65 char int_p_cs_precedes; 66 char int_p_sep_by_space; 67 char int_p_sign_posn; 68 }; 69 70 #ifndef _REENT_ONLY 71 72 char *setlocale (int, const char *); 73 struct lconv *localeconv (void); 74 75 #if __POSIX_VISIBLE >= 200809 76 locale_t newlocale (int, const char *, locale_t); 77 void freelocale (locale_t); 78 locale_t duplocale (locale_t); 79 locale_t uselocale (locale_t); 80 #endif /* __POSIX_VISIBLE >= 200809 */ 81 82 #endif /* _REENT_ONLY */ 83 84 _END_STD_C 85 86 #endif /* _LOCALE_H_ */ 87