blob: b3316d62596f4ec28ef7eb9245ea8ad3224348f5 [file] [log] [blame]
Ben Craig21874252016-03-09 15:49:59 +00001// -*- 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
30locale_t newlocale( int mask, const char * locale, locale_t base );
31locale_t uselocale( locale_t newloc );
32
33#endif // _LIBCPP_SUPPORT_WIN32_LOCALE_MGMT_WIN32_H