aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/winnls.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/winapi/src/um/winnls.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/winapi/src/um/winnls.rs')
-rw-r--r--vendor/winapi/src/um/winnls.rs817
1 files changed, 817 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/winnls.rs b/vendor/winapi/src/um/winnls.rs
new file mode 100644
index 0000000..fd68a23
--- /dev/null
+++ b/vendor/winapi/src/um/winnls.rs
@@ -0,0 +1,817 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! Procedure declarations, constant definitions, and macros for the NLS component.
+use ctypes::c_int;
+use shared::basetsd::LONG_PTR;
+use shared::guiddef::GUID;
+use shared::minwindef::{
+ BOOL, BYTE, DWORD, INT, LPARAM, LPDWORD, LPINT, LPVOID, LPWORD, MAX_PATH, PDWORD, PULONG,
+ UINT,
+};
+use um::minwinbase::SYSTEMTIME;
+use um::winnt::{
+ CHAR, LANGID, LCID, LONG, LPCSTR, LPCWCH, LPCWSTR, LPSTR, LPWSTR, PCNZCH, PCNZWCH, PCWSTR,
+ PCZZWSTR, PULONGLONG, PWSTR, PZZWSTR, ULONGLONG, WCHAR,
+};
+pub const MAX_LEADBYTES: usize = 12;
+pub const MAX_DEFAULTCHAR: usize = 2;
+pub const MB_PRECOMPOSED: DWORD = 0x00000001;
+pub const MB_COMPOSITE: DWORD = 0x00000002;
+pub const MB_USEGLYPHCHARS: DWORD = 0x00000004;
+pub const MB_ERR_INVALID_CHARS: DWORD = 0x00000008;
+pub const WC_COMPOSITECHECK: DWORD = 0x00000200;
+pub const WC_DISCARDNS: DWORD = 0x00000010;
+pub const WC_SEPCHARS: DWORD = 0x00000020;
+pub const WC_DEFAULTCHAR: DWORD = 0x00000040;
+pub const WC_ERR_INVALID_CHARS: DWORD = 0x00000080;
+pub const WC_NO_BEST_FIT_CHARS: DWORD = 0x00000400;
+pub const CP_ACP: DWORD = 0;
+pub const CP_OEMCP: DWORD = 1;
+pub const CP_MACCP: DWORD = 2;
+pub const CP_THREAD_ACP: DWORD = 3;
+pub const CP_SYMBOL: DWORD = 42;
+pub const CP_UTF7: DWORD = 65000;
+pub const CP_UTF8: DWORD = 65001;
+pub type LGRPID = DWORD;
+pub type LCTYPE = DWORD;
+pub type CALTYPE = DWORD;
+pub type CALID = DWORD;
+STRUCT!{struct CPINFO {
+ MaxCharSize: UINT,
+ DefaultChar: [BYTE; MAX_DEFAULTCHAR],
+ LeadByte: [BYTE; MAX_LEADBYTES],
+}}
+pub type LPCPINFO = *mut CPINFO;
+STRUCT!{struct CPINFOEXA {
+ MaxCharSize: UINT,
+ DefaultChar: [BYTE; MAX_DEFAULTCHAR],
+ LeadByte: [BYTE; MAX_LEADBYTES],
+ UnicodeDefaultChar: WCHAR,
+ CodePage: UINT,
+ CodePageName: [CHAR; MAX_PATH],
+}}
+pub type LPCPINFOEXA = *mut CPINFOEXA;
+STRUCT!{struct CPINFOEXW {
+ MaxCharSize: UINT,
+ DefaultChar: [BYTE; MAX_DEFAULTCHAR],
+ LeadByte: [BYTE; MAX_LEADBYTES],
+ UnicodeDefaultChar: WCHAR,
+ CodePage: UINT,
+ CodePageName: [WCHAR; MAX_PATH],
+}}
+pub type LPCPINFOEXW = *mut CPINFOEXW;
+STRUCT!{struct NUMBERFMTA {
+ NumDigits: UINT,
+ LeadingZero: UINT,
+ Grouping: UINT,
+ lpDecimalSep: LPSTR,
+ lpThousandSep: LPSTR,
+ NegativeOrder: UINT,
+}}
+pub type LPNUMBERFMTA = *mut NUMBERFMTA;
+STRUCT!{struct NUMBERFMTW {
+ NumDigits: UINT,
+ LeadingZero: UINT,
+ Grouping: UINT,
+ lpDecimalSep: LPWSTR,
+ lpThousandSep: LPWSTR,
+ NegativeOrder: UINT,
+}}
+pub type LPNUMBERFMTW = *mut NUMBERFMTW;
+STRUCT!{struct CURRENCYFMTA {
+ NumDigits: UINT,
+ LeadingZero: UINT,
+ Grouping: UINT,
+ lpDecimalSep: LPSTR,
+ lpThousandSep: LPSTR,
+ NegativeOrder: UINT,
+ PositiveOrder: UINT,
+ lpCurrencySymbol: LPSTR,
+}}
+pub type LPCURRENCYFMTA = *mut CURRENCYFMTA;
+STRUCT!{struct CURRENCYFMTW {
+ NumDigits: UINT,
+ LeadingZero: UINT,
+ Grouping: UINT,
+ lpDecimalSep: LPWSTR,
+ lpThousandSep: LPWSTR,
+ NegativeOrder: UINT,
+ PositiveOrder: UINT,
+ lpCurrencySymbol: LPWSTR,
+}}
+pub type LPCURRENCYFMTW = *mut CURRENCYFMTW;
+pub type NLS_FUNCTION = DWORD;
+STRUCT!{struct NLSVERSIONINFO {
+ dwNLSVersionInfoSize: DWORD,
+ dwNLSVersion: DWORD,
+ dwDefinedVersion: DWORD,
+ dwEffectiveId: DWORD,
+ guidCustomVersion: GUID,
+}}
+pub type LPNLSVERSIONINFO = *mut NLSVERSIONINFO;
+STRUCT!{struct NLSVERSIONINFOEX {
+ dwNLSVersionInfoSize: DWORD,
+ dwNLSVersion: DWORD,
+ dwDefinedVersion: DWORD,
+ dwEffectiveId: DWORD,
+ guidCustomVersion: GUID,
+}}
+pub type LPNLSVERSIONINFOEX = *mut NLSVERSIONINFOEX;
+pub type GEOID = LONG;
+pub type GEOTYPE = DWORD;
+pub type GEOCLASS = DWORD;
+ENUM!{enum NORM_FORM {
+ NormalizationOther = 0,
+ NormalizationC = 0x1,
+ NormalizationD = 0x2,
+ NormalizationKC = 0x5,
+ NormalizationKD = 0x6,
+}}
+FN!{stdcall LANGUAGEGROUP_ENUMPROCA(
+ LGRPID,
+ LPSTR,
+ LPSTR,
+ DWORD,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall LANGGROUPLOCALE_ENUMPROCA(
+ LGRPID,
+ LCID,
+ LPSTR,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall UILANGUAGE_ENUMPROCA(
+ LPSTR,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall CODEPAGE_ENUMPROCA(
+ LPSTR,
+) -> BOOL}
+FN!{stdcall DATEFMT_ENUMPROCA(
+ LPSTR,
+) -> BOOL}
+FN!{stdcall DATEFMT_ENUMPROCEXA(
+ LPSTR,
+ CALID,
+) -> BOOL}
+FN!{stdcall TIMEFMT_ENUMPROCA(
+ LPSTR,
+) -> BOOL}
+FN!{stdcall CALINFO_ENUMPROCA(
+ LPSTR,
+) -> BOOL}
+FN!{stdcall CALINFO_ENUMPROCEXA(
+ LPSTR,
+ CALID,
+) -> BOOL}
+FN!{stdcall LOCALE_ENUMPROCA(
+ LPSTR,
+) -> BOOL}
+FN!{stdcall LOCALE_ENUMPROCW(
+ LPWSTR,
+) -> BOOL}
+FN!{stdcall LANGUAGEGROUP_ENUMPROCW(
+ LGRPID,
+ LPWSTR,
+ LPWSTR,
+ DWORD,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall LANGGROUPLOCALE_ENUMPROCW(
+ LGRPID,
+ LCID,
+ LPWSTR,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall UILANGUAGE_ENUMPROCW(
+ LPWSTR,
+ LONG_PTR,
+) -> BOOL}
+FN!{stdcall CODEPAGE_ENUMPROCW(
+ LPWSTR,
+) -> BOOL}
+FN!{stdcall DATEFMT_ENUMPROCW(
+ LPWSTR,
+) -> BOOL}
+FN!{stdcall DATEFMT_ENUMPROCEXW(
+ LPWSTR,
+ CALID,
+) -> BOOL}
+FN!{stdcall TIMEFMT_ENUMPROCW(
+ LPWSTR,
+) -> BOOL}
+FN!{stdcall CALINFO_ENUMPROCW(
+ LPWSTR,
+) -> BOOL}
+FN!{stdcall CALINFO_ENUMPROCEXW(
+ LPWSTR,
+ CALID,
+) -> BOOL}
+FN!{stdcall GEO_ENUMPROC(
+ GEOID,
+) -> BOOL}
+STRUCT!{struct FILEMUIINFO {
+ dwSize: DWORD,
+ dwVersion: DWORD,
+ dwFileType: DWORD,
+ pChecksum: [BYTE; 16],
+ pServiceChecksum: [BYTE; 16],
+ dwLanguageNameOffset: DWORD,
+ dwTypeIDMainSize: DWORD,
+ dwTypeIDMainOffset: DWORD,
+ dwTypeNameMainOffset: DWORD,
+ dwTypeIDMUISize: DWORD,
+ dwTypeIDMUIOffset: DWORD,
+ dwTypeNameMUIOffset: DWORD,
+ abBuffer: [BYTE; 8],
+}}
+pub type PFILEMUIINFO = *mut FILEMUIINFO;
+FN!{stdcall CALINFO_ENUMPROCEXEX(
+ LPWSTR,
+ CALID,
+ LPWSTR,
+ LPARAM,
+) -> BOOL}
+FN!{stdcall DATEFMT_ENUMPROCEXEX(
+ LPWSTR,
+ CALID,
+ LPARAM,
+) -> BOOL}
+FN!{stdcall TIMEFMT_ENUMPROCEX(
+ LPWSTR,
+ LPARAM,
+) -> BOOL}
+FN!{stdcall LOCALE_ENUMPROCEX(
+ LPWSTR,
+ DWORD,
+ LPARAM,
+) -> BOOL}
+extern "system" {
+ pub fn CompareStringA(
+ Locale: LCID,
+ dwCmpFlags: DWORD,
+ lpString1: PCNZCH,
+ cchCount1: c_int,
+ lpString2: PCNZCH,
+ cchCount2: c_int,
+ ) -> c_int;
+ pub fn CompareStringEx(
+ lpLocaleName: LPCWSTR,
+ dwCmpFlags: DWORD,
+ lpString1: LPCWCH,
+ cchCount1: c_int,
+ lpString2: LPCWCH,
+ cchCount2: c_int,
+ lpVersionInformation: LPNLSVERSIONINFO,
+ lpReserved: LPVOID,
+ lParam: LPARAM,
+ ) -> c_int;
+ pub fn CompareStringW(
+ Locale: LCID,
+ dwCmpFlags: DWORD,
+ lpString1: PCNZWCH,
+ cchCount1: c_int,
+ lpString2: PCNZWCH,
+ cchCount2: c_int,
+ ) -> c_int;
+ pub fn ConvertDefaultLocale(Locale: LCID) -> LCID;
+ pub fn EnumCalendarInfoA(
+ lpCalInfoEnumProc: CALINFO_ENUMPROCA,
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ ) -> BOOL;
+ pub fn EnumCalendarInfoExA(
+ lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXA,
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ ) -> BOOL;
+ pub fn EnumCalendarInfoExEx(
+ pCalInfoEnumProcExEx: CALINFO_ENUMPROCEXEX,
+ lpLocaleName: LPCWSTR,
+ Calendar: CALID,
+ lpReserved: LPCWSTR,
+ CalType: CALTYPE,
+ lParam: LPARAM,
+ ) -> BOOL;
+ pub fn EnumCalendarInfoExW(
+ lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXW,
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ ) -> BOOL;
+ pub fn EnumCalendarInfoW(
+ lpCalInfoEnumProc: CALINFO_ENUMPROCW,
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ ) -> BOOL;
+ pub fn EnumDateFormatsA(
+ lpDateFmtEnumProc: DATEFMT_ENUMPROCA,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumDateFormatsExA(
+ lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXA,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumDateFormatsExEx(
+ lpDateFmtEnumProcExEx: DATEFMT_ENUMPROCEXEX,
+ lpLocaleName: LPCWSTR,
+ dwFlags: DWORD,
+ lParam: LPARAM,
+ ) -> BOOL;
+ pub fn EnumDateFormatsExW(
+ lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXW,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumDateFormatsW(
+ lpDateFmtEnumProc: DATEFMT_ENUMPROCW,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumLanguageGroupLocalesA(
+ lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCA,
+ LanguageGroup: LGRPID,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn EnumLanguageGroupLocalesW(
+ lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCW,
+ LanguageGroup: LGRPID,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn EnumSystemCodePagesA(
+ lpCodePageEnumProc: CODEPAGE_ENUMPROCA,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumSystemCodePagesW(
+ lpCodePageEnumProc: CODEPAGE_ENUMPROCW,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumSystemGeoID(
+ GeoClass: GEOCLASS,
+ ParentGeoId: GEOID,
+ lpGeoEnumProc: GEO_ENUMPROC,
+ ) -> BOOL;
+ pub fn EnumSystemLanguageGroupsA(
+ lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCA,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn EnumSystemLanguageGroupsW(
+ lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCW,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn EnumSystemLocalesA(
+ lpLocaleEnumProc: LOCALE_ENUMPROCA,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumSystemLocalesEx(
+ lpLocaleEnumProcEx: LOCALE_ENUMPROCEX,
+ dwFlags: DWORD,
+ lParam: LPARAM,
+ lpReserved: LPVOID,
+ ) -> BOOL;
+ pub fn EnumSystemLocalesW(
+ lpLocaleEnumProc: LOCALE_ENUMPROCW,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumTimeFormatsA(
+ lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumTimeFormatsEx(
+ lpTimeFmtEnumProcEx: TIMEFMT_ENUMPROCEX,
+ lpLocaleName: LPCWSTR,
+ dwFlags: DWORD,
+ lParam: LPARAM,
+ ) -> BOOL;
+ pub fn EnumTimeFormatsW(
+ lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW,
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn EnumUILanguagesA(
+ lpUILanguageEnumProc: UILANGUAGE_ENUMPROCA,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn EnumUILanguagesW(
+ lpUILanguageEnumProc: UILANGUAGE_ENUMPROCW,
+ dwFlags: DWORD,
+ lParam: LONG_PTR,
+ ) -> BOOL;
+ pub fn FindNLSString(
+ Locale: LCID,
+ dwFindNLSStringFlags: DWORD,
+ lpStringSource: LPCWSTR,
+ cchSource: c_int,
+ lpStringValue: LPCWSTR,
+ cchValue: c_int,
+ pcchFound: LPINT,
+ ) -> c_int;
+ pub fn FindNLSStringEx(
+ lpLocaleName: LPCWSTR,
+ dwFindNLSStringFlags: DWORD,
+ lpStringSource: LPCWSTR,
+ cchSource: c_int,
+ lpStringValue: LPCWSTR,
+ cchValue: c_int,
+ pcchFound: LPINT,
+ lpVersionInformation: LPNLSVERSIONINFO,
+ lpReserved: LPVOID,
+ sortHandle: LPARAM,
+ ) -> c_int;
+ pub fn FoldStringA(
+ dwMapFlags: DWORD,
+ lpSrcStr: LPCSTR,
+ cchSrc: c_int,
+ lpDestStr: LPSTR,
+ cchDest: c_int,
+ ) -> c_int;
+ pub fn GetACP() -> UINT;
+ pub fn GetCPInfo(
+ CodePage: UINT,
+ lpCPInfo: LPCPINFO,
+ ) -> BOOL;
+ pub fn GetCPInfoExA(
+ CodePage: UINT,
+ dwFlags: DWORD,
+ lpCPInfoEx: LPCPINFOEXA,
+ ) -> BOOL;
+ pub fn GetCPInfoExW(
+ CodePage: UINT,
+ dwFlags: DWORD,
+ lpCPInfoEx: LPCPINFOEXW,
+ ) -> BOOL;
+ pub fn GetCalendarInfoA(
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ lpCalData: LPSTR,
+ cchData: c_int,
+ lpValue: LPDWORD,
+ ) -> c_int;
+ pub fn GetCalendarInfoEx(
+ lpLocaleName: LPCWSTR,
+ Calendar: CALID,
+ lpReserved: LPCWSTR,
+ CalType: CALTYPE,
+ lpCalData: LPWSTR,
+ cchData: c_int,
+ lpValue: LPDWORD,
+ ) -> c_int;
+ pub fn GetCalendarInfoW(
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ lpCalData: LPWSTR,
+ cchData: c_int,
+ lpValue: LPDWORD,
+ ) -> c_int;
+ pub fn GetCurrencyFormatA(
+ Locale: LCID,
+ dwFlags: DWORD,
+ lpValue: LPCSTR,
+ lpFormat: *const CURRENCYFMTA,
+ lpCurrencyStr: LPSTR,
+ cchCurrency: c_int,
+ ) -> c_int;
+ pub fn GetCurrencyFormatEx(
+ lpLocaleName: LPCWSTR,
+ dwFlags: DWORD,
+ lpValue: LPCWSTR,
+ lpFormat: *const CURRENCYFMTW,
+ lpCurrencyStr: LPWSTR,
+ cchCurrency: c_int,
+ ) -> c_int;
+ pub fn GetCurrencyFormatW(
+ Locale: LCID,
+ dwFlags: DWORD,
+ lpValue: LPCWSTR,
+ lpFormat: *const CURRENCYFMTW,
+ lpCurrencyStr: LPWSTR,
+ cchCurrency: c_int,
+ ) -> c_int;
+ pub fn GetDurationFormat(
+ Locale: LCID,
+ dwFlags: DWORD,
+ lpDuration: *const SYSTEMTIME,
+ ullDuration: ULONGLONG,
+ lpFormat: LPCWSTR,
+ lpDurationStr: LPWSTR,
+ cchDuration: c_int,
+ ) -> c_int;
+ pub fn GetDurationFormatEx(
+ lpLocaleName: LPCWSTR,
+ dwFlags: DWORD,
+ lpDuration: *const SYSTEMTIME,
+ ullDuration: ULONGLONG,
+ lpFormat: LPCWSTR,
+ lpDurationStr: LPWSTR,
+ cchDuration: c_int,
+ ) -> c_int;
+ pub fn GetFileMUIInfo(
+ dwFlags: DWORD,
+ pcwszFilePath: PCWSTR,
+ pFileMUIInfo: PFILEMUIINFO,
+ pcbFileMUIInfo: *mut DWORD,
+ ) -> BOOL;
+ pub fn GetFileMUIPath(
+ dwFlags: DWORD,
+ pcwszFilePath: PCWSTR,
+ pwszLanguage: PWSTR,
+ pcchLanguage: PULONG,
+ pwszFileMUIPath: PWSTR,
+ pcchFileMUIPath: PULONG,
+ pululEnumerator: PULONGLONG,
+ ) -> BOOL;
+ pub fn GetGeoInfoA(
+ Location: GEOID,
+ GeoType: GEOTYPE,
+ lpGeoData: LPSTR,
+ cchData: c_int,
+ LangId: LANGID,
+ ) -> c_int;
+ pub fn GetGeoInfoW(
+ Location: GEOID,
+ GeoType: GEOTYPE,
+ lpGeoData: LPWSTR,
+ cchData: c_int,
+ LangId: LANGID,
+ ) -> c_int;
+ pub fn GetLocaleInfoA(
+ Locale: LCID,
+ LCType: LCTYPE,
+ lpLCData: LPSTR,
+ cchData: c_int,
+ ) -> c_int;
+ pub fn GetLocaleInfoEx(
+ lpLocaleName: LPCWSTR,
+ LCType: LCTYPE,
+ lpLCData: LPWSTR,
+ cchData: c_int,
+ ) -> c_int;
+ pub fn GetLocaleInfoW(
+ Locale: LCID,
+ LCType: LCTYPE,
+ lpLCData: LPWSTR,
+ cchData: c_int,
+ ) -> c_int;
+ pub fn GetNLSVersion(
+ Function: NLS_FUNCTION,
+ Locale: LCID,
+ lpVersionInformation: LPNLSVERSIONINFO,
+ ) -> BOOL;
+ pub fn GetNLSVersionEx(
+ function: NLS_FUNCTION,
+ lpLocaleName: LPCWSTR,
+ lpVersionInformation: LPNLSVERSIONINFOEX,
+ ) -> BOOL;
+ pub fn GetNumberFormatA(
+ Locale: LCID,
+ dwFlags: DWORD,
+ lpValue: LPCSTR,
+ lpFormat: *const NUMBERFMTA,
+ lpNumberStr: LPSTR,
+ cchNumber: c_int,
+ ) -> c_int;
+ pub fn GetNumberFormatEx(
+ lpLocaleName: LPCWSTR,
+ dwFlags: DWORD,
+ lpValue: LPCWSTR,
+ lpFormat: *const NUMBERFMTW,
+ lpNumberStr: LPWSTR,
+ cchNumber: c_int,
+ ) -> c_int;
+ pub fn GetNumberFormatW(
+ Locale: LCID,
+ dwFlags: DWORD,
+ lpValue: LPCWSTR,
+ lpFormat: *const NUMBERFMTW,
+ lpNumberStr: LPWSTR,
+ cchNumber: c_int,
+ ) -> c_int;
+ pub fn GetOEMCP() -> UINT;
+ pub fn GetProcessPreferredUILanguages(
+ dwFlags: DWORD,
+ pulNumLanguages: PULONG,
+ pwszLanguagesBuffer: PZZWSTR,
+ pcchLanguagesBuffer: PULONG,
+ ) -> BOOL;
+ pub fn GetStringScripts(
+ dwFlags: DWORD,
+ lpString: LPCWSTR,
+ cchString: c_int,
+ lpScripts: LPWSTR,
+ cchScripts: c_int,
+ ) -> c_int;
+ pub fn GetStringTypeA(
+ Locale: LCID,
+ dwInfoType: DWORD,
+ lpSrcStr: LPCSTR,
+ cchSrc: c_int,
+ lpCharType: LPWORD,
+ ) -> BOOL;
+ pub fn GetStringTypeExA(
+ Locale: LCID,
+ dwInfoType: DWORD,
+ lpSrcStr: LPCSTR,
+ cchSrc: c_int,
+ lpCharType: LPWORD,
+ ) -> BOOL;
+ pub fn GetStringTypeW(
+ dwInfoType: DWORD,
+ lpSrcStr: LPCWCH,
+ cchSrc: c_int,
+ lpCharType: LPWORD,
+ ) -> BOOL;
+ pub fn GetSystemDefaultLCID() -> LCID;
+ pub fn GetSystemDefaultLangID() -> LANGID;
+ pub fn GetSystemDefaultLocaleName(
+ lpLocaleName: LPWSTR,
+ cchLocaleName: c_int,
+ ) -> c_int;
+ pub fn GetSystemDefaultUILanguage() -> LANGID;
+ pub fn GetSystemPreferredUILanguages(
+ dwFlags: DWORD,
+ pulNumLanguages: PULONG,
+ pwszLanguagesBuffer: PZZWSTR,
+ pcchLanguagesBuffer: PULONG,
+ ) -> BOOL;
+ pub fn GetThreadLocale() -> LCID;
+ pub fn GetThreadPreferredUILanguages(
+ dwFlags: DWORD,
+ pulNumLanguages: PULONG,
+ pwszLanguagesBuffer: PZZWSTR,
+ pcchLanguagesBuffer: PULONG,
+ ) -> BOOL;
+ pub fn GetThreadUILanguage() -> LANGID;
+ pub fn GetUILanguageInfo(
+ dwFlags: DWORD,
+ pwmszLanguage: PCZZWSTR,
+ pwszFallbackLanguages: PZZWSTR,
+ pcchFallbackLanguages: PDWORD,
+ pAttributes: PDWORD,
+ ) -> BOOL;
+ pub fn GetUserDefaultLCID() -> LCID;
+ pub fn GetUserDefaultLangID() -> LANGID;
+ pub fn GetUserDefaultLocaleName(
+ lpLocaleName: LPWSTR,
+ cchLocaleName: c_int,
+ ) -> c_int;
+ pub fn GetUserDefaultUILanguage() -> LANGID;
+ pub fn GetUserGeoID(GeoClass: GEOCLASS) -> GEOID;
+ pub fn GetUserPreferredUILanguages(
+ dwFlags: DWORD,
+ pulNumLanguages: PULONG,
+ pwszLanguagesBuffer: PZZWSTR,
+ pcchLanguagesBuffer: PULONG,
+ ) -> BOOL;
+ pub fn IsDBCSLeadByte(
+ TestChar: BYTE,
+ ) -> BOOL;
+ pub fn IsDBCSLeadByteEx(
+ CodePage: UINT,
+ TestChar: BYTE,
+ ) -> BOOL;
+ pub fn IsNLSDefinedString(
+ Function: NLS_FUNCTION,
+ dwFlags: DWORD,
+ lpVersionInformation: LPNLSVERSIONINFO,
+ lpString: LPCWSTR,
+ cchStr: INT,
+ ) -> BOOL;
+ pub fn IsNormalizedString(
+ NormForm: NORM_FORM,
+ lpString: LPCWSTR,
+ cwLength: c_int,
+ ) -> BOOL;
+ pub fn IsValidCodePage(
+ CodePage: UINT,
+ ) -> BOOL;
+ pub fn IsValidLanguageGroup(
+ LanguageGroup: LGRPID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn IsValidLocale(
+ Locale: LCID,
+ dwFlags: DWORD,
+ ) -> BOOL;
+ pub fn IsValidLocaleName(
+ lpLocaleName: LPCWSTR,
+ ) -> BOOL;
+ pub fn IsValidNLSVersion(
+ function: NLS_FUNCTION,
+ lpLocaleName: LPCWSTR,
+ lpVersionInformation: LPNLSVERSIONINFOEX,
+ ) -> BOOL;
+ pub fn LCIDToLocaleName(
+ Locale: LCID,
+ lpName: LPWSTR,
+ cchName: c_int,
+ dwFlags: DWORD,
+ ) -> c_int;
+ pub fn LCMapStringA(
+ Locale: LCID,
+ dwMapFlags: DWORD,
+ lpSrcStr: LPCSTR,
+ cchSrc: c_int,
+ lpDestStr: LPSTR,
+ cchDest: c_int,
+ ) -> c_int;
+ pub fn LCMapStringEx(
+ lpLocaleName: LPCWSTR,
+ dwMapFlags: DWORD,
+ lpSrcStr: LPCWSTR,
+ cchSrc: c_int,
+ lpDestStr: LPWSTR,
+ cchDest: c_int,
+ lpVersionInformation: LPNLSVERSIONINFO,
+ lpReserved: LPVOID,
+ sortHandle: LPARAM,
+ ) -> c_int;
+ pub fn LCMapStringW(
+ Locale: LCID,
+ dwMapFlags: DWORD,
+ lpSrcStr: LPCWSTR,
+ cchSrc: c_int,
+ lpDestStr: LPWSTR,
+ cchDest: c_int,
+ ) -> c_int;
+ pub fn LocaleNameToLCID(
+ lpName: LPCWSTR,
+ dwFlags: DWORD,
+ ) -> LCID;
+ pub fn NormalizeString(
+ NormForm: NORM_FORM,
+ lpSrcString: LPCWSTR,
+ cwSrcLength: c_int,
+ lpDstString: LPWSTR,
+ cwDstLength: c_int,
+ ) -> c_int;
+ pub fn NotifyUILanguageChange(
+ dwFlags: DWORD,
+ pcwstrNewLanguage: PCWSTR,
+ pcwstrPreviousLanguage: PCWSTR,
+ dwReserved: DWORD,
+ pdwStatusRtrn: PDWORD,
+ ) -> BOOL;
+ pub fn ResolveLocaleName(
+ lpNameToResolve: LPCWSTR,
+ lpLocaleName: LPWSTR,
+ cchLocaleName: c_int,
+ ) -> c_int;
+ pub fn SetCalendarInfoA(
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ lpCalData: LPCSTR,
+ ) -> BOOL;
+ pub fn SetCalendarInfoW(
+ Locale: LCID,
+ Calendar: CALID,
+ CalType: CALTYPE,
+ lpCalData: LPCWSTR,
+ ) -> BOOL;
+ pub fn SetLocaleInfoA(
+ Locale: LCID,
+ LCType: LCTYPE,
+ lpLCData: LPCSTR,
+ ) -> BOOL;
+ pub fn SetLocaleInfoW(
+ Locale: LCID,
+ LCType: LCTYPE,
+ lpLCData: LPCWSTR,
+ ) -> BOOL;
+ pub fn SetProcessPreferredUILanguages(
+ dwFlags: DWORD,
+ pwszLanguagesBuffer: PCZZWSTR,
+ pulNumLanguages: PULONG,
+ ) -> BOOL;
+ pub fn SetThreadLocale(Locale: LCID) -> BOOL;
+ pub fn SetThreadPreferredUILanguages(
+ dwFlags: DWORD,
+ pwszLanguagesBuffer: PCZZWSTR,
+ pulNumLanguages: PULONG,
+ ) -> BOOL;
+ pub fn SetThreadUILanguage(LangId: LANGID) -> LANGID;
+ pub fn SetUserGeoID(GeoId: GEOID) -> BOOL;
+ pub fn VerifyScripts(
+ dwFlags: DWORD,
+ lpLocaleScripts: LPCWSTR,
+ cchLocaleScripts: c_int,
+ lpTestScripts: LPCWSTR,
+ cchTestScripts: c_int,
+ ) -> BOOL;
+}