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
11struct 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
52extern "C" {
53#endif
54
55extern struct lconv *localeconv(void);
56extern char *setlocale(int category, const char *locale);
57
58#ifdef __cplusplus
59}
60#endif
61
62#endif /* _LOCALE_H_ */
63