1 /* 2 * Copyright 2002-2012 Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _LOCALE_H_ 6 #define _LOCALE_H_ 7 8 9 #include <null.h> 10 11 struct lconv { 12 char *decimal_point; 13 char *thousands_sep; 14 char *grouping; 15 char *int_curr_symbol; 16 char *currency_symbol; 17 char *mon_decimal_point; 18 char *mon_thousands_sep; 19 char *mon_grouping; 20 char *positive_sign; 21 char *negative_sign; 22 char int_frac_digits; 23 char frac_digits; 24 char p_cs_precedes; 25 char p_sep_by_space; 26 char n_cs_precedes; 27 char n_sep_by_space; 28 char p_sign_posn; 29 char n_sign_posn; 30 char int_p_cs_precedes; 31 char int_p_sep_by_space; 32 char int_n_cs_precedes; 33 char int_n_sep_by_space; 34 char int_p_sign_posn; 35 char int_n_sign_posn; 36 }; 37 38 #define LC_ALL 0 39 #define LC_COLLATE 1 40 #define LC_CTYPE 2 41 #define LC_MONETARY 3 42 #define LC_NUMERIC 4 43 #define LC_TIME 5 44 #define LC_MESSAGES 6 45 /* 46 * the values above must be kept in loopable order (i.e. strictly increasing 47 * with no holes) and in sync with the value below 48 */ 49 #define LC_LAST LC_MESSAGES 50 51 #ifdef __cplusplus 52 extern "C" { 53 #endif 54 55 extern struct lconv *localeconv(void); 56 extern char *setlocale(int category, const char *locale); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif /* _LOCALE_H_ */ 63