add a bunch more libc routines. most dont work, but let the c++ library link
[newos.git] / include / locale.h
blob14a8d8235d9d58bd84fe33641aa186737e23d328
1 /*
2 ** Copyright 2004, Travis Geiselbrecht. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
4 */
6 #ifndef __newos__libc_locale__hh__
7 #define __newos__libc_locale__hh__
9 #include <stddef.h>
10 #include <sys/types.h>
11 #include <sys/cdefs.h>
13 #include <stdarg.h>
15 #ifdef __cplusplus
16 namespace std
17 { extern "C" {
18 #endif
20 struct lconv {
21 char *decimal_point;
22 char *thousands_sep;
23 char *grouping;
24 char *int_curr_symbol;
25 char *currency_symbol;
26 char *mon_decimal_point;
27 char *mon_thousands_sep;
28 char *mon_grouping;
29 char *positive_sign;
30 char *negative_sign;
31 char int_frac_digits;
32 char frac_digits;
33 char p_cs_precedes;
34 char p_sep_by_space;
35 char n_cs_precedes;
36 char n_sep_by_space;
37 char p_sign_posn;
38 char n_sign_posn;
41 #define LC_ALL 0
42 #define LC_COLLATE 1
43 #define LC_CTYPE 2
44 #define LC_MONETARY 3
45 #define LC_NUMERIC 4
46 #define LC_TIME 5
47 #define LC_MESSAGES 6
48 #define _LC_LAST 7
50 struct lconv *localeconv(void);
51 char *setlocale(int category, const char *locale);
53 #ifdef __cplusplus
55 #endif
57 #endif
59 #if defined(__cplusplus) && !defined(_NEWOS_NO_LIBC_COMPAT)
60 using ::std::localeconv;
61 using ::std::setlocale;
62 using ::std::lconv;
63 #endif