xref: /haiku/headers/posix/locale.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
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