3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright (C) the Wine project
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef __WINE_WINNLS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define __WINE_WINNLS_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef NONLS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncextern "C" {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef _NORMALIZE_
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define WINNORMALIZEAPI DECLSPEC_IMPORT
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define WINNORMALIZEAPI
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Country codes */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_DEFAULT (0)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ALBANIA (355)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ALGERIA (213)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ARGENTINA (54)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ARMENIA (374)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_AUSTRALIA (61)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_AUSTRIA (43)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_AZERBAIJAN (994)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BAHRAIN (973)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BELARUS (375)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BELGIUM (32)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BELIZE (501)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BOLIVIA (591)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BRAZIL (55)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BRUNEI_DARUSSALAM (673)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_BULGARIA (359)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_CANADA (2)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_CARIBBEAN (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_CHILE (56)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_COLOMBIA (57)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_COSTA_RICA (506)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_CROATIA (385)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_CZECH (420)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_DENMARK (45)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_DOMINICAN_REPUBLIC (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ECUADOR (593)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_EGYPT (20)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_EL_SALVADOR (503)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ESTONIA (372)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_FAEROE_ISLANDS (298)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_FINLAND (358)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_FRANCE (33)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_GEORGIA (995)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_GERMANY (49)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_GREECE (30)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_GUATEMALA (502)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_HONDURAS (504)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_HONG_KONG (852)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_HUNGARY (36)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ICELAND (354)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_INDIA (91)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_INDONESIA (62)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_IRAN (981)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_IRAQ (964)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_IRELAND (353)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ISRAEL (972)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ITALY (39)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_JAMAICA (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_JAPAN (81)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_JORDAN (962)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_KAZAKSTAN (7)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_KENYA (254)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_KUWAIT (965)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_KYRGYZSTAN (996)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LATVIA (371)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LEBANON (961)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LIBYA (218)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LIECHTENSTEIN (41)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LITHUANIA (370)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_LUXEMBOURG (352)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MACAU (853)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MACEDONIA (389)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MALAYSIA (60)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MALDIVES (960)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MEXICO (52)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MONACO (33)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MONGOLIA (976)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_MOROCCO (212)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_NETHERLANDS (31)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_NEW_ZEALAND (64)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_NICARAGUA (505)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_NORWAY (47)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_OMAN (968)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PAKISTAN (92)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PANAMA (507)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PARAGUAY (595)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PERU (51)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PHILIPPINES (63)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_POLAND (48)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PORTUGAL (351)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PRCHINA (86)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_PUERTO_RICO (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_QATAR (974)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ROMANIA (40)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_RUSSIA (7)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SAUDI_ARABIA (966)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SERBIA (381)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SINGAPORE (65)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SLOVAK (421)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SLOVENIA (386)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SOUTH_AFRICA (27)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SOUTH_KOREA (82)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SPAIN (34)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SWEDEN (46)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SWITZERLAND (41)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_SYRIA (963)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_TAIWAN (886)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_TATARSTAN (7)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_THAILAND (66)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_TRINIDAD_Y_TOBAGO (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_TUNISIA (216)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_TURKEY (90)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_UAE (971)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_UKRAINE (380)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_UNITED_KINGDOM (44)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_UNITED_STATES (1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_URUGUAY (598)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_UZBEKISTAN (7)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_VENEZUELA (58)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_VIET_NAM (84)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_YEMEN (967)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CTRY_ZIMBABWE (263)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MB_PRECOMPOSED 0x01
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MB_COMPOSITE 0x02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MB_USEGLYPHCHARS 0x04
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MB_ERR_INVALID_CHARS 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_INSTALLED 0x1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_SUPPORTED 0x2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCID_INSTALLED 0x1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCID_SUPPORTED 0x2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCID_ALTERNATE_SORTS 0x4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ALL 0x00
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_WINDOWS 0x01
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SUPPLEMENTAL 0x02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ALTERNATE_SORTS 0x04
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_REPLACEMENT 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_NEUTRALDATA 0x10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPECIFICDATA 0x20
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Locale flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_NOUSEROVERRIDE 0x80000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_USE_CP_ACP 0x40000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_RETURN_NUMBER 0x20000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_RETURN_GENITIVE_NAMES 0x10000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Locale information types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ILANGUAGE 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLANGUAGE 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGLANGUAGE 0x1001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGLISHLANGUAGENAME 0x1001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVLANGNAME 0x0003
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVELANGNAME 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVELANGUAGENAME 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ICOUNTRY 0x0005
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SCOUNTRY 0x0006
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x0006
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGCOUNTRY 0x1002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGLISHCOUNTRYNAME 0x1002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVCTRYNAME 0x0007
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVECTRYNAME 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVECOUNTRYNAME 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTLANGUAGE 0x0009
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTCOUNTRY 0x000A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTCODEPAGE 0x000B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTMACCODEPAGE 0x1011
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLIST 0x000C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IMEASURE 0x000D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDECIMAL 0x000E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_STHOUSAND 0x000F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SGROUPING 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDIGITS 0x0011
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ILZERO 0x0012
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGNUMBER 0x1010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVEDIGITS 0x0013
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SCURRENCY 0x0014
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SINTLSYMBOL 0x0015
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONDECIMALSEP 0x0016
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHOUSANDSEP 0x0017
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONGROUPING 0x0018
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ICURRDIGITS 0x0019
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IINTLCURRDIGITS 0x001A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ICURRENCY 0x001B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGCURR 0x001C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDATE 0x001D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_STIME 0x001E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTDATE 0x001F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLONGDATE 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_STIMEFORMAT 0x1003
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDATE 0x0021
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ILDATE 0x0022
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ITIME 0x0023
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ITIMEMARKPOSN 0x1005
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ICENTURY 0x0024
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ITLZERO 0x0025
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDAYLZERO 0x0026
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IMONLZERO 0x0027
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_S1159 0x0028
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_S2359 0x0029
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_ICALENDARTYPE 0x1009
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IOPTIONALCALENDAR 0x100B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IFIRSTDAYOFWEEK 0x100C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME1 0x002A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME2 0x002B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME3 0x002C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME4 0x002D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME5 0x002E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME6 0x002F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDAYNAME7 0x0030
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME1 0x0031
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME2 0x0032
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME3 0x0033
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME4 0x0034
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME5 0x0035
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME6 0x0036
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVDAYNAME7 0x0037
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME1 0x0038
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME2 0x0039
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME3 0x003A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME4 0x003B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME5 0x003C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME6 0x003D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME7 0x003E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME8 0x003F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME9 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME10 0x0041
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME11 0x0042
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME12 0x0043
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHNAME13 0x100E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME1 0x0044
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME2 0x0045
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME3 0x0046
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME4 0x0047
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME5 0x0048
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME6 0x0049
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME7 0x004A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME8 0x004B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME9 0x004C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME10 0x004D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME11 0x004E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME12 0x004F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SABBREVMONTHNAME13 0x100F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPOSITIVESIGN 0x0050
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNEGATIVESIGN 0x0051
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IPOSSIGNPOSN 0x0052
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGSIGNPOSN 0x0053
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IPOSSYMPRECEDES 0x0054
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IPOSSEPBYSPACE 0x0055
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGSYMPRECEDES 0x0056
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGSEPBYSPACE 0x0057
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_FONTSIGNATURE 0x0058
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SISO639LANGNAME 0x0059
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SISO3166CTRYNAME 0x005A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IGEOID 0x005B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNAME 0x005C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SDURATION 0x005D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SKEYBOARDSTOINSTALL 0x005E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME1 0x0060
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME2 0x0061
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME3 0x0062
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME4 0x0063
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME5 0x0064
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME6 0x0065
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTESTDAYNAME7 0x0066
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SISO639LANGNAME2 0x0067
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SISO3166CTRYNAME2 0x0068
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNAN 0x0069
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPOSINFINITY 0x006A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNEGINFINITY 0x006B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSCRIPTS 0x006C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPARENT 0x006D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SCONSOLEFALLBACKNAME 0x006E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLANGDISPLAYNAME 0x006F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SLOCALIZEDLANGUAGENAME 0x006F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IREADINGLAYOUT 0x0070
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEUTRAL 0x0071
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGLISHDISPLAYNAME 0x0072
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVEDISPLAYNAME 0x0073
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_INEGATIVEPERCENT 0x0074
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IPOSITIVEPERCENT 0x0075
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPERCENT 0x0076
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SPERMILLE 0x0077
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SMONTHDAY 0x0078
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSHORTTIME 0x0079
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SOPENTYPELANGUAGETAG 0X007A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSORTLOCALE 0x007B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IPAPERSIZE 0x100A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SENGCURRNAME 0x1007
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SNATIVECURRNAME 0x1008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SYEARMONTH 0x1006
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_SSORTNAME 0x1013
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDIGITSUBSTITUTION 0x1014
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Locale name special values */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LOCALE_NAME_INVARIANT (const WCHAR []){ 0 }
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LOCALE_NAME_INVARIANT L""
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR LOCALE_NAME_INVARIANT[] = { 0 };
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(__GNUC__)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LOCALE_NAME_SYSTEM_DEFAULT (const WCHAR []){'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#elif defined(_MSC_VER)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync# define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncstatic const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_NAME_USER_DEFAULT NULL
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_IGNORECASE 0x00000001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_IGNORENONSPACE 0x00000002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_IGNORESYMBOLS 0x00000004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SORT_DIGITSASNUMBERS 0x00000008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LINGUISTIC_IGNORECASE 0x00000010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LINGUISTIC_IGNOREDIACRITIC 0x00000020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SORT_STRINGSORT 0x00001000 /* Take punctuation into account */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_IGNOREKANATYPE 0x00010000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_IGNOREWIDTH 0x00020000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define NORM_LINGUISTIC_CASING 0x08000000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_ACP 0
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_OEMCP 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_MACCP 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_THREAD_ACP 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_SYMBOL 42
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_UTF7 65000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_UTF8 65001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_UNIXCP 65010 /* Wine extension */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_INSTALLED 0x1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CP_SUPPORTED 0x2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HIGH_SURROGATE_START 0xd800
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define HIGH_SURROGATE_END 0xdbff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOW_SURROGATE_START 0xdc00
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LOW_SURROGATE_END 0xdfff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IS_HIGH_SURROGATE(ch) ((ch) >= HIGH_SURROGATE_START && (ch) <= HIGH_SURROGATE_END)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IS_LOW_SURROGATE(ch) ((ch) >= LOW_SURROGATE_START && (ch) <= LOW_SURROGATE_END)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IS_SURROGATE_PAIR(high,low) (IS_HIGH_SURROGATE(high) && IS_LOW_SURROGATE(low))
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_DISCARDNS 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_SEPCHARS 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_DEFAULTCHAR 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_ERR_INVALID_CHARS 0x0080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_COMPOSITECHECK 0x0200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WC_NO_BEST_FIT_CHARS 0x0400
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAP_FOLDCZONE 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAP_PRECOMPOSED 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAP_COMPOSITE 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAP_FOLDDIGITS 0x0080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAP_EXPAND_LIGATURES 0x2000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* String mapping flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_LOWERCASE 0x00000100 /* Make lower-case */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_UPPERCASE 0x00000200 /* Make upper-case */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_SORTKEY 0x00000400 /* Create a sort key */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_BYTEREV 0x00000800 /* Reverse the result */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_HIRAGANA 0x00100000 /* Transform Japanese katakana into hiragana */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_KATAKANA 0x00200000 /* Transform Japanese hiragana into katakana */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_HALFWIDTH 0x00400000 /* Use single byte chars in output */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_FULLWIDTH 0x00800000 /* Use double byte chars in output */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_LINGUISTIC_CASING 0x01000000 /* Change case by using language context */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_SIMPLIFIED_CHINESE 0x02000000 /* Transform Chinese traditional into simplified */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMAP_TRADITIONAL_CHINESE 0x04000000 /* Transform Chinese simplified into traditional */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Date and time formatting flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_SHORTDATE 0x01 /* Short date format */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_LONGDATE 0x02 /* Long date format */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_USE_ALT_CALENDAR 0x04 /* Use an Alternate calendar */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_YEARMONTH 0x08 /* Year/month format */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_LTRREADING 0x10 /* Add LTR reading marks */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define DATE_RTLREADING 0x20 /* Add RTL reading marks */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TIME_FORCE24HOURFORMAT 0x08 /* Always use 24 hour clock */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TIME_NOTIMEMARKER 0x04 /* show no AM/PM */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TIME_NOSECONDS 0x02 /* show no seconds */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define TIME_NOMINUTESORSECONDS 0x01 /* show no minutes either */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Unicode char type flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CT_CTYPE1 0x0001 /* usual ctype */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CT_CTYPE2 0x0002 /* bidirectional layout info */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CT_CTYPE3 0x0004 /* textprocessing info */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Type 1 flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_UPPER 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_LOWER 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_DIGIT 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_SPACE 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_PUNCT 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_CNTRL 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_BLANK 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_XDIGIT 0x0080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_ALPHA 0x0100
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C1_DEFINED 0x0200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Type 2 flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_LEFTTORIGHT 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_RIGHTTOLEFT 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_EUROPENUMBER 0x0003
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_EUROPESEPARATOR 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_EUROPETERMINATOR 0x0005
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_ARABICNUMBER 0x0006
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_COMMONSEPARATOR 0x0007
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_BLOCKSEPARATOR 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_SEGMENTSEPARATOR 0x0009
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_WHITESPACE 0x000A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_OTHERNEUTRAL 0x000B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C2_NOTAPPLICABLE 0x0000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Type 3 flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_NONSPACING 0x0001
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_DIACRITIC 0x0002
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_VOWELMARK 0x0004
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_SYMBOL 0x0008
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_KATAKANA 0x0010
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_HIRAGANA 0x0020
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_HALFWIDTH 0x0040
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_FULLWIDTH 0x0080
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_IDEOGRAPH 0x0100
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_KASHIDA 0x0200
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_LEXICAL 0x0400
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_ALPHA 0x8000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define C3_NOTAPPLICABLE 0x0000
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Code page information.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAX_LEADBYTES 12
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define MAX_DEFAULTCHAR 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Defines for calendar handling */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_ICALINTVALUE 0x01
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SCALNAME 0x02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_IYEAROFFSETRANGE 0x03
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SERASTRING 0x04
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SSHORTDATE 0x05
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SLONGDATE 0x06
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME1 0x07
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME2 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME3 0x09
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME4 0x0a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME5 0x0b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME6 0x0c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SDAYNAME7 0x0d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME1 0x0e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME2 0x0f
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME3 0x10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME4 0x11
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME5 0x12
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME6 0x13
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVDAYNAME7 0x14
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME1 0x15
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME2 0x16
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME3 0x17
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME4 0x18
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME5 0x19
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME6 0x1a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME7 0x1b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME8 0x1c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME9 0x1d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME10 0x1e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME11 0x1f
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME12 0x20
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SMONTHNAME13 0x21
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME1 0x22
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME2 0x23
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME3 0x24
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME4 0x25
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME5 0x26
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME6 0x27
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME7 0x28
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME8 0x29
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME9 0x2a
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME10 0x2b
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME11 0x2c
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME12 0x2d
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SABBREVMONTHNAME13 0x2e
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_SYEARMONTH 0x2f
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_ITWODIGITYEARMAX 0x30
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Calendar types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN_US 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_JAPAN 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_TAIWAN 4
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_KOREA 5
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_HIJRI 6
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_THAI 7
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_HEBREW 8
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN_ME_FRENCH 9
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN_ARABIC 10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN_XLIT_ENGLISH 11
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CAL_GREGORIAN_XLIT_FRENCH 12
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* EnumCalendarInfo Flags */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define ENUM_ALL_CALENDARS 0xffffffff /* Enumerate all calendars within a locale */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* CompareString results */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CSTR_LESS_THAN 1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CSTR_EQUAL 2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CSTR_GREATER_THAN 3
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Language Group IDs.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Resources in kernel32 are LGRPID_xxx+0x2000 because low values were used by LOCALE_xxx
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This is done because resources in win2k kernel32 / winxp kernel32 are not even
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * stored the same way.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_WESTERN_EUROPE 0x01 /* Includes US and Africa */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_CENTRAL_EUROPE 0x02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_BALTIC 0x03
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_GREEK 0x04
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_CYRILLIC 0x05
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_TURKISH 0x06
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_JAPANESE 0x07
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_KOREAN 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_TRADITIONAL_CHINESE 0x09
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_SIMPLIFIED_CHINESE 0x0A
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_THAI 0x0B
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_HEBREW 0x0C
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_ARABIC 0x0D
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_VIETNAMESE 0x0E
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_INDIC 0x0F
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_GEORGIAN 0x10
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LGRPID_ARMENIAN 0x11
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* IDN defines. */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDN_ALLOW_UNASSIGNED 0x1
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IDN_USE_STD3_ASCII_RULES 0x2
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Types
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef enum _NORM_FORM {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NormalizationOther = 0,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NormalizationC = 0x1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NormalizationD = 0x2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NormalizationKC = 0x5,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync NormalizationKD = 0x6
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NORM_FORM;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD CALID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD CALTYPE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef LONG GEOID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD GEOCLASS;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD GEOTYPE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD LCTYPE;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef DWORD LGRPID;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT MaxCharSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE DefaultChar[MAX_DEFAULTCHAR];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE LeadByte[MAX_LEADBYTES];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CPINFO, *LPCPINFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT MaxCharSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE DefaultChar[MAX_DEFAULTCHAR];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE LeadByte[MAX_LEADBYTES];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR UnicodeDefaultChar;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT CodePage;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync CHAR CodePageName[MAX_PATH];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CPINFOEXA, *LPCPINFOEXA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT MaxCharSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE DefaultChar[MAX_DEFAULTCHAR];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync BYTE LeadByte[MAX_LEADBYTES];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR UnicodeDefaultChar;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT CodePage;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync WCHAR CodePageName[MAX_PATH];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CPINFOEXW, *LPCPINFOEXW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(CPINFOEX)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LPCPINFOEX)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _numberfmtA {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NumDigits;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT LeadingZero;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT Grouping;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpDecimalSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpThousandSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NegativeOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NUMBERFMTA, *LPNUMBERFMTA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _numberfmtW {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NumDigits;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT LeadingZero;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT Grouping;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpDecimalSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpThousandSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NegativeOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NUMBERFMTW, *LPNUMBERFMTW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(NUMBERFMT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LPNUMBERFMT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _currencyfmtA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NumDigits;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT LeadingZero;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT Grouping;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpDecimalSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpThousandSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NegativeOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT PositiveOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPSTR lpCurrencySymbol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CURRENCYFMTA, *LPCURRENCYFMTA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _currencyfmtW
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NumDigits;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT LeadingZero;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT Grouping;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpDecimalSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpThousandSep;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT NegativeOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UINT PositiveOrder;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync LPWSTR lpCurrencySymbol;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} CURRENCYFMTW, *LPCURRENCYFMTW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(CURRENCYFMT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LPCURRENCYFMT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _nlsversioninfo {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwNLSVersionInfoSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwNLSVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwDefinedVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NLSVERSIONINFO, *LPNLSVERSIONINFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _nlsversioninfoex {
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwNLSVersionInfoSize;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwNLSVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwDefinedVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync DWORD dwEffectiveId;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GUID guidCustomVersion;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Define a bunch of callback types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#if defined(STRICT)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR,CALID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR,CALID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR,CALID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR,CALID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID,LCID,LPSTR,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID,LCID,LPWSTR,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID,LPSTR,LPSTR,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID,LPWSTR,LPWSTR,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef BOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CALINFO_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CALINFO_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CALINFO_ENUMPROCEXA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CALINFO_ENUMPROCEXW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CODEPAGE_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC CODEPAGE_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC DATEFMT_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC DATEFMT_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC DATEFMT_ENUMPROCEXA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC DATEFMT_ENUMPROCEXW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC GEO_ENUMPROC;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LANGGROUPLOCALE_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LANGGROUPLOCALE_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LANGUAGEGROUP_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LANGUAGEGROUP_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LOCALE_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC LOCALE_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC TIMEFMT_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC TIMEFMT_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC UILANGUAGE_ENUMPROCA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef FARPROC UILANGUAGE_ENUMPROCW;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* STRICT */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(CALINFO_ENUMPROCEX)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROCEX)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LANGGROUPLOCALE_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LANGUAGEGROUP_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncDECL_WINELIB_TYPE_AW(UILANGUAGE_ENUMPROC)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Geographic Information types */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncenum SYSGEOTYPE
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_NATION = 1,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_LATITUDE,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_LONGITUDE,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_ISO2,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_ISO3,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_RFC1766,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_LCID,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_FRIENDLYNAME,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_OFFICIALNAME,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_TIMEZONES,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEO_OFFICIALLANGUAGES
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncenum SYSGEOCLASS
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEOCLASS_REGION = 14,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync GEOCLASS_NATION = 16
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync};
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GEOID_NOT_AVAILABLE (-1)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* NLS Functions.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI CompareStringA(LCID,DWORD,LPCSTR,INT,LPCSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI CompareStringW(LCID,DWORD,LPCWSTR,INT,LPCWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define CompareString WINELIB_NAME_AW(CompareString)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI CompareStringEx(LPCWSTR,DWORD,LPCWSTR,INT,LPCWSTR,INT,LPNLSVERSIONINFO,LPVOID,LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumCalendarInfoEx WINELIB_NAME_AW(EnumCalendarInfoEx)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumDateFormatsEx WINELIB_NAME_AW(EnumDateFormatsEx)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemGeoID(GEOCLASS,GEOID,GEO_ENUMPROC);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemLocalesEx(LOCALE_ENUMPROCEX,DWORD,LPARAM,LPVOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumSystemLanguageGroups WINELIB_NAME_AW(EnumSystemLanguageGroups)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumLanguageGroupLocales WINELIB_NAME_AW(EnumLanguageGroupLocales)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define EnumUILanguages WINELIB_NAME_AW(EnumUILanguages)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI FoldStringA(DWORD,LPCSTR,INT,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI FoldStringW(DWORD,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define FoldString WINELIB_NAME_AW(FoldString)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI UINT WINAPI GetACP(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetCPInfoEx WINELIB_NAME_AW(GetCPInfoEx)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetCalendarInfoA(LCID,DWORD,DWORD,LPSTR,INT,LPDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetCalendarInfoW(LCID,DWORD,DWORD,LPWSTR,INT,LPDWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetCalendarInfo WINELIB_NAME_AW(GetCalendarInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetCurrencyFormat WINELIB_NAME_AW(GetCurrencyFormat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetDateFormat WINELIB_NAME_AW(GetDateFormat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetGeoInfoA(GEOID,GEOTYPE,LPSTR,INT,LANGID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetGeoInfoW(GEOID,GEOTYPE,LPWSTR,INT,LANGID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetGeoInfo WINELIB_NAME_AW(GetGeoInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI UINT WINAPI GetOEMCP(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,INT,LPWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,INT,LPWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,INT,LPWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,INT,LPWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetStringTypeEx WINELIB_NAME_AW(GetStringTypeEx)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LCID WINAPI GetThreadLocale(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define GetTimeFormat WINELIB_NAME_AW(GetTimeFormat)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI GetUserDefaultLocaleName(LPWSTR,int);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINNORMALIZEAPI INT WINAPI IdnToAscii(DWORD,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINNORMALIZEAPI INT WINAPI IdnToNameprepUnicode(DWORD,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINNORMALIZEAPI INT WINAPI IdnToUnicode(DWORD,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI IsDBCSLeadByte(BYTE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINNORMALIZEAPI BOOL WINAPI IsNormalizedString(NORM_FORM,LPCWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI IsValidCodePage(UINT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI IsValidLocale(LCID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI LCIDToLocaleName(LCID,LPWSTR,INT,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI LCMapStringA(LCID,DWORD,LPCSTR,INT,LPSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LCMapString WINELIB_NAME_AW(LCMapString)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI LCMapStringEx(LPCWSTR,DWORD,LPCWSTR,INT,LPWSTR,INT,LPNLSVERSIONINFO,LPVOID,LPARAM);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI LCID WINAPI LocaleNameToLCID(LPCWSTR,DWORD);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINNORMALIZEAPI INT WINAPI NormalizeString(NORM_FORM,LPCWSTR,INT,LPWSTR,INT);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI SetCalendarInfoA(LCID,CALID,CALTYPE,LPCSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI SetCalendarInfoW(LCID,CALID,CALTYPE,LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SetCalendarInfo WINELIB_NAME_AW(SetCalendarInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SetLocaleInfo WINELIB_NAME_AW(SetLocaleInfo)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI SetThreadLocale(LCID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI BOOL WINAPI SetUserGeoID(GEOID);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsyncWINBASEAPI INT WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,LPBOOL);
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef __cplusplus
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync}
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* !NONLS */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* __WINE_WINNLS_H */