[DDK]
[reactos.git] / 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 int __cdecl _configthreadlocale(int _Flag);
72 char *__cdecl setlocale(int _Category,const char *_Locale);
73 _CRTIMP struct lconv *__cdecl localeconv(void);
74 _locale_t __cdecl _get_current_locale(void);
75 _locale_t __cdecl _create_locale(int _Category,const char *_Locale);
76 void __cdecl _free_locale(_locale_t _Locale);
77 _locale_t __cdecl __get_current_locale(void);
78 _locale_t __cdecl __create_locale(int _Category,const char *_Locale);
79 void __cdecl __free_locale(_locale_t _Locale);
80
81 #ifndef _WLOCALE_DEFINED
82 #define _WLOCALE_DEFINED
83 _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);
84 #endif
85
86 #ifdef __cplusplus
87 }
88 #endif
89
90 #pragma pack(pop)
91 #endif