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