aboutsummaryrefslogtreecommitdiff
path: root/win32/include/winapi/winnls.h
diff options
context:
space:
mode:
Diffstat (limited to 'win32/include/winapi/winnls.h')
-rw-r--r--win32/include/winapi/winnls.h1054
1 files changed, 584 insertions, 470 deletions
diff --git a/win32/include/winapi/winnls.h b/win32/include/winapi/winnls.h
index 3933812..563c643 100644
--- a/win32/include/winapi/winnls.h
+++ b/win32/include/winapi/winnls.h
@@ -1,208 +1,134 @@
-#ifndef _WINNLS_H
-#define _WINNLS_H
-#if __GNUC__ >=3
-#pragma GCC system_header
-#endif
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER within this package.
+ */
+#ifndef _WINNLS_
+#define _WINNLS_
#ifdef __cplusplus
extern "C" {
#endif
-#define MAX_LEADBYTES 12
-#define MAX_DEFAULTCHAR 2
-#define LOCALE_NOUSEROVERRIDE 0x80000000
-#define LOCALE_USE_CP_ACP 0x40000000
-#define LOCALE_ILANGUAGE 1
-#define LOCALE_SLANGUAGE 2
-#define LOCALE_SENGLANGUAGE 0x1001
-#define LOCALE_SABBREVLANGNAME 3
-#define LOCALE_SNATIVELANGNAME 4
-#define LOCALE_ICOUNTRY 5
-#define LOCALE_SCOUNTRY 6
-#define LOCALE_SENGCOUNTRY 0x1002
-#define LOCALE_SABBREVCTRYNAME 7
-#define LOCALE_SNATIVECTRYNAME 8
-#define LOCALE_IDEFAULTLANGUAGE 9
-#define LOCALE_IDEFAULTCOUNTRY 10
-#define LOCALE_IDEFAULTCODEPAGE 11
-#define LOCALE_IDEFAULTANSICODEPAGE 0x1004
-#define LOCALE_SLIST 12
-#define LOCALE_IMEASURE 13
-#define LOCALE_SDECIMAL 14
-#define LOCALE_STHOUSAND 15
-#define LOCALE_SGROUPING 16
-#define LOCALE_IDIGITS 17
-#define LOCALE_ILZERO 18
-#define LOCALE_INEGNUMBER 0x1010
-#define LOCALE_SNATIVEDIGITS 19
-#define LOCALE_SCURRENCY 20
-#define LOCALE_SINTLSYMBOL 21
-#define LOCALE_SMONDECIMALSEP 22
-#define LOCALE_SMONTHOUSANDSEP 23
-#define LOCALE_SMONGROUPING 24
-#define LOCALE_ICURRDIGITS 25
-#define LOCALE_IINTLCURRDIGITS 26
-#define LOCALE_ICURRENCY 27
-#define LOCALE_INEGCURR 28
-#define LOCALE_SDATE 29
-#define LOCALE_STIME 30
-#define LOCALE_SSHORTDATE 31
-#define LOCALE_SLONGDATE 32
-#define LOCALE_STIMEFORMAT 0x1003
-#define LOCALE_IDATE 33
-#define LOCALE_ILDATE 34
-#define LOCALE_ITIME 35
-#define LOCALE_ITIMEMARKPOSN 0x1005
-#define LOCALE_ICENTURY 36
-#define LOCALE_ITLZERO 37
-#define LOCALE_IDAYLZERO 38
-#define LOCALE_IMONLZERO 39
-#define LOCALE_S1159 40
-#define LOCALE_S2359 41
-#define LOCALE_ICALENDARTYPE 0x1009
-#define LOCALE_IOPTIONALCALENDAR 0x100B
-#define LOCALE_IFIRSTDAYOFWEEK 0x100C
-#define LOCALE_IFIRSTWEEKOFYEAR 0x100D
-#define LOCALE_SDAYNAME1 42
-#define LOCALE_SDAYNAME2 43
-#define LOCALE_SDAYNAME3 44
-#define LOCALE_SDAYNAME4 45
-#define LOCALE_SDAYNAME5 46
-#define LOCALE_SDAYNAME6 47
-#define LOCALE_SDAYNAME7 48
-#define LOCALE_SABBREVDAYNAME1 49
-#define LOCALE_SABBREVDAYNAME2 50
-#define LOCALE_SABBREVDAYNAME3 51
-#define LOCALE_SABBREVDAYNAME4 52
-#define LOCALE_SABBREVDAYNAME5 53
-#define LOCALE_SABBREVDAYNAME6 54
-#define LOCALE_SABBREVDAYNAME7 55
-#define LOCALE_SMONTHNAME1 56
-#define LOCALE_SMONTHNAME2 57
-#define LOCALE_SMONTHNAME3 58
-#define LOCALE_SMONTHNAME4 59
-#define LOCALE_SMONTHNAME5 60
-#define LOCALE_SMONTHNAME6 61
-#define LOCALE_SMONTHNAME7 62
-#define LOCALE_SMONTHNAME8 63
-#define LOCALE_SMONTHNAME9 64
-#define LOCALE_SMONTHNAME10 65
-#define LOCALE_SMONTHNAME11 66
-#define LOCALE_SMONTHNAME12 67
-#define LOCALE_SMONTHNAME13 0x100E
-#define LOCALE_SABBREVMONTHNAME1 68
-#define LOCALE_SABBREVMONTHNAME2 69
-#define LOCALE_SABBREVMONTHNAME3 70
-#define LOCALE_SABBREVMONTHNAME4 71
-#define LOCALE_SABBREVMONTHNAME5 72
-#define LOCALE_SABBREVMONTHNAME6 73
-#define LOCALE_SABBREVMONTHNAME7 74
-#define LOCALE_SABBREVMONTHNAME8 75
-#define LOCALE_SABBREVMONTHNAME9 76
-#define LOCALE_SABBREVMONTHNAME10 77
-#define LOCALE_SABBREVMONTHNAME11 78
-#define LOCALE_SABBREVMONTHNAME12 79
-#define LOCALE_SABBREVMONTHNAME13 0x100F
-#define LOCALE_SPOSITIVESIGN 80
-#define LOCALE_SNEGATIVESIGN 81
-#define LOCALE_IPOSSIGNPOSN 82
-#define LOCALE_INEGSIGNPOSN 83
-#define LOCALE_IPOSSYMPRECEDES 84
-#define LOCALE_IPOSSEPBYSPACE 85
-#define LOCALE_INEGSYMPRECEDES 86
-#define LOCALE_INEGSEPBYSPACE 87
-#define LOCALE_FONTSIGNATURE 88
-#define LOCALE_SISO639LANGNAME 89
-#define LOCALE_SISO3166CTRYNAME 90
-#define LOCALE_SYSTEM_DEFAULT 0x800
-#define LOCALE_USER_DEFAULT 0x400
-#define NORM_IGNORECASE 1
-#define NORM_IGNOREKANATYPE 65536
-#define NORM_IGNORENONSPACE 2
-#define NORM_IGNORESYMBOLS 4
-#define NORM_IGNOREWIDTH 131072
-#define SORT_STRINGSORT 4096
+#ifndef NONLS
+
+#define MAX_LEADBYTES 12
+#define MAX_DEFAULTCHAR 2
+
+#define MB_PRECOMPOSED 0x00000001
+#define MB_COMPOSITE 0x00000002
+#define MB_USEGLYPHCHARS 0x00000004
+#define MB_ERR_INVALID_CHARS 0x00000008
+
+#define WC_COMPOSITECHECK 0x00000200
+#define WC_DISCARDNS 0x00000010
+#define WC_SEPCHARS 0x00000020
+#define WC_DEFAULTCHAR 0x00000040
+#define WC_NO_BEST_FIT_CHARS 0x00000400
+
+#define CT_CTYPE1 0x00000001
+#define CT_CTYPE2 0x00000002
+#define CT_CTYPE3 0x00000004
+
+#define C1_UPPER 0x0001
+#define C1_LOWER 0x0002
+#define C1_DIGIT 0x0004
+#define C1_SPACE 0x0008
+#define C1_PUNCT 0x0010
+#define C1_CNTRL 0x0020
+#define C1_BLANK 0x0040
+#define C1_XDIGIT 0x0080
+#define C1_ALPHA 0x0100
+#define C1_DEFINED 0x0200
+
+#define C2_LEFTTORIGHT 0x0001
+#define C2_RIGHTTOLEFT 0x0002
+
+#define C2_EUROPENUMBER 0x0003
+#define C2_EUROPESEPARATOR 0x0004
+#define C2_EUROPETERMINATOR 0x0005
+#define C2_ARABICNUMBER 0x0006
+#define C2_COMMONSEPARATOR 0x0007
+
+#define C2_BLOCKSEPARATOR 0x0008
+#define C2_SEGMENTSEPARATOR 0x0009
+#define C2_WHITESPACE 0x000A
+#define C2_OTHERNEUTRAL 0x000B
+
+#define C2_NOTAPPLICABLE 0x0000
+
+#define C3_NONSPACING 0x0001
+#define C3_DIACRITIC 0x0002
+#define C3_VOWELMARK 0x0004
+#define C3_SYMBOL 0x0008
+
+#define C3_KATAKANA 0x0010
+#define C3_HIRAGANA 0x0020
+#define C3_HALFWIDTH 0x0040
+#define C3_FULLWIDTH 0x0080
+#define C3_IDEOGRAPH 0x0100
+#define C3_KASHIDA 0x0200
+#define C3_LEXICAL 0x0400
+
+#define C3_ALPHA 0x8000
+
+#define C3_NOTAPPLICABLE 0x0000
+
+#define NORM_IGNORECASE 0x00000001
+#define NORM_IGNORENONSPACE 0x00000002
+#define NORM_IGNORESYMBOLS 0x00000004
+
+#define NORM_IGNOREKANATYPE 0x00010000
+#define NORM_IGNOREWIDTH 0x00020000
+
+#define MAP_FOLDCZONE 0x00000010
+#define MAP_PRECOMPOSED 0x00000020
+#define MAP_COMPOSITE 0x00000040
+#define MAP_FOLDDIGITS 0x00000080
+#define MAP_EXPAND_LIGATURES 0x00002000
+
#define LCMAP_LOWERCASE 0x00000100
#define LCMAP_UPPERCASE 0x00000200
#define LCMAP_SORTKEY 0x00000400
#define LCMAP_BYTEREV 0x00000800
+
#define LCMAP_HIRAGANA 0x00100000
#define LCMAP_KATAKANA 0x00200000
#define LCMAP_HALFWIDTH 0x00400000
#define LCMAP_FULLWIDTH 0x00800000
+
#define LCMAP_LINGUISTIC_CASING 0x01000000
+
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000
#define LCMAP_TRADITIONAL_CHINESE 0x04000000
-#define ENUM_ALL_CALENDARS (-1)
-#define DATE_SHORTDATE 1
-#define DATE_LONGDATE 2
-#define DATE_USE_ALT_CALENDAR 4
-#define CP_INSTALLED 1
-#define CP_SUPPORTED 2
-#define LCID_INSTALLED 1
-#define LCID_SUPPORTED 2
-#define LCID_ALTERNATE_SORTS 4
-#define MAP_FOLDCZONE 16
-#define MAP_FOLDDIGITS 128
-#define MAP_PRECOMPOSED 32
-#define MAP_COMPOSITE 64
+
+#define LGRPID_INSTALLED 0x00000001
+#define LGRPID_SUPPORTED 0x00000002
+
+#define LCID_INSTALLED 0x00000001
+#define LCID_SUPPORTED 0x00000002
+#define LCID_ALTERNATE_SORTS 0x00000004
+
+#define CP_INSTALLED 0x00000001
+#define CP_SUPPORTED 0x00000002
+
+#define SORT_STRINGSORT 0x00001000
+
+#define CSTR_LESS_THAN 1
+#define CSTR_EQUAL 2
+#define CSTR_GREATER_THAN 3
+
#define CP_ACP 0
#define CP_OEMCP 1
#define CP_MACCP 2
#define CP_THREAD_ACP 3
#define CP_SYMBOL 42
+
#define CP_UTF7 65000
#define CP_UTF8 65001
-#define CT_CTYPE1 1
-#define CT_CTYPE2 2
-#define CT_CTYPE3 4
-#define C1_UPPER 1
-#define C1_LOWER 2
-#define C1_DIGIT 4
-#define C1_SPACE 8
-#define C1_PUNCT 16
-#define C1_CNTRL 32
-#define C1_BLANK 64
-#define C1_XDIGIT 128
-#define C1_ALPHA 256
-#define C2_LEFTTORIGHT 1
-#define C2_RIGHTTOLEFT 2
-#define C2_EUROPENUMBER 3
-#define C2_EUROPESEPARATOR 4
-#define C2_EUROPETERMINATOR 5
-#define C2_ARABICNUMBER 6
-#define C2_COMMONSEPARATOR 7
-#define C2_BLOCKSEPARATOR 8
-#define C2_SEGMENTSEPARATOR 9
-#define C2_WHITESPACE 10
-#define C2_OTHERNEUTRAL 11
-#define C2_NOTAPPLICABLE 0
-#define C3_NONSPACING 1
-#define C3_DIACRITIC 2
-#define C3_VOWELMARK 4
-#define C3_SYMBOL 8
-#define C3_KATAKANA 16
-#define C3_HIRAGANA 32
-#define C3_HALFWIDTH 64
-#define C3_FULLWIDTH 128
-#define C3_IDEOGRAPH 256
-#define C3_KASHIDA 512
-#define C3_LEXICAL 1024
-#define C3_ALPHA 32768
-#define C3_NOTAPPLICABLE 0
-#define TIME_NOMINUTESORSECONDS 1
-#define TIME_NOSECONDS 2
-#define TIME_NOTIMEMARKER 4
-#define TIME_FORCE24HOURFORMAT 8
-#define MB_PRECOMPOSED 1
-#define MB_COMPOSITE 2
-#define MB_ERR_INVALID_CHARS 8
-#define MB_USEGLYPHCHARS 4
-#define WC_COMPOSITECHECK 512
-#define WC_DISCARDNS 16
-#define WC_SEPCHARS 32
-#define WC_DEFAULTCHAR 64
+
#define CTRY_DEFAULT 0
+
#define CTRY_ALBANIA 355
#define CTRY_ALGERIA 213
#define CTRY_ARGENTINA 54
@@ -255,6 +181,7 @@ extern "C" {
#define CTRY_KAZAKSTAN 7
#define CTRY_KENYA 254
#define CTRY_KUWAIT 965
+#define CTRY_KYRGYZSTAN 996
#define CTRY_LATVIA 371
#define CTRY_LEBANON 961
#define CTRY_LIBYA 218
@@ -264,8 +191,10 @@ extern "C" {
#define CTRY_MACAU 853
#define CTRY_MACEDONIA 389
#define CTRY_MALAYSIA 60
+#define CTRY_MALDIVES 960
#define CTRY_MEXICO 52
#define CTRY_MONACO 33
+#define CTRY_MONGOLIA 976
#define CTRY_MOROCCO 212
#define CTRY_NETHERLANDS 31
#define CTRY_NEW_ZEALAND 64
@@ -311,52 +240,199 @@ extern "C" {
#define CTRY_VIET_NAM 84
#define CTRY_YEMEN 967
#define CTRY_ZIMBABWE 263
-#define CAL_ICALINTVALUE 1
-#define CAL_SCALNAME 2
-#define CAL_IYEAROFFSETRANGE 3
-#define CAL_SERASTRING 4
-#define CAL_SSHORTDATE 5
-#define CAL_SLONGDATE 6
-#define CAL_SDAYNAME1 7
-#define CAL_SDAYNAME2 8
-#define CAL_SDAYNAME3 9
-#define CAL_SDAYNAME4 10
-#define CAL_SDAYNAME5 11
-#define CAL_SDAYNAME6 12
-#define CAL_SDAYNAME7 13
-#define CAL_SABBREVDAYNAME1 14
-#define CAL_SABBREVDAYNAME2 15
-#define CAL_SABBREVDAYNAME3 16
-#define CAL_SABBREVDAYNAME4 17
-#define CAL_SABBREVDAYNAME5 18
-#define CAL_SABBREVDAYNAME6 19
-#define CAL_SABBREVDAYNAME7 20
-#define CAL_SMONTHNAME1 21
-#define CAL_SMONTHNAME2 22
-#define CAL_SMONTHNAME3 23
-#define CAL_SMONTHNAME4 24
-#define CAL_SMONTHNAME5 25
-#define CAL_SMONTHNAME6 26
-#define CAL_SMONTHNAME7 27
-#define CAL_SMONTHNAME8 28
-#define CAL_SMONTHNAME9 29
-#define CAL_SMONTHNAME10 30
-#define CAL_SMONTHNAME11 31
-#define CAL_SMONTHNAME12 32
-#define CAL_SMONTHNAME13 33
-#define CAL_SABBREVMONTHNAME1 34
-#define CAL_SABBREVMONTHNAME2 35
-#define CAL_SABBREVMONTHNAME3 36
-#define CAL_SABBREVMONTHNAME4 37
-#define CAL_SABBREVMONTHNAME5 38
-#define CAL_SABBREVMONTHNAME6 39
-#define CAL_SABBREVMONTHNAME7 40
-#define CAL_SABBREVMONTHNAME8 41
-#define CAL_SABBREVMONTHNAME9 42
-#define CAL_SABBREVMONTHNAME10 43
-#define CAL_SABBREVMONTHNAME11 44
-#define CAL_SABBREVMONTHNAME12 45
-#define CAL_SABBREVMONTHNAME13 46
+
+#define LOCALE_NOUSEROVERRIDE 0x80000000
+#define LOCALE_USE_CP_ACP 0x40000000
+#define LOCALE_RETURN_NUMBER 0x20000000
+
+#define LOCALE_ILANGUAGE 0x00000001
+#define LOCALE_SLANGUAGE 0x00000002
+#define LOCALE_SENGLANGUAGE 0x00001001
+#define LOCALE_SABBREVLANGNAME 0x00000003
+#define LOCALE_SNATIVELANGNAME 0x00000004
+
+#define LOCALE_ICOUNTRY 0x00000005
+#define LOCALE_SCOUNTRY 0x00000006
+#define LOCALE_SENGCOUNTRY 0x00001002
+#define LOCALE_SABBREVCTRYNAME 0x00000007
+#define LOCALE_SNATIVECTRYNAME 0x00000008
+
+#define LOCALE_IDEFAULTLANGUAGE 0x00000009
+#define LOCALE_IDEFAULTCOUNTRY 0x0000000A
+#define LOCALE_IDEFAULTCODEPAGE 0x0000000B
+#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004
+#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011
+
+#define LOCALE_SLIST 0x0000000C
+#define LOCALE_IMEASURE 0x0000000D
+
+#define LOCALE_SDECIMAL 0x0000000E
+#define LOCALE_STHOUSAND 0x0000000F
+#define LOCALE_SGROUPING 0x00000010
+#define LOCALE_IDIGITS 0x00000011
+#define LOCALE_ILZERO 0x00000012
+#define LOCALE_INEGNUMBER 0x00001010
+#define LOCALE_SNATIVEDIGITS 0x00000013
+
+#define LOCALE_SCURRENCY 0x00000014
+#define LOCALE_SINTLSYMBOL 0x00000015
+#define LOCALE_SMONDECIMALSEP 0x00000016
+#define LOCALE_SMONTHOUSANDSEP 0x00000017
+#define LOCALE_SMONGROUPING 0x00000018
+#define LOCALE_ICURRDIGITS 0x00000019
+#define LOCALE_IINTLCURRDIGITS 0x0000001A
+#define LOCALE_ICURRENCY 0x0000001B
+#define LOCALE_INEGCURR 0x0000001C
+
+#define LOCALE_SDATE 0x0000001D
+#define LOCALE_STIME 0x0000001E
+#define LOCALE_SSHORTDATE 0x0000001F
+#define LOCALE_SLONGDATE 0x00000020
+#define LOCALE_STIMEFORMAT 0x00001003
+#define LOCALE_IDATE 0x00000021
+#define LOCALE_ILDATE 0x00000022
+#define LOCALE_ITIME 0x00000023
+#define LOCALE_ITIMEMARKPOSN 0x00001005
+#define LOCALE_ICENTURY 0x00000024
+#define LOCALE_ITLZERO 0x00000025
+#define LOCALE_IDAYLZERO 0x00000026
+#define LOCALE_IMONLZERO 0x00000027
+#define LOCALE_S1159 0x00000028
+#define LOCALE_S2359 0x00000029
+
+#define LOCALE_ICALENDARTYPE 0x00001009
+#define LOCALE_IOPTIONALCALENDAR 0x0000100B
+#define LOCALE_IFIRSTDAYOFWEEK 0x0000100C
+#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D
+
+#define LOCALE_SDAYNAME1 0x0000002A
+#define LOCALE_SDAYNAME2 0x0000002B
+#define LOCALE_SDAYNAME3 0x0000002C
+#define LOCALE_SDAYNAME4 0x0000002D
+#define LOCALE_SDAYNAME5 0x0000002E
+#define LOCALE_SDAYNAME6 0x0000002F
+#define LOCALE_SDAYNAME7 0x00000030
+#define LOCALE_SABBREVDAYNAME1 0x00000031
+#define LOCALE_SABBREVDAYNAME2 0x00000032
+#define LOCALE_SABBREVDAYNAME3 0x00000033
+#define LOCALE_SABBREVDAYNAME4 0x00000034
+#define LOCALE_SABBREVDAYNAME5 0x00000035
+#define LOCALE_SABBREVDAYNAME6 0x00000036
+#define LOCALE_SABBREVDAYNAME7 0x00000037
+#define LOCALE_SMONTHNAME1 0x00000038
+#define LOCALE_SMONTHNAME2 0x00000039
+#define LOCALE_SMONTHNAME3 0x0000003A
+#define LOCALE_SMONTHNAME4 0x0000003B
+#define LOCALE_SMONTHNAME5 0x0000003C
+#define LOCALE_SMONTHNAME6 0x0000003D
+#define LOCALE_SMONTHNAME7 0x0000003E
+#define LOCALE_SMONTHNAME8 0x0000003F
+#define LOCALE_SMONTHNAME9 0x00000040
+#define LOCALE_SMONTHNAME10 0x00000041
+#define LOCALE_SMONTHNAME11 0x00000042
+#define LOCALE_SMONTHNAME12 0x00000043
+#define LOCALE_SMONTHNAME13 0x0000100E
+#define LOCALE_SABBREVMONTHNAME1 0x00000044
+#define LOCALE_SABBREVMONTHNAME2 0x00000045
+#define LOCALE_SABBREVMONTHNAME3 0x00000046
+#define LOCALE_SABBREVMONTHNAME4 0x00000047
+#define LOCALE_SABBREVMONTHNAME5 0x00000048
+#define LOCALE_SABBREVMONTHNAME6 0x00000049
+#define LOCALE_SABBREVMONTHNAME7 0x0000004A
+#define LOCALE_SABBREVMONTHNAME8 0x0000004B
+#define LOCALE_SABBREVMONTHNAME9 0x0000004C
+#define LOCALE_SABBREVMONTHNAME10 0x0000004D
+#define LOCALE_SABBREVMONTHNAME11 0x0000004E
+#define LOCALE_SABBREVMONTHNAME12 0x0000004F
+#define LOCALE_SABBREVMONTHNAME13 0x0000100F
+
+#define LOCALE_SPOSITIVESIGN 0x00000050
+#define LOCALE_SNEGATIVESIGN 0x00000051
+#define LOCALE_IPOSSIGNPOSN 0x00000052
+#define LOCALE_INEGSIGNPOSN 0x00000053
+#define LOCALE_IPOSSYMPRECEDES 0x00000054
+#define LOCALE_IPOSSEPBYSPACE 0x00000055
+#define LOCALE_INEGSYMPRECEDES 0x00000056
+#define LOCALE_INEGSEPBYSPACE 0x00000057
+#define LOCALE_FONTSIGNATURE 0x00000058
+#define LOCALE_SISO639LANGNAME 0x00000059
+#define LOCALE_SISO3166CTRYNAME 0x0000005A
+
+#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012
+#define LOCALE_IPAPERSIZE 0x0000100A
+#define LOCALE_SENGCURRNAME 0x00001007
+#define LOCALE_SNATIVECURRNAME 0x00001008
+#define LOCALE_SYEARMONTH 0x00001006
+#define LOCALE_SSORTNAME 0x00001013
+#define LOCALE_IDIGITSUBSTITUTION 0x00001014
+
+#define TIME_NOMINUTESORSECONDS 0x00000001
+#define TIME_NOSECONDS 0x00000002
+#define TIME_NOTIMEMARKER 0x00000004
+#define TIME_FORCE24HOURFORMAT 0x00000008
+
+#define DATE_SHORTDATE 0x00000001
+#define DATE_LONGDATE 0x00000002
+#define DATE_USE_ALT_CALENDAR 0x00000004
+#define DATE_YEARMONTH 0x00000008
+#define DATE_LTRREADING 0x00000010
+#define DATE_RTLREADING 0x00000020
+
+#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
+#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
+#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
+
+#define CAL_ICALINTVALUE 0x00000001
+#define CAL_SCALNAME 0x00000002
+#define CAL_IYEAROFFSETRANGE 0x00000003
+#define CAL_SERASTRING 0x00000004
+#define CAL_SSHORTDATE 0x00000005
+#define CAL_SLONGDATE 0x00000006
+#define CAL_SDAYNAME1 0x00000007
+#define CAL_SDAYNAME2 0x00000008
+#define CAL_SDAYNAME3 0x00000009
+#define CAL_SDAYNAME4 0x0000000a
+#define CAL_SDAYNAME5 0x0000000b
+#define CAL_SDAYNAME6 0x0000000c
+#define CAL_SDAYNAME7 0x0000000d
+#define CAL_SABBREVDAYNAME1 0x0000000e
+#define CAL_SABBREVDAYNAME2 0x0000000f
+#define CAL_SABBREVDAYNAME3 0x00000010
+#define CAL_SABBREVDAYNAME4 0x00000011
+#define CAL_SABBREVDAYNAME5 0x00000012
+#define CAL_SABBREVDAYNAME6 0x00000013
+#define CAL_SABBREVDAYNAME7 0x00000014
+#define CAL_SMONTHNAME1 0x00000015
+#define CAL_SMONTHNAME2 0x00000016
+#define CAL_SMONTHNAME3 0x00000017
+#define CAL_SMONTHNAME4 0x00000018
+#define CAL_SMONTHNAME5 0x00000019
+#define CAL_SMONTHNAME6 0x0000001a
+#define CAL_SMONTHNAME7 0x0000001b
+#define CAL_SMONTHNAME8 0x0000001c
+#define CAL_SMONTHNAME9 0x0000001d
+#define CAL_SMONTHNAME10 0x0000001e
+#define CAL_SMONTHNAME11 0x0000001f
+#define CAL_SMONTHNAME12 0x00000020
+#define CAL_SMONTHNAME13 0x00000021
+#define CAL_SABBREVMONTHNAME1 0x00000022
+#define CAL_SABBREVMONTHNAME2 0x00000023
+#define CAL_SABBREVMONTHNAME3 0x00000024
+#define CAL_SABBREVMONTHNAME4 0x00000025
+#define CAL_SABBREVMONTHNAME5 0x00000026
+#define CAL_SABBREVMONTHNAME6 0x00000027
+#define CAL_SABBREVMONTHNAME7 0x00000028
+#define CAL_SABBREVMONTHNAME8 0x00000029
+#define CAL_SABBREVMONTHNAME9 0x0000002a
+#define CAL_SABBREVMONTHNAME10 0x0000002b
+#define CAL_SABBREVMONTHNAME11 0x0000002c
+#define CAL_SABBREVMONTHNAME12 0x0000002d
+#define CAL_SABBREVMONTHNAME13 0x0000002e
+#define CAL_SYEARMONTH 0x0000002f
+#define CAL_ITWODIGITYEARMAX 0x00000030
+
+#define ENUM_ALL_CALENDARS 0xffffffff
+
#define CAL_GREGORIAN 1
#define CAL_GREGORIAN_US 2
#define CAL_JAPAN 3
@@ -369,282 +445,320 @@ extern "C" {
#define CAL_GREGORIAN_ARABIC 10
#define CAL_GREGORIAN_XLIT_ENGLISH 11
#define CAL_GREGORIAN_XLIT_FRENCH 12
-#define CSTR_LESS_THAN 1
-#define CSTR_EQUAL 2
-#define CSTR_GREATER_THAN 3
-#define LGRPID_INSTALLED 1
-#define LGRPID_SUPPORTED 2
-#define LGRPID_WESTERN_EUROPE 1
-#define LGRPID_CENTRAL_EUROPE 2
-#define LGRPID_BALTIC 3
-#define LGRPID_GREEK 4
-#define LGRPID_CYRILLIC 5
-#define LGRPID_TURKISH 6
-#define LGRPID_JAPANESE 7
-#define LGRPID_KOREAN 8
-#define LGRPID_TRADITIONAL_CHINESE 9
-#define LGRPID_SIMPLIFIED_CHINESE 10
-#define LGRPID_THAI 11
-#define LGRPID_HEBREW 12
-#define LGRPID_ARABIC 13
-#define LGRPID_VIETNAMESE 14
-#define LGRPID_INDIC 15
-#define LGRPID_GEORGIAN 16
-#define LGRPID_ARMENIAN 17
-#if(WINVER >= 0x0500)
-#define LOCALE_SYEARMONTH 0x1006
-#define LOCALE_SENGCURRNAME 0x1007
-#define LOCALE_SNATIVECURRNAME 0x1008
-#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x1012
-#define LOCALE_SSORTNAME 0x1013
-#define LOCALE_IDIGITSUBSTITUTION 0x1014
-#define LOCALE_IPAPERSIZE 0x100A
-#define DATE_YEARMONTH 8
-#define DATE_LTRREADING 16
-#define DATE_RTLREADING 32
-#define MAP_EXPAND_LIGATURES 0x2000
-#define WC_NO_BEST_FIT_CHARS 1024
-#define CAL_SYEARMONTH 47
-#define CAL_ITWODIGITYEARMAX 48
-#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE
-#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER
-#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP
-#endif /* WINVER >= 0x0500 */
-#ifndef _BASETSD_H
-typedef long LONG_PTR;
-#endif
+#define LGRPID_WESTERN_EUROPE 0x0001
+#define LGRPID_CENTRAL_EUROPE 0x0002
+#define LGRPID_BALTIC 0x0003
+#define LGRPID_GREEK 0x0004
+#define LGRPID_CYRILLIC 0x0005
+#define LGRPID_TURKISH 0x0006
+#define LGRPID_JAPANESE 0x0007
+#define LGRPID_KOREAN 0x0008
+#define LGRPID_TRADITIONAL_CHINESE 0x0009
+#define LGRPID_SIMPLIFIED_CHINESE 0x000a
+#define LGRPID_THAI 0x000b
+#define LGRPID_HEBREW 0x000c
+#define LGRPID_ARABIC 0x000d
+#define LGRPID_VIETNAMESE 0x000e
+#define LGRPID_INDIC 0x000f
+#define LGRPID_GEORGIAN 0x0010
+#define LGRPID_ARMENIAN 0x0011
+
+ typedef DWORD LGRPID;
+ typedef DWORD LCTYPE;
+ typedef DWORD CALTYPE;
+ typedef DWORD CALID;
-#ifndef RC_INVOKED
-typedef DWORD LCTYPE;
-typedef DWORD CALTYPE;
-typedef DWORD CALID;
-typedef DWORD LGRPID;
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
-typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
-typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
+ typedef struct _cpinfo {
+ UINT MaxCharSize;
+ BYTE DefaultChar[MAX_DEFAULTCHAR];
+ BYTE LeadByte[MAX_LEADBYTES];
+ } CPINFO,*LPCPINFO;
-typedef struct _cpinfo {
- UINT MaxCharSize;
- BYTE DefaultChar[MAX_DEFAULTCHAR];
- BYTE LeadByte[MAX_LEADBYTES];
-} CPINFO,*LPCPINFO;
-typedef struct _cpinfoexA {
+ typedef struct _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[MAX_PATH];
-} CPINFOEXA, *LPCPINFOEXA;
-typedef struct _cpinfoexW {
+ } CPINFOEXA,*LPCPINFOEXA;
+
+ typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[MAX_PATH];
-} CPINFOEXW, *LPCPINFOEXW;
-typedef struct _currencyfmtA {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPSTR lpDecimalSep;
- LPSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPSTR lpCurrencySymbol;
-} CURRENCYFMTA, *LPCURRENCYFMTA;
-typedef struct _currencyfmtW {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPWSTR lpDecimalSep;
- LPWSTR lpThousandSep;
- UINT NegativeOrder;
- UINT PositiveOrder;
- LPWSTR lpCurrencySymbol;
-} CURRENCYFMTW, *LPCURRENCYFMTW;
-typedef struct _numberfmtA {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPSTR lpDecimalSep;
- LPSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTA, *LPNUMBERFMTA;
-typedef struct _numberfmtW {
- UINT NumDigits;
- UINT LeadingZero;
- UINT Grouping;
- LPWSTR lpDecimalSep;
- LPWSTR lpThousandSep;
- UINT NegativeOrder;
-} NUMBERFMTW, *LPNUMBERFMTW;
+ } CPINFOEXW,*LPCPINFOEXW;
+
+#ifdef UNICODE
+ typedef CPINFOEXW CPINFOEX;
+ typedef LPCPINFOEXW LPCPINFOEX;
+#else
+ typedef CPINFOEXA CPINFOEX;
+ typedef LPCPINFOEXA LPCPINFOEX;
+#endif
+
+ typedef struct _numberfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+ } NUMBERFMTA,*LPNUMBERFMTA;
-int WINAPI CompareStringA(LCID,DWORD,LPCSTR,int,LPCSTR,int);
-int WINAPI CompareStringW(LCID,DWORD,LPCWSTR,int,LPCWSTR,int);
-LCID WINAPI ConvertDefaultLocale(LCID);
-BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD);
-BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD);
-BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD);
-BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD);
-BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
-BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD);
-BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD);
-BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD);
-int WINAPI FoldStringA(DWORD,LPCSTR,int,LPSTR,int);
-int WINAPI FoldStringW(DWORD,LPCWSTR,int,LPWSTR,int);
-UINT WINAPI GetACP(void);
-BOOL WINAPI GetCPInfo(UINT,LPCPINFO);
-BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA);
-BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW);
-int WINAPI GetCurrencyFormatA(LCID,DWORD,LPCSTR,const CURRENCYFMTA*,LPSTR,int);
-int WINAPI GetCurrencyFormatW(LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int);
-int WINAPI GetDateFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-int WINAPI GetDateFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-int WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,int);
-int WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,int);
-int WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int);
-int WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int);
-UINT WINAPI GetOEMCP(void);
-BOOL WINAPI GetStringTypeA(LCID,DWORD,LPCSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeW(DWORD,LPCWSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeExA(LCID,DWORD,LPCSTR,int,LPWORD);
-BOOL WINAPI GetStringTypeExW(LCID,DWORD,LPCWSTR,int,LPWORD);
-LANGID WINAPI GetSystemDefaultLangID(void);
-LCID WINAPI GetSystemDefaultLCID(void);
-LCID WINAPI GetThreadLocale(void);
-int WINAPI GetTimeFormatA(LCID,DWORD,const SYSTEMTIME*,LPCSTR,LPSTR,int);
-int WINAPI GetTimeFormatW(LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int);
-LANGID WINAPI GetUserDefaultLangID(void);
-LCID WINAPI GetUserDefaultLCID(void);
-BOOL WINAPI IsDBCSLeadByte(BYTE);
-BOOL WINAPI IsDBCSLeadByteEx(UINT,BYTE);
-BOOL WINAPI IsValidCodePage(UINT);
-BOOL WINAPI IsValidLocale(LCID,DWORD);
-int WINAPI LCMapStringA(LCID,DWORD,LPCSTR,int,LPSTR,int);
-int WINAPI LCMapStringW(LCID,DWORD,LPCWSTR,int,LPWSTR,int);
-int WINAPI MultiByteToWideChar(UINT,DWORD,LPCSTR,int,LPWSTR,int);
-BOOL WINAPI SetLocaleInfoA(LCID,LCTYPE,LPCSTR);
-BOOL WINAPI SetLocaleInfoW(LCID,LCTYPE,LPCWSTR);
-BOOL WINAPI SetThreadLocale(LCID);
-int WINAPI WideCharToMultiByte(UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL);
-#if (WINVER >= 0x0500)
-BOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE);
-BOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA,LCID,DWORD);
-BOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW,LCID,DWORD);
-BOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA,DWORD,LONG_PTR);
-BOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW,DWORD,LONG_PTR);
-BOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA,LGRPID,DWORD,LONG_PTR);
-BOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW,LGRPID,DWORD,LONG_PTR);
-BOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA,DWORD,LONG_PTR);
-BOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW,DWORD,LONG_PTR);
-LANGID WINAPI GetSystemDefaultUILanguage(void);
-LANGID WINAPI GetUserDefaultUILanguage(void);
-BOOL WINAPI IsValidLanguageGroup(LGRPID,DWORD);
-#endif /* (WINVER >= 0x0500) */
+ typedef struct _numberfmtW {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
+ UINT NegativeOrder;
+ } NUMBERFMTW,*LPNUMBERFMTW;
#ifdef UNICODE
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
+ typedef NUMBERFMTW NUMBERFMT;
+ typedef LPNUMBERFMTW LPNUMBERFMT;
+#else
+ typedef NUMBERFMTA NUMBERFMT;
+ typedef LPNUMBERFMTA LPNUMBERFMT;
+#endif
+
+ typedef struct _currencyfmtA {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPSTR lpDecimalSep;
+ LPSTR lpThousandSep;
+ UINT NegativeOrder;
+ UINT PositiveOrder;
+ LPSTR lpCurrencySymbol;
+ } CURRENCYFMTA,*LPCURRENCYFMTA;
+
+ typedef struct _currencyfmtW {
+ UINT NumDigits;
+ UINT LeadingZero;
+ UINT Grouping;
+ LPWSTR lpDecimalSep;
+ LPWSTR lpThousandSep;
+ UINT NegativeOrder;
+ UINT PositiveOrder;
+ LPWSTR lpCurrencySymbol;
+ } CURRENCYFMTW,*LPCURRENCYFMTW;
+
+#ifdef UNICODE
+ typedef CURRENCYFMTW CURRENCYFMT;
+ typedef LPCURRENCYFMTW LPCURRENCYFMT;
+#else
+ typedef CURRENCYFMTA CURRENCYFMT;
+ typedef LPCURRENCYFMTA LPCURRENCYFMT;
+#endif
+
+ enum SYSNLS_FUNCTION {
+ COMPARE_STRING = 0x0001
+ };
+
+ typedef DWORD NLS_FUNCTION;
+
+ typedef struct _nlsversioninfo{
+ DWORD dwNLSVersionInfoSize;
+ DWORD dwNLSVersion;
+ DWORD dwDefinedVersion;
+ } NLSVERSIONINFO,*LPNLSVERSIONINFO;
+
+ typedef LONG GEOID;
+ typedef DWORD GEOTYPE;
+ typedef DWORD GEOCLASS;
+
+#define GEOID_NOT_AVAILABLE -1
+
+ enum SYSGEOTYPE {
+ GEO_NATION = 0x0001,GEO_LATITUDE = 0x0002,GEO_LONGITUDE = 0x0003,GEO_ISO2 = 0x0004,GEO_ISO3 = 0x0005,GEO_RFC1766 = 0x0006,GEO_LCID = 0x0007,
+ GEO_FRIENDLYNAME= 0x0008,GEO_OFFICIALNAME= 0x0009,GEO_TIMEZONES = 0x000A,GEO_OFFICIALLANGUAGES = 0x000B
+ };
+
+ enum SYSGEOCLASS {
+ GEOCLASS_NATION = 16,GEOCLASS_REGION = 14
+ };
+
+ typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA)(LGRPID,LPSTR,LPSTR,DWORD,LONG_PTR);
+ typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA)(LGRPID,LCID,LPSTR,LONG_PTR);
+ typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCA)(LPSTR,LONG_PTR);
+ typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
+ typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
+ typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCA)(LPSTR);
+ typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXA)(LPSTR,CALID);
+ typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCA)(LPSTR);
+ typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCA)(LPSTR);
+ typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXA)(LPSTR,CALID);
+ typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW)(LGRPID,LPWSTR,LPWSTR,DWORD,LONG_PTR);
+ typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW)(LGRPID,LCID,LPWSTR,LONG_PTR);
+ typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCW)(LPWSTR,LONG_PTR);
+ typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
+ typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
+ typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCW)(LPWSTR);
+ typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXW)(LPWSTR,CALID);
+ typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCW)(LPWSTR);
+ typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCW)(LPWSTR);
+ typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXW)(LPWSTR,CALID);
+ typedef WINBOOL (CALLBACK *GEO_ENUMPROC)(GEOID);
+
+#ifdef UNICODE
+#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
+#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
+#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
#define LOCALE_ENUMPROC LOCALE_ENUMPROCW
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-#define CompareString CompareStringW
-#define EnumCalendarInfo EnumCalendarInfoW
-#define EnumSystemCodePages EnumSystemCodePagesW
-#define EnumSystemLocales EnumSystemLocalesW
-#define EnumTimeFormats EnumTimeFormatsW
-#define FoldString FoldStringW
-#define GetCPInfoEx GetCPInfoExW
-#define GetCurrencyFormat GetCurrencyFormatW
-#define GetDateFormat GetDateFormatW
-#define GetLocaleInfo GetLocaleInfoW
-#define GetNumberFormat GetNumberFormatW
-#define GetStringTypeEx GetStringTypeExW
-#define GetTimeFormat GetTimeFormatW
-#define LCMapString LCMapStringW
-#define SetLocaleInfo SetLocaleInfoW
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExW;
-#define EnumDateFormatsEx EnumDateFormatsExW;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW;
-#define EnumUILanguages EnumUILanguagesW;
-#endif /* (WINVER >= 0x0500) */
+#define CALINFO_ENUMPROC CALINFO_ENUMPROCW
+#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW
#else
-#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
-#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
+#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
+#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
+#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
-#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA
-#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA
-#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA
-typedef CPINFOEXA CPINFOEX;
-typedef LPCPINFOEXA LPCPINFOEX;
-typedef CURRENCYFMTA CURRENCYFMT;
-typedef LPCURRENCYFMTA LPCURRENCYFMT;
-typedef NUMBERFMTA NUMBERFMT;
-typedef LPNUMBERFMTA LPNUMBERFMT;
-#define CompareString CompareStringA
-#define EnumCalendarInfo EnumCalendarInfoA
-#define EnumSystemCodePages EnumSystemCodePagesA
-#define EnumSystemLocales EnumSystemLocalesA
-#define EnumTimeFormats EnumTimeFormatsA
-#define FoldString FoldStringA
+#define CALINFO_ENUMPROC CALINFO_ENUMPROCA
+#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
+#endif
+
+#ifdef UNICODE
+#define GetCPInfoEx GetCPInfoExW
+#define CompareString CompareStringW
+#define LCMapString LCMapStringW
+#define GetLocaleInfo GetLocaleInfoW
+#define SetLocaleInfo SetLocaleInfoW
+#define GetCalendarInfo GetCalendarInfoW
+#define SetCalendarInfo SetCalendarInfoW
+#define GetTimeFormat GetTimeFormatW
+#define GetDateFormat GetDateFormatW
+#define GetNumberFormat GetNumberFormatW
+#define GetCurrencyFormat GetCurrencyFormatW
+#define EnumCalendarInfo EnumCalendarInfoW
+#define EnumCalendarInfoEx EnumCalendarInfoExW
+#define EnumTimeFormats EnumTimeFormatsW
+#define EnumDateFormats EnumDateFormatsW
+#define EnumDateFormatsEx EnumDateFormatsExW
+#define GetGeoInfo GetGeoInfoW
+#define GetStringTypeEx GetStringTypeExW
+#define FoldString FoldStringW
+#define EnumSystemLanguageGroups EnumSystemLanguageGroupsW
+#define EnumLanguageGroupLocales EnumLanguageGroupLocalesW
+#define EnumUILanguages EnumUILanguagesW
+#define EnumSystemLocales EnumSystemLocalesW
+#define EnumSystemCodePages EnumSystemCodePagesW
+#else
#define GetCPInfoEx GetCPInfoExA
-#define GetCurrencyFormat GetCurrencyFormatA
-#define GetDateFormat GetDateFormatA
+#define CompareString CompareStringA
+#define LCMapString LCMapStringA
#define GetLocaleInfo GetLocaleInfoA
+#define SetLocaleInfo SetLocaleInfoA
+#define GetCalendarInfo GetCalendarInfoA
+#define SetCalendarInfo SetCalendarInfoA
+#define GetTimeFormat GetTimeFormatA
+#define GetDateFormat GetDateFormatA
#define GetNumberFormat GetNumberFormatA
+#define GetCurrencyFormat GetCurrencyFormatA
+#define EnumCalendarInfo EnumCalendarInfoA
+#define EnumCalendarInfoEx EnumCalendarInfoExA
+#define EnumTimeFormats EnumTimeFormatsA
+#define EnumDateFormats EnumDateFormatsA
+#define EnumDateFormatsEx EnumDateFormatsExA
+#define GetGeoInfo GetGeoInfoA
#define GetStringTypeEx GetStringTypeExA
-#define GetTimeFormat GetTimeFormatA
-#define LCMapString LCMapStringA
-#define SetLocaleInfo SetLocaleInfoA
-#if (WINVER >= 0x0500)
-#define EnumCalendarInfoEx EnumCalendarInfoExA;
-#define EnumDateFormatsEx EnumDateFormatsExA;
-#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA;
-#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA;
-#define EnumUILanguages EnumUILanguagesA;
-#endif /* (WINVER >= 0x0500) */
-#endif /* UNICODE */
-#endif /* RC_INVOKED */
+#define FoldString FoldStringA
+#define EnumSystemLanguageGroups EnumSystemLanguageGroupsA
+#define EnumLanguageGroupLocales EnumLanguageGroupLocalesA
+#define EnumUILanguages EnumUILanguagesA
+#define EnumSystemLocales EnumSystemLocalesA
+#define EnumSystemCodePages EnumSystemCodePagesA
+#endif
+
+ WINBASEAPI WINBOOL WINAPI IsValidCodePage(UINT CodePage);
+ WINBASEAPI UINT WINAPI GetACP(void);
+ WINBASEAPI UINT WINAPI GetOEMCP(void);
+ WINBASEAPI WINBOOL WINAPI GetCPInfo(UINT CodePage,LPCPINFO lpCPInfo);
+ WINBASEAPI WINBOOL WINAPI GetCPInfoExA(UINT CodePage,DWORD dwFlags,LPCPINFOEXA lpCPInfoEx);
+ WINBASEAPI WINBOOL WINAPI GetCPInfoExW(UINT CodePage,DWORD dwFlags,LPCPINFOEXW lpCPInfoEx);
+ WINBASEAPI WINBOOL WINAPI IsDBCSLeadByte(BYTE TestChar);
+ WINBASEAPI WINBOOL WINAPI IsDBCSLeadByteEx(UINT CodePage,BYTE TestChar);
+ WINBASEAPI int WINAPI MultiByteToWideChar(UINT CodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cbMultiByte,LPWSTR lpWideCharStr,int cchWideChar);
+ WINBASEAPI int WINAPI WideCharToMultiByte(UINT CodePage,DWORD dwFlags,LPCWSTR lpWideCharStr,int cchWideChar,LPSTR lpMultiByteStr,int cbMultiByte,LPCSTR lpDefaultChar,LPBOOL lpUsedDefaultChar);
+ WINBASEAPI int WINAPI CompareStringA(LCID Locale,DWORD dwCmpFlags,LPCSTR lpString1,int cchCount1,LPCSTR lpString2,int cchCount2);
+ WINBASEAPI int WINAPI CompareStringW(LCID Locale,DWORD dwCmpFlags,LPCWSTR lpString1,int cchCount1,LPCWSTR lpString2,int cchCount2);
+ WINBASEAPI int WINAPI LCMapStringA(LCID Locale,DWORD dwMapFlags,LPCSTR lpSrcStr,int cchSrc,LPSTR lpDestStr,int cchDest);
+ WINBASEAPI int WINAPI LCMapStringW(LCID Locale,DWORD dwMapFlags,LPCWSTR lpSrcStr,int cchSrc,LPWSTR lpDestStr,int cchDest);
+ WINBASEAPI int WINAPI GetLocaleInfoA(LCID Locale,LCTYPE LCType,LPSTR lpLCData,int cchData);
+ WINBASEAPI int WINAPI GetLocaleInfoW(LCID Locale,LCTYPE LCType,LPWSTR lpLCData,int cchData);
+ WINBASEAPI WINBOOL WINAPI SetLocaleInfoA(LCID Locale,LCTYPE LCType,LPCSTR lpLCData);
+ WINBASEAPI WINBOOL WINAPI SetLocaleInfoW(LCID Locale,LCTYPE LCType,LPCWSTR lpLCData);
+ WINBASEAPI int WINAPI GetCalendarInfoA(LCID Locale,CALID Calendar,CALTYPE CalType,LPSTR lpCalData,int cchData,LPDWORD lpValue);
+ WINBASEAPI int WINAPI GetCalendarInfoW(LCID Locale,CALID Calendar,CALTYPE CalType,LPWSTR lpCalData,int cchData,LPDWORD lpValue);
+ WINBASEAPI WINBOOL WINAPI SetCalendarInfoA(LCID Locale,CALID Calendar,CALTYPE CalType,LPCSTR lpCalData);
+ WINBASEAPI WINBOOL WINAPI SetCalendarInfoW(LCID Locale,CALID Calendar,CALTYPE CalType,LPCWSTR lpCalData);
+ WINBASEAPI int WINAPI GetTimeFormatA(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpTime,LPCSTR lpFormat,LPSTR lpTimeStr,int cchTime);
+ WINBASEAPI int WINAPI GetTimeFormatW(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpTime,LPCWSTR lpFormat,LPWSTR lpTimeStr,int cchTime);
+ WINBASEAPI int WINAPI GetDateFormatA(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpDate,LPCSTR lpFormat,LPSTR lpDateStr,int cchDate);
+ WINBASEAPI int WINAPI GetDateFormatW(LCID Locale,DWORD dwFlags,CONST SYSTEMTIME *lpDate,LPCWSTR lpFormat,LPWSTR lpDateStr,int cchDate);
+ WINBASEAPI int WINAPI GetNumberFormatA(LCID Locale,DWORD dwFlags,LPCSTR lpValue,CONST NUMBERFMTA *lpFormat,LPSTR lpNumberStr,int cchNumber);
+ WINBASEAPI int WINAPI GetNumberFormatW(LCID Locale,DWORD dwFlags,LPCWSTR lpValue,CONST NUMBERFMTW *lpFormat,LPWSTR lpNumberStr,int cchNumber);
+ WINBASEAPI int WINAPI GetCurrencyFormatA(LCID Locale,DWORD dwFlags,LPCSTR lpValue,CONST CURRENCYFMTA *lpFormat,LPSTR lpCurrencyStr,int cchCurrency);
+ WINBASEAPI int WINAPI GetCurrencyFormatW(LCID Locale,DWORD dwFlags,LPCWSTR lpValue,CONST CURRENCYFMTW *lpFormat,LPWSTR lpCurrencyStr,int cchCurrency);
+ WINBASEAPI WINBOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
+ WINBASEAPI WINBOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
+ WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExA(CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,LCID Locale,CALID Calendar,CALTYPE CalType);
+ WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExW(CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,LCID Locale,CALID Calendar,CALTYPE CalType);
+ WINBASEAPI WINBOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA lpDateFmtEnumProc,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW lpDateFmtEnumProc,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumDateFormatsExA(DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumDateFormatsExW(DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,LCID Locale,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI IsValidLanguageGroup(LGRPID LanguageGroup,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI GetNLSVersion(NLS_FUNCTION Function,LCID Locale,LPNLSVERSIONINFO lpVersionInformation);
+ WINBASEAPI WINBOOL WINAPI IsNLSDefinedString(NLS_FUNCTION Function,DWORD dwFlags,LPNLSVERSIONINFO lpVersionInformation,LPCWSTR lpString,INT cchStr);
+ WINBASEAPI WINBOOL WINAPI IsValidLocale(LCID Locale,DWORD dwFlags);
+ WINBASEAPI int WINAPI GetGeoInfoA(GEOID Location,GEOTYPE GeoType,LPSTR lpGeoData,int cchData,LANGID LangId);
+ WINBASEAPI int WINAPI GetGeoInfoW(GEOID Location,GEOTYPE GeoType,LPWSTR lpGeoData,int cchData,LANGID LangId);
+ WINBASEAPI WINBOOL WINAPI EnumSystemGeoID(GEOCLASS GeoClass,GEOID ParentGeoId,GEO_ENUMPROC lpGeoEnumProc);
+ WINBASEAPI GEOID WINAPI GetUserGeoID(GEOCLASS GeoClass);
+ WINBASEAPI WINBOOL WINAPI SetUserGeoID(GEOID GeoId);
+ WINBASEAPI LCID WINAPI ConvertDefaultLocale(LCID Locale);
+ WINBASEAPI LCID WINAPI GetThreadLocale(void);
+ WINBASEAPI WINBOOL WINAPI SetThreadLocale(LCID Locale);
+ WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage(void);
+ WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage(void);
+ WINBASEAPI LANGID WINAPI GetSystemDefaultLangID(void);
+ WINBASEAPI LANGID WINAPI GetUserDefaultLangID(void);
+ WINBASEAPI LCID WINAPI GetSystemDefaultLCID(void);
+ WINBASEAPI LCID WINAPI GetUserDefaultLCID(void);
+ WINBASEAPI WINBOOL WINAPI GetStringTypeExA(LCID Locale,DWORD dwInfoType,LPCSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
+ WINBASEAPI WINBOOL WINAPI GetStringTypeExW(LCID Locale,DWORD dwInfoType,LPCWSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
+ WINBASEAPI WINBOOL WINAPI GetStringTypeA(LCID Locale,DWORD dwInfoType,LPCSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
+ WINBASEAPI WINBOOL WINAPI GetStringTypeW(DWORD dwInfoType,LPCWSTR lpSrcStr,int cchSrc,LPWORD lpCharType);
+ WINBASEAPI int WINAPI FoldStringA(DWORD dwMapFlags,LPCSTR lpSrcStr,int cchSrc,LPSTR lpDestStr,int cchDest);
+ WINBASEAPI int WINAPI FoldStringW(DWORD dwMapFlags,LPCWSTR lpSrcStr,int cchSrc,LPWSTR lpDestStr,int cchDest);
+ WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,LGRPID LanguageGroup,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,LGRPID LanguageGroup,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumUILanguagesA(UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumUILanguagesW(UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,DWORD dwFlags,LONG_PTR lParam);
+ WINBASEAPI WINBOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA lpLocaleEnumProc,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW lpLocaleEnumProc,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA lpCodePageEnumProc,DWORD dwFlags);
+ WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW lpCodePageEnumProc,DWORD dwFlags);
+
+#endif
+
#ifdef __cplusplus
}
#endif