1 // -*- C++ -*-
2 //===----------------- support/win32/locale_mgmt_win32.h ------------------===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10 
11 #ifndef _LIBCPP_SUPPORT_WIN32_LOCALE_MGMT_WIN32_H
12 #define _LIBCPP_SUPPORT_WIN32_LOCALE_MGMT_WIN32_H
13 
14 #include <xlocinfo.h> // _locale_t
15 #define locale_t _locale_t
16 #define LC_COLLATE_MASK _M_COLLATE
17 #define LC_CTYPE_MASK _M_CTYPE
18 #define LC_MONETARY_MASK _M_MONETARY
19 #define LC_NUMERIC_MASK _M_NUMERIC
20 #define LC_TIME_MASK _M_TIME
21 #define LC_MESSAGES_MASK _M_MESSAGES
22 #define LC_ALL_MASK (  LC_COLLATE_MASK \
23                      | LC_CTYPE_MASK \
24                      | LC_MESSAGES_MASK \
25                      | LC_MONETARY_MASK \
26                      | LC_NUMERIC_MASK \
27                      | LC_TIME_MASK )
28 #define freelocale _free_locale
29 // FIXME: base currently unused. Needs manual work to construct the new locale
30 locale_t newlocale( int mask, const char * locale, locale_t base );
31 locale_t uselocale( locale_t newloc );
32 
33 #endif // _LIBCPP_SUPPORT_WIN32_LOCALE_MGMT_WIN32_H
34