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