[RXCE]
[reactos.git] / reactos / sdk / include / crt / locale.h
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _INC_LOCALE
7 #define _INC_LOCALE
8
9 #include <crtdefs.h>
10
11 #pragma pack(push,_CRT_PACKING)
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #ifndef NULL
18 #ifdef __cplusplus
19 #define NULL 0
20 #else
21 #define NULL ((void *)0)
22 #endif
23 #endif
24
25 #define LC_ALL 0
26 #define LC_COLLATE 1
27 #define LC_CTYPE 2
28 #define LC_MONETARY 3
29 #define LC_NUMERIC 4
30 #define LC_TIME 5
31
32 #define LC_MIN LC_ALL
33 #define LC_MAX LC_TIME
34
35 #ifndef _LCONV_DEFINED
36 #define _LCONV_DEFINED
37 struct lconv {
38 char *decimal_point;
39 char *thousands_sep;
40 char *grouping;
41 char *int_curr_symbol;
42 char *currency_symbol;
43 char *mon_decimal_point;
44 char *mon_thousands_sep;
45 char *mon_grouping;
46 char *positive_sign;
47 char *negative_sign;
48 char int_frac_digits;
49 char frac_digits;
50 char p_cs_precedes;
51 char p_sep_by_space;
52 char n_cs_precedes;
53 char n_sep_by_space;
54 char p_sign_posn;
55 char n_sign_posn;
56 };
57 #endif
58
59 #ifndef _CONFIG_LOCALE_SWT
60 #define _CONFIG_LOCALE_SWT
61
62 #define _ENABLE_PER_THREAD_LOCALE 0x1
63 #define _DISABLE_PER_THREAD_LOCALE 0x2
64 #define _ENABLE_PER_THREAD_LOCALE_GLOBAL 0x10
65 #define _DISABLE_PER_THREAD_LOCALE_GLOBAL 0x20
66 #define _ENABLE_PER_THREAD_LOCALE_NEW 0x100
67 #define _DISABLE_PER_THREAD_LOCALE_NEW 0x200
68
69 #endif
70
71 _Check_return_opt_
72 int
73 __cdecl
74 _configthreadlocale(
75 _In_ int _Flag);
76
77 _Check_return_opt_
78 char*
79 __cdecl
80 setlocale(
81 _In_ int _Category,
82 _In_opt_z_ const char *_Locale);
83
84 _Check_return_opt_
85 _CRTIMP
86 struct lconv*
87 __cdecl
88 localeconv(void);
89
90 _Check_return_opt_
91 _locale_t
92 __cdecl
93 _get_current_locale(void);
94
95 _Check_return_opt_
96 _locale_t
97 __cdecl
98 _create_locale(
99 _In_ int _Category,
100 _In_z_ const char *_Locale);
101
102 void
103 __cdecl
104 _free_locale(
105 _In_opt_ _locale_t _Locale);
106
107 _Check_return_
108 _locale_t
109 __cdecl
110 __get_current_locale(void);
111
112 _Check_return_
113 _locale_t
114 __cdecl
115 __create_locale(
116 _In_ int _Category,
117 _In_z_ const char *_Locale);
118
119 void
120 __cdecl
121 __free_locale(
122 _In_opt_ _locale_t _Locale);
123
124 #ifndef _WLOCALE_DEFINED
125 #define _WLOCALE_DEFINED
126 _Check_return_opt_
127 _CRTIMP
128 wchar_t*
129 __cdecl
130 _wsetlocale(
131 _In_ int _Category,
132 _In_opt_z_ const wchar_t *_Locale);
133 #endif
134
135 #ifdef __cplusplus
136 }
137 #endif
138
139 #pragma pack(pop)
140 #endif