xref: /reactos/sdk/include/crt/locale.h (revision 40462c92)
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
141