// 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.
//! Type definitions for the basic types.
use ctypes::{
    __int64, __uint64, c_char, c_double, c_int, c_long, c_schar, c_short, c_uchar, c_ulong,
    c_ushort, c_void, wchar_t
};
use shared::basetsd::{KAFFINITY, LONG_PTR, ULONG64, ULONG_PTR};
use shared::guiddef::GUID;
#[cfg(target_arch = "x86_64")]
IFDEF!{
pub const MAX_NATURAL_ALIGNMENT: usize = 8;
pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 16;
}
#[cfg(not(target_arch = "x86_64"))]
IFDEF!{
pub const MAX_NATURAL_ALIGNMENT: usize = 4;
pub const MEMORY_ALLOCATION_ALIGNMENT: usize = 8;
}
#[cfg(any(target_arch = "x86_64", target_arch = "x86"))]
pub const SYSTEM_CACHE_ALIGNMENT_SIZE: usize = 64;
#[cfg(not(any(target_arch = "x86_64", target_arch = "x86")))]
pub const SYSTEM_CACHE_ALIGNMENT_SIZE: usize = 128;
pub type PVOID = *mut c_void;
pub type PVOID64 = u64; // This is a 64-bit pointer, even when in 32-bit
pub type VOID = c_void;
pub type CHAR = c_char;
pub type SHORT = c_short;
pub type LONG = c_long;
pub type INT = c_int;
pub type WCHAR = wchar_t;
pub type PWCHAR = *mut WCHAR;
pub type LPWCH = *mut WCHAR;
pub type PWCH = *mut WCHAR;
pub type LPCWCH = *const WCHAR;
pub type PCWCH = *const WCHAR;
pub type NWPSTR = *mut WCHAR;
pub type LPWSTR = *mut WCHAR;
pub type LPTSTR = LPSTR;
pub type PWSTR = *mut WCHAR;
pub type PZPWSTR = *mut PWSTR;
pub type PCZPWSTR = *const PWSTR;
pub type LPUWSTR = *mut WCHAR; // Unaligned pointer
pub type PUWSTR = *mut WCHAR; // Unaligned pointer
pub type LPCWSTR = *const WCHAR;
pub type PCWSTR = *const WCHAR;
pub type PZPCWSTR = *mut PCWSTR;
pub type PCZPCWSTR = *const PCWSTR;
pub type LPCUWSTR = *const WCHAR; // Unaligned pointer
pub type PCUWSTR = *const WCHAR; // Unaligned pointer
pub type PZZWSTR = *mut WCHAR;
pub type PCZZWSTR = *const WCHAR;
pub type PUZZWSTR = *mut WCHAR; // Unaligned pointer
pub type PCUZZWSTR = *const WCHAR; // Unaligned pointer
pub type PNZWCH = *mut WCHAR;
pub type PCNZWCH = *const WCHAR;
pub type PUNZWCH = *mut WCHAR; // Unaligned pointer
pub type PCUNZWCH = *const WCHAR; // Unaligned pointer
pub type LPCWCHAR = *const WCHAR;
pub type PCWCHAR = *const WCHAR;
pub type LPCUWCHAR = *const WCHAR; // Unaligned pointer
pub type PCUWCHAR = *const WCHAR; // Unaligned pointer
pub type UCSCHAR = c_ulong;
pub const UCSCHAR_INVALID_CHARACTER: UCSCHAR = 0xffffffff;
pub const MIN_UCSCHAR: UCSCHAR = 0;
pub const MAX_UCSCHAR: UCSCHAR = 0x0010FFFF;
pub type PUCSCHAR = *mut UCSCHAR;
pub type PCUCSCHAR = *const UCSCHAR;
pub type PUCSSTR = *mut UCSCHAR;
pub type PUUCSSTR = *mut UCSCHAR; // Unaligned pointer
pub type PCUCSSTR = *const UCSCHAR;
pub type PCUUCSSTR = *const UCSCHAR; // Unaligned pointer
pub type PUUCSCHAR = *mut UCSCHAR; // Unaligned pointer
pub type PCUUCSCHAR = *const UCSCHAR; // Unaligned pointer
pub type PCHAR = *mut CHAR;
pub type LPCH = *mut CHAR;
pub type PCH = *mut CHAR;
pub type LPCCH = *const CHAR;
pub type PCCH = *const CHAR;
pub type NPSTR = *mut CHAR;
pub type LPSTR = *mut CHAR;
pub type PSTR = *mut CHAR;
pub type PZPSTR = *mut PSTR;
pub type PCZPSTR = *const PSTR;
pub type LPCSTR = *const CHAR;
pub type PCSTR = *const CHAR;
pub type PZPCSTR = *mut PCSTR;
pub type PCZPCSTR = *const PCSTR;
pub type PZZSTR = *mut CHAR;
pub type PCZZSTR = *const CHAR;
pub type PNZCH = *mut CHAR;
pub type PCNZCH = *const CHAR;
// Skipping TCHAR things
pub type DOUBLE = c_double;
STRUCT!{struct QUAD {
    UseThisFieldToCopy: __int64,
}}
pub type PSHORT = *mut SHORT;
pub type PLONG = *mut LONG;
pub type PQUAD = *mut QUAD;
pub type UCHAR = c_uchar;
pub type USHORT = c_ushort;
pub type ULONG = c_ulong;
pub type UQUAD = QUAD;
pub type PUCHAR = *mut UCHAR;
pub type PUSHORT = *mut USHORT;
pub type PULONG = *mut ULONG;
pub type PUQUAD = *mut UQUAD;
pub type PCUCHAR = *const UCHAR;
pub type PCUSHORT = *const USHORT;
pub type PCULONG = *const ULONG;
pub type PCUQUAD = *const UQUAD;
pub type SCHAR = c_schar;
pub type PSCHAR = *mut SCHAR;
pub type PCSCHAR = *const SCHAR;
pub const ALL_PROCESSOR_GROUPS: USHORT = 0xffff;
STRUCT!{struct PROCESSOR_NUMBER {
    Group: USHORT,
    Number: UCHAR,
    Reserved: UCHAR,
}}
pub type PPROCESSOR_NUMBER = *mut PROCESSOR_NUMBER;
STRUCT!{struct GROUP_AFFINITY {
    Mask: KAFFINITY,
    Group: USHORT,
    Reserved: [USHORT; 3],
}}
pub type PGROUP_AFFINITY = *mut GROUP_AFFINITY;
#[cfg(target_arch = "x86_64")]
pub const MAXIMUM_PROC_PER_GROUP: UCHAR = 64;
#[cfg(not(target_arch = "x86_64"))]
pub const MAXIMUM_PROC_PER_GROUP: UCHAR = 32;
pub const MAXIMUM_PROCESSORS: UCHAR = MAXIMUM_PROC_PER_GROUP;
pub type HANDLE = *mut c_void;
pub type PHANDLE = *mut HANDLE;
pub type FCHAR = UCHAR;
pub type FSHORT = USHORT;
pub type FLONG = ULONG;
pub type HRESULT = c_long;
pub const OBJ_HANDLE_TAGBITS: usize = 0x00000003;
pub type CCHAR = c_char;
pub type CSHORT = c_short;
pub type CLONG = ULONG;
pub type PCCHAR = *mut CCHAR;
pub type PCSHORT = *mut CSHORT;
pub type PCLONG = *mut CLONG;
pub type LCID = ULONG;
pub type PLCID = PULONG;
pub type LANGID = USHORT;
ENUM!{enum COMPARTMENT_ID {
    UNSPECIFIED_COMPARTMENT_ID = 0,
    DEFAULT_COMPARTMENT_ID,
}}
pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID;
pub type LOGICAL = ULONG;
pub type PLOGICAL = *mut ULONG;
pub type NTSTATUS = LONG;
pub type PNTSTATUS = *mut NTSTATUS;
pub type PCNTSTATUS = *const NTSTATUS;
#[inline]
pub fn NT_SUCCESS(Status: NTSTATUS) -> bool {
    Status >= 0
}
#[inline]
pub fn NT_INFORMATION(Status: NTSTATUS) -> bool {
    ((Status as ULONG) >> 30) == 1
}
#[inline]
pub fn NT_WARNING(Status: NTSTATUS) -> bool {
    ((Status as ULONG) >> 30) == 2
}
#[inline]
pub fn NT_ERROR(Status: NTSTATUS) -> bool {
    ((Status as ULONG) >> 30) == 3
}
pub const APPLICATION_ERROR_MASK: ULONG = 0x20000000;
pub const ERROR_SEVERITY_SUCCESS: ULONG = 0x00000000;
pub const ERROR_SEVERITY_INFORMATIONAL: ULONG = 0x40000000;
pub const ERROR_SEVERITY_WARNING: ULONG = 0x80000000;
pub const ERROR_SEVERITY_ERROR: ULONG = 0xC0000000;
pub type SECURITY_STATUS = c_long;
pub type TIME = LARGE_INTEGER;
pub type PTIME = *mut TIME;
STRUCT!{struct FLOAT128 {
    LowPart: __int64,
    HighPart: __int64,
}}
pub type PFLOAT128 = *mut FLOAT128;
pub type LONGLONG = __int64;
pub type ULONGLONG = __uint64;
pub const MAXLONGLONG: LONGLONG = 0x7fffffffffffffff;
pub type PLONGLONG = *mut LONGLONG;
pub type PULONGLONG = *mut ULONGLONG;
pub type USN = LONGLONG;
UNION!{union LARGE_INTEGER {
    [i64; 1],
    s s_mut: LARGE_INTEGER_s,
    u u_mut: LARGE_INTEGER_u,
    QuadPart QuadPart_mut: LONGLONG,
}}
STRUCT!{struct LARGE_INTEGER_s {
    LowPart: ULONG,
    HighPart: LONG,
}}
STRUCT!{struct LARGE_INTEGER_u {
    LowPart: ULONG,
    HighPart: LONG,
}}
pub type PLARGE_INTEGER = *mut LARGE_INTEGER;
UNION!{union ULARGE_INTEGER {
    [u64; 1],
    s s_mut: ULARGE_INTEGER_s,
    u u_mut: ULARGE_INTEGER_s,
    QuadPart QuadPart_mut: ULONGLONG,
}}
STRUCT!{struct ULARGE_INTEGER_s {
    LowPart: ULONG,
    HighPart: ULONG,
}}
STRUCT!{struct ULARGE_INTEGER_u {
    LowPart: ULONG,
    HighPart: ULONG,
}}
pub type PULARGE_INTEGER = *mut ULARGE_INTEGER;
pub type RTL_REFERENCE_COUNT = LONG_PTR;
pub type PRTL_REFERENCE_COUNT = *mut RTL_REFERENCE_COUNT;
STRUCT!{struct LUID {
    LowPart: ULONG,
    HighPart: LONG,
}}
pub type PLUID = *mut LUID;
pub type DWORDLONG = ULONGLONG;
pub type PDWORDLONG = *mut DWORDLONG;
pub type PHYSICAL_ADDRESS = LARGE_INTEGER;
pub type PPHYSICAL_ADDRESS = *mut PHYSICAL_ADDRESS;
ENUM!{enum EVENT_TYPE {
    NotificationEvent,
    SynchronizationEvent,
}}
ENUM!{enum TIMER_TYPE {
    NotificationTimer,
    SynchronizationTimer,
}}
ENUM!{enum WAIT_TYPE {
    WaitAll,
    WaitAny,
    WaitNotification,
    WaitDequeue,
}}
pub type PSZ = *mut CHAR;
pub type PCSZ = *const c_char;
pub type RTL_STRING_LENGTH_TYPE = USHORT;
STRUCT!{struct STRING {
    Length: USHORT,
    MaximumLength: USHORT,
    Buffer: PCHAR,
}}
pub type PSTRING = *mut STRING;
pub type ANSI_STRING = STRING;
pub type PANSI_STRING = PSTRING;
pub type OEM_STRING = STRING;
pub type POEM_STRING = PSTRING;
pub type PCOEM_STRING = *const STRING;
STRUCT!{struct CSTRING {
    Length: USHORT,
    MaximumLength: USHORT,
    Buffer: *const c_char,
}}
pub type PCSTRING = *mut CSTRING;
pub const ANSI_NULL: CHAR = 0;
pub type CANSI_STRING = STRING;
pub type PCANSI_STRING = PSTRING;
STRUCT!{struct UNICODE_STRING {
    Length: USHORT,
    MaximumLength: USHORT,
    Buffer: PWCH,
}}
pub type PUNICODE_STRING = *mut UNICODE_STRING;
pub type PCUNICODE_STRING = *const UNICODE_STRING;
pub const UNICODE_NULL: WCHAR = 0;
pub const UNICODE_STRING_MAX_BYTES: USHORT = 65534;
pub const UNICODE_STRING_MAX_CHARS: usize = 32767;
pub type BOOLEAN = UCHAR;
pub type PBOOLEAN = *mut BOOLEAN;
STRUCT!{struct LIST_ENTRY {
    Flink: *mut LIST_ENTRY,
    Blink: *mut LIST_ENTRY,
}}
pub type PLIST_ENTRY = *mut LIST_ENTRY;
pub type PRLIST_ENTRY = *mut LIST_ENTRY; // Restricted pointer
STRUCT!{struct SINGLE_LIST_ENTRY {
    Next: *mut SINGLE_LIST_ENTRY,
}}
pub type PSINGLE_LIST_ENTRY = *mut SINGLE_LIST_ENTRY;
STRUCT!{struct RTL_BALANCED_NODE {
    u: RTL_BALANCED_NODE_u,
    ParentValue: ULONG_PTR,
}}
UNION!{union RTL_BALANCED_NODE_u {
    [usize; 2],
    Children Children_mut: [*mut RTL_BALANCED_NODE; 2],
    s s_mut: RTL_BALANCED_NODE_s,
}}
STRUCT!{struct RTL_BALANCED_NODE_s {
    Left: *mut RTL_BALANCED_NODE,
    Right: *mut RTL_BALANCED_NODE,
}}
pub const RTL_BALANCED_NODE_RESERVED_PARENT_MASK: ULONG_PTR = 3;
pub type PRTL_BALANCED_NODE = *mut RTL_BALANCED_NODE;
#[inline]
pub unsafe fn RTL_BALANCED_NODE_GET_PARENT_POINTER(
    Node: PRTL_BALANCED_NODE,
) -> PRTL_BALANCED_NODE {
    ((*Node).ParentValue & !RTL_BALANCED_NODE_RESERVED_PARENT_MASK) as *mut RTL_BALANCED_NODE
}
STRUCT!{struct LIST_ENTRY32 {
    Flink: ULONG,
    Blink: ULONG,
}}
pub type PLIST_ENTRY32 = *mut LIST_ENTRY32;
STRUCT!{struct LIST_ENTRY64 {
    Flink: ULONGLONG,
    Blink: ULONGLONG,
}}
pub type PLIST_ENTRY64 = *mut LIST_ENTRY64;
STRUCT!{struct SINGLE_LIST_ENTRY32 {
    Next: ULONG,
}}
pub type PSINGLE_LIST_ENTRY32 = *mut SINGLE_LIST_ENTRY32;
#[inline]
pub unsafe fn ListEntry32To64(l32: PLIST_ENTRY32, l64: PLIST_ENTRY64) {
    (*l64).Flink = (*l32).Flink as ULONGLONG;
    (*l64).Blink = (*l32).Blink as ULONGLONG;
}
#[inline]
pub unsafe fn ListEntry64To32(l64: PLIST_ENTRY64, l32: PLIST_ENTRY32) {
    (*l32).Flink = (*l64).Flink as ULONG;
    (*l32).Blink = (*l64).Blink as ULONG;
}
STRUCT!{struct WNF_STATE_NAME {
    Data: [ULONG; 2],
}}
pub type PWNF_STATE_NAME = *mut WNF_STATE_NAME;
pub type PCWNF_STATE_NAME = *const WNF_STATE_NAME;
STRUCT!{struct STRING32 {
    Length: USHORT,
    MaximumLength: USHORT,
    Buffer: ULONG,
}}
pub type PSTRING32 = *mut STRING32;
pub type UNICODE_STRING32 = STRING32;
pub type PUNICODE_STRING32 = *mut UNICODE_STRING32;
pub type ANSI_STRING32 = STRING32;
pub type PANSI_STRING32 = *mut ANSI_STRING32;
STRUCT!{struct STRING64 {
    Length: USHORT,
    MaximumLength: USHORT,
    Buffer: ULONGLONG,
}}
pub type PSTRING64 = *mut STRING64;
pub type UNICODE_STRING64 = STRING64;
pub type PUNICODE_STRING64 = *mut UNICODE_STRING64;
pub type ANSI_STRING64 = STRING64;
pub type PANSI_STRING64 = *mut ANSI_STRING64;
pub const OBJ_INHERIT: ULONG = 0x00000002;
pub const OBJ_PERMANENT: ULONG = 0x00000010;
pub const OBJ_EXCLUSIVE: ULONG = 0x00000020;
pub const OBJ_CASE_INSENSITIVE: ULONG = 0x00000040;
pub const OBJ_OPENIF: ULONG = 0x00000080;
pub const OBJ_OPENLINK: ULONG = 0x00000100;
pub const OBJ_KERNEL_HANDLE: ULONG = 0x00000200;
pub const OBJ_FORCE_ACCESS_CHECK: ULONG = 0x00000400;
pub const OBJ_IGNORE_IMPERSONATED_DEVICEMAP: ULONG = 0x00000800;
pub const OBJ_DONT_REPARSE: ULONG = 0x00001000;
pub const OBJ_VALID_ATTRIBUTES: ULONG = 0x00001FF2;
STRUCT!{struct OBJECT_ATTRIBUTES64 {
    Length: ULONG,
    RootDirectory: ULONG64,
    ObjectName: ULONG64,
    Attributes: ULONG,
    SecurityDescriptor: ULONG64,
    SecurityQualityOfService: ULONG64,
}}
pub type POBJECT_ATTRIBUTES64 = *mut OBJECT_ATTRIBUTES64;
pub type PCOBJECT_ATTRIBUTES64 = *const OBJECT_ATTRIBUTES64;
STRUCT!{struct OBJECT_ATTRIBUTES32 {
    Length: ULONG,
    RootDirectory: ULONG,
    ObjectName: ULONG,
    Attributes: ULONG,
    SecurityDescriptor: ULONG,
    SecurityQualityOfService: ULONG,
}}
pub type POBJECT_ATTRIBUTES32 = *mut OBJECT_ATTRIBUTES32;
pub type PCOBJECT_ATTRIBUTES32 = *const OBJECT_ATTRIBUTES32;
STRUCT!{struct OBJECT_ATTRIBUTES {
    Length: ULONG,
    RootDirectory: HANDLE,
    ObjectName: PUNICODE_STRING,
    Attributes: ULONG,
    SecurityDescriptor: PVOID,
    SecurityQualityOfService: PVOID,
}}
pub type POBJECT_ATTRIBUTES = *mut OBJECT_ATTRIBUTES;
pub type PCOBJECT_ATTRIBUTES = *const OBJECT_ATTRIBUTES;
#[inline]
pub unsafe fn InitializeObjectAttributes(
    p: POBJECT_ATTRIBUTES,
    n: PUNICODE_STRING,
    a: ULONG,
    r: HANDLE,
    s: PVOID,
) {
    use core::mem::size_of;
    (*p).Length = size_of::<OBJECT_ATTRIBUTES>() as ULONG;
    (*p).RootDirectory = r;
    (*p).Attributes = a;
    (*p).ObjectName = n;
    (*p).SecurityDescriptor = s;
    (*p).SecurityQualityOfService = NULL;
}
pub const FALSE: BOOLEAN = 0;
pub const TRUE: BOOLEAN = 1;
pub const NULL: PVOID = 0 as PVOID;
pub const NULL64: PVOID64 = 0;
STRUCT!{struct OBJECTID {
    Lineage: GUID,
    Uniquifier: ULONG,
}}
pub const MINCHAR: CHAR = 0x80;
pub const MAXCHAR: CHAR = 0x7f;
pub const MINSHORT: SHORT = 0x8000;
pub const MAXSHORT: SHORT = 0x7fff;
pub const MINLONG: LONG = 0x80000000;
pub const MAXLONG: LONG = 0x7fffffff;
pub const MAXUCHAR: UCHAR = 0xff;
pub const MAXUSHORT: USHORT = 0xffff;
pub const MAXULONG: ULONG = 0xffffffff;
// PEXCEPTION_ROUTINE: Can't define here, because it needs EXCEPTION_RECORD and CONTEXT.
pub type KIRQL = UCHAR;
pub type PKIRQL = *mut KIRQL;
ENUM!{enum NT_PRODUCT_TYPE {
    NtProductWinNt = 1,
    NtProductLanManNt,
    NtProductServer,
}}
pub type PNT_PRODUCT_TYPE = *mut NT_PRODUCT_TYPE;
ENUM!{enum SUITE_TYPE {
    SmallBusiness,
    Enterprise,
    BackOffice,
    CommunicationServer,
    TerminalServer,
    SmallBusinessRestricted,
    EmbeddedNT,
    DataCenter,
    SingleUserTS,
    Personal,
    Blade,
    EmbeddedRestricted,
    SecurityAppliance,
    StorageServer,
    ComputeServer,
    WHServer,
    PhoneNT,
    MaxSuiteType,
}}
pub const VER_SERVER_NT: ULONG = 0x80000000;
pub const VER_WORKSTATION_NT: ULONG = 0x40000000;
pub const VER_SUITE_SMALLBUSINESS: ULONG = 0x00000001;
pub const VER_SUITE_ENTERPRISE: ULONG = 0x00000002;
pub const VER_SUITE_BACKOFFICE: ULONG = 0x00000004;
pub const VER_SUITE_COMMUNICATIONS: ULONG = 0x00000008;
pub const VER_SUITE_TERMINAL: ULONG = 0x00000010;
pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: ULONG = 0x00000020;
pub const VER_SUITE_EMBEDDEDNT: ULONG = 0x00000040;
pub const VER_SUITE_DATACENTER: ULONG = 0x00000080;
pub const VER_SUITE_SINGLEUSERTS: ULONG = 0x00000100;
pub const VER_SUITE_PERSONAL: ULONG = 0x00000200;
pub const VER_SUITE_BLADE: ULONG = 0x00000400;
pub const VER_SUITE_EMBEDDED_RESTRICTED: ULONG = 0x00000800;
pub const VER_SUITE_SECURITY_APPLIANCE: ULONG = 0x00001000;
pub const VER_SUITE_STORAGE_SERVER: ULONG = 0x00002000;
pub const VER_SUITE_COMPUTE_SERVER: ULONG = 0x00004000;
pub const VER_SUITE_WH_SERVER: ULONG = 0x00008000;
pub const PRODUCT_UNDEFINED: ULONG = 0x00000000;
pub const PRODUCT_ULTIMATE: ULONG = 0x00000001;
pub const PRODUCT_HOME_BASIC: ULONG = 0x00000002;
pub const PRODUCT_HOME_PREMIUM: ULONG = 0x00000003;
pub const PRODUCT_ENTERPRISE: ULONG = 0x00000004;
pub const PRODUCT_HOME_BASIC_N: ULONG = 0x00000005;
pub const PRODUCT_BUSINESS: ULONG = 0x00000006;
pub const PRODUCT_STANDARD_SERVER: ULONG = 0x00000007;
pub const PRODUCT_DATACENTER_SERVER: ULONG = 0x00000008;
pub const PRODUCT_SMALLBUSINESS_SERVER: ULONG = 0x00000009;
pub const PRODUCT_ENTERPRISE_SERVER: ULONG = 0x0000000A;
pub const PRODUCT_STARTER: ULONG = 0x0000000B;
pub const PRODUCT_DATACENTER_SERVER_CORE: ULONG = 0x0000000C;
pub const PRODUCT_STANDARD_SERVER_CORE: ULONG = 0x0000000D;
pub const PRODUCT_ENTERPRISE_SERVER_CORE: ULONG = 0x0000000E;
pub const PRODUCT_ENTERPRISE_SERVER_IA64: ULONG = 0x0000000F;
pub const PRODUCT_BUSINESS_N: ULONG = 0x00000010;
pub const PRODUCT_WEB_SERVER: ULONG = 0x00000011;
pub const PRODUCT_CLUSTER_SERVER: ULONG = 0x00000012;
pub const PRODUCT_HOME_SERVER: ULONG = 0x00000013;
pub const PRODUCT_STORAGE_EXPRESS_SERVER: ULONG = 0x00000014;
pub const PRODUCT_STORAGE_STANDARD_SERVER: ULONG = 0x00000015;
pub const PRODUCT_STORAGE_WORKGROUP_SERVER: ULONG = 0x00000016;
pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: ULONG = 0x00000017;
pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: ULONG = 0x00000018;
pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: ULONG = 0x00000019;
pub const PRODUCT_HOME_PREMIUM_N: ULONG = 0x0000001A;
pub const PRODUCT_ENTERPRISE_N: ULONG = 0x0000001B;
pub const PRODUCT_ULTIMATE_N: ULONG = 0x0000001C;
pub const PRODUCT_WEB_SERVER_CORE: ULONG = 0x0000001D;
pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: ULONG = 0x0000001E;
pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: ULONG = 0x0000001F;
pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: ULONG = 0x00000020;
pub const PRODUCT_SERVER_FOUNDATION: ULONG = 0x00000021;
pub const PRODUCT_HOME_PREMIUM_SERVER: ULONG = 0x00000022;
pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: ULONG = 0x00000023;
pub const PRODUCT_STANDARD_SERVER_V: ULONG = 0x00000024;
pub const PRODUCT_DATACENTER_SERVER_V: ULONG = 0x00000025;
pub const PRODUCT_ENTERPRISE_SERVER_V: ULONG = 0x00000026;
pub const PRODUCT_DATACENTER_SERVER_CORE_V: ULONG = 0x00000027;
pub const PRODUCT_STANDARD_SERVER_CORE_V: ULONG = 0x00000028;
pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: ULONG = 0x00000029;
pub const PRODUCT_HYPERV: ULONG = 0x0000002A;
pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: ULONG = 0x0000002B;
pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: ULONG = 0x0000002C;
pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: ULONG = 0x0000002D;
pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: ULONG = 0x0000002E;
pub const PRODUCT_STARTER_N: ULONG = 0x0000002F;
pub const PRODUCT_PROFESSIONAL: ULONG = 0x00000030;
pub const PRODUCT_PROFESSIONAL_N: ULONG = 0x00000031;
pub const PRODUCT_SB_SOLUTION_SERVER: ULONG = 0x00000032;
pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: ULONG = 0x00000033;
pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: ULONG = 0x00000034;
pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: ULONG = 0x00000035;
pub const PRODUCT_SB_SOLUTION_SERVER_EM: ULONG = 0x00000036;
pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: ULONG = 0x00000037;
pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: ULONG = 0x00000038;
pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: ULONG = 0x00000039;
pub const PRODUCT_PROFESSIONAL_EMBEDDED: ULONG = 0x0000003A;
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: ULONG = 0x0000003B;
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: ULONG = 0x0000003C;
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: ULONG = 0x0000003D;
pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: ULONG = 0x0000003E;
pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: ULONG = 0x0000003F;
pub const PRODUCT_CLUSTER_SERVER_V: ULONG = 0x00000040;
pub const PRODUCT_EMBEDDED: ULONG = 0x00000041;
pub const PRODUCT_STARTER_E: ULONG = 0x00000042;
pub const PRODUCT_HOME_BASIC_E: ULONG = 0x00000043;
pub const PRODUCT_HOME_PREMIUM_E: ULONG = 0x00000044;
pub const PRODUCT_PROFESSIONAL_E: ULONG = 0x00000045;
pub const PRODUCT_ENTERPRISE_E: ULONG = 0x00000046;
pub const PRODUCT_ULTIMATE_E: ULONG = 0x00000047;
pub const PRODUCT_ENTERPRISE_EVALUATION: ULONG = 0x00000048;
pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: ULONG = 0x0000004C;
pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: ULONG = 0x0000004D;
pub const PRODUCT_STANDARD_EVALUATION_SERVER: ULONG = 0x0000004F;
pub const PRODUCT_DATACENTER_EVALUATION_SERVER: ULONG = 0x00000050;
pub const PRODUCT_ENTERPRISE_N_EVALUATION: ULONG = 0x00000054;
pub const PRODUCT_EMBEDDED_AUTOMOTIVE: ULONG = 0x00000055;
pub const PRODUCT_EMBEDDED_INDUSTRY_A: ULONG = 0x00000056;
pub const PRODUCT_THINPC: ULONG = 0x00000057;
pub const PRODUCT_EMBEDDED_A: ULONG = 0x00000058;
pub const PRODUCT_EMBEDDED_INDUSTRY: ULONG = 0x00000059;
pub const PRODUCT_EMBEDDED_E: ULONG = 0x0000005A;
pub const PRODUCT_EMBEDDED_INDUSTRY_E: ULONG = 0x0000005B;
pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: ULONG = 0x0000005C;
pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: ULONG = 0x0000005F;
pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: ULONG = 0x00000060;
pub const PRODUCT_CORE_ARM: ULONG = 0x00000061;
pub const PRODUCT_CORE_N: ULONG = 0x00000062;
pub const PRODUCT_CORE_COUNTRYSPECIFIC: ULONG = 0x00000063;
pub const PRODUCT_CORE_SINGLELANGUAGE: ULONG = 0x00000064;
pub const PRODUCT_CORE: ULONG = 0x00000065;
pub const PRODUCT_PROFESSIONAL_WMC: ULONG = 0x00000067;
pub const PRODUCT_MOBILE_CORE: ULONG = 0x00000068;
pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: ULONG = 0x00000069;
pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: ULONG = 0x0000006A;
pub const PRODUCT_EMBEDDED_EVAL: ULONG = 0x0000006B;
pub const PRODUCT_EMBEDDED_E_EVAL: ULONG = 0x0000006C;
pub const PRODUCT_NANO_SERVER: ULONG = 0x0000006D;
pub const PRODUCT_CLOUD_STORAGE_SERVER: ULONG = 0x0000006E;
pub const PRODUCT_CORE_CONNECTED: ULONG = 0x0000006F;
pub const PRODUCT_PROFESSIONAL_STUDENT: ULONG = 0x00000070;
pub const PRODUCT_CORE_CONNECTED_N: ULONG = 0x00000071;
pub const PRODUCT_PROFESSIONAL_STUDENT_N: ULONG = 0x00000072;
pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: ULONG = 0x00000073;
pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: ULONG = 0x00000074;
pub const PRODUCT_CONNECTED_CAR: ULONG = 0x00000075;
pub const PRODUCT_INDUSTRY_HANDHELD: ULONG = 0x00000076;
pub const PRODUCT_PPI_PRO: ULONG = 0x00000077;
pub const PRODUCT_ARM64_SERVER: ULONG = 0x00000078;
pub const PRODUCT_EDUCATION: ULONG = 0x00000079;
pub const PRODUCT_EDUCATION_N: ULONG = 0x0000007A;
pub const PRODUCT_IOTUAP: ULONG = 0x0000007B;
pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: ULONG = 0x0000007C;
pub const PRODUCT_ENTERPRISE_S: ULONG = 0x0000007D;
pub const PRODUCT_ENTERPRISE_S_N: ULONG = 0x0000007E;
pub const PRODUCT_PROFESSIONAL_S: ULONG = 0x0000007F;
pub const PRODUCT_PROFESSIONAL_S_N: ULONG = 0x00000080;
pub const PRODUCT_ENTERPRISE_S_EVALUATION: ULONG = 0x00000081;
pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: ULONG = 0x00000082;
pub const PRODUCT_HOLOGRAPHIC: ULONG = 0x00000087;
pub const PRODUCT_PRO_SINGLE_LANGUAGE: ULONG = 0x0000008A;
pub const PRODUCT_PRO_CHINA: ULONG = 0x0000008B;
pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: ULONG = 0x0000008C;
pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: ULONG = 0x0000008D;
pub const PRODUCT_DATACENTER_NANO_SERVER: ULONG = 0x0000008F;
pub const PRODUCT_STANDARD_NANO_SERVER: ULONG = 0x00000090;
pub const PRODUCT_DATACENTER_A_SERVER_CORE: ULONG = 0x00000091;
pub const PRODUCT_STANDARD_A_SERVER_CORE: ULONG = 0x00000092;
pub const PRODUCT_DATACENTER_WS_SERVER_CORE: ULONG = 0x00000093;
pub const PRODUCT_STANDARD_WS_SERVER_CORE: ULONG = 0x00000094;
pub const PRODUCT_UTILITY_VM: ULONG = 0x00000095;
pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: ULONG = 0x0000009F;
pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: ULONG = 0x000000A0;
pub const PRODUCT_PRO_WORKSTATION: ULONG = 0x000000A1;
pub const PRODUCT_PRO_WORKSTATION_N: ULONG = 0x000000A2;
pub const PRODUCT_PRO_FOR_EDUCATION: ULONG = 0x000000A4;
pub const PRODUCT_PRO_FOR_EDUCATION_N: ULONG = 0x000000A5;
pub const PRODUCT_AZURE_SERVER_CORE: ULONG = 0x000000A8;
pub const PRODUCT_AZURE_NANO_SERVER: ULONG = 0x000000A9;
pub const PRODUCT_UNLICENSED: ULONG = 0xABCDABCD;
pub const LANG_NEUTRAL: USHORT = 0x00;
pub const LANG_INVARIANT: USHORT = 0x7f;
pub const LANG_AFRIKAANS: USHORT = 0x36;
pub const LANG_ALBANIAN: USHORT = 0x1c;
pub const LANG_ALSATIAN: USHORT = 0x84;
pub const LANG_AMHARIC: USHORT = 0x5e;
pub const LANG_ARABIC: USHORT = 0x01;
pub const LANG_ARMENIAN: USHORT = 0x2b;
pub const LANG_ASSAMESE: USHORT = 0x4d;
pub const LANG_AZERI: USHORT = 0x2c;
pub const LANG_AZERBAIJANI: USHORT = 0x2c;
pub const LANG_BANGLA: USHORT = 0x45;
pub const LANG_BASHKIR: USHORT = 0x6d;
pub const LANG_BASQUE: USHORT = 0x2d;
pub const LANG_BELARUSIAN: USHORT = 0x23;
pub const LANG_BENGALI: USHORT = 0x45;
pub const LANG_BRETON: USHORT = 0x7e;
pub const LANG_BOSNIAN: USHORT = 0x1a;
pub const LANG_BOSNIAN_NEUTRAL: USHORT = 0x781a;
pub const LANG_BULGARIAN: USHORT = 0x02;
pub const LANG_CATALAN: USHORT = 0x03;
pub const LANG_CENTRAL_KURDISH: USHORT = 0x92;
pub const LANG_CHEROKEE: USHORT = 0x5c;
pub const LANG_CHINESE: USHORT = 0x04;
pub const LANG_CHINESE_SIMPLIFIED: USHORT = 0x04;
pub const LANG_CHINESE_TRADITIONAL: USHORT = 0x7c04;
pub const LANG_CORSICAN: USHORT = 0x83;
pub const LANG_CROATIAN: USHORT = 0x1a;
pub const LANG_CZECH: USHORT = 0x05;
pub const LANG_DANISH: USHORT = 0x06;
pub const LANG_DARI: USHORT = 0x8c;
pub const LANG_DIVEHI: USHORT = 0x65;
pub const LANG_DUTCH: USHORT = 0x13;
pub const LANG_ENGLISH: USHORT = 0x09;
pub const LANG_ESTONIAN: USHORT = 0x25;
pub const LANG_FAEROESE: USHORT = 0x38;
pub const LANG_FARSI: USHORT = 0x29;
pub const LANG_FILIPINO: USHORT = 0x64;
pub const LANG_FINNISH: USHORT = 0x0b;
pub const LANG_FRENCH: USHORT = 0x0c;
pub const LANG_FRISIAN: USHORT = 0x62;
pub const LANG_FULAH: USHORT = 0x67;
pub const LANG_GALICIAN: USHORT = 0x56;
pub const LANG_GEORGIAN: USHORT = 0x37;
pub const LANG_GERMAN: USHORT = 0x07;
pub const LANG_GREEK: USHORT = 0x08;
pub const LANG_GREENLANDIC: USHORT = 0x6f;
pub const LANG_GUJARATI: USHORT = 0x47;
pub const LANG_HAUSA: USHORT = 0x68;
pub const LANG_HAWAIIAN: USHORT = 0x75;
pub const LANG_HEBREW: USHORT = 0x0d;
pub const LANG_HINDI: USHORT = 0x39;
pub const LANG_HUNGARIAN: USHORT = 0x0e;
pub const LANG_ICELANDIC: USHORT = 0x0f;
pub const LANG_IGBO: USHORT = 0x70;
pub const LANG_INDONESIAN: USHORT = 0x21;
pub const LANG_INUKTITUT: USHORT = 0x5d;
pub const LANG_IRISH: USHORT = 0x3c;
pub const LANG_ITALIAN: USHORT = 0x10;
pub const LANG_JAPANESE: USHORT = 0x11;
pub const LANG_KANNADA: USHORT = 0x4b;
pub const LANG_KASHMIRI: USHORT = 0x60;
pub const LANG_KAZAK: USHORT = 0x3f;
pub const LANG_KHMER: USHORT = 0x53;
pub const LANG_KICHE: USHORT = 0x86;
pub const LANG_KINYARWANDA: USHORT = 0x87;
pub const LANG_KONKANI: USHORT = 0x57;
pub const LANG_KOREAN: USHORT = 0x12;
pub const LANG_KYRGYZ: USHORT = 0x40;
pub const LANG_LAO: USHORT = 0x54;
pub const LANG_LATVIAN: USHORT = 0x26;
pub const LANG_LITHUANIAN: USHORT = 0x27;
pub const LANG_LOWER_SORBIAN: USHORT = 0x2e;
pub const LANG_LUXEMBOURGISH: USHORT = 0x6e;
pub const LANG_MACEDONIAN: USHORT = 0x2f;
pub const LANG_MALAY: USHORT = 0x3e;
pub const LANG_MALAYALAM: USHORT = 0x4c;
pub const LANG_MALTESE: USHORT = 0x3a;
pub const LANG_MANIPURI: USHORT = 0x58;
pub const LANG_MAORI: USHORT = 0x81;
pub const LANG_MAPUDUNGUN: USHORT = 0x7a;
pub const LANG_MARATHI: USHORT = 0x4e;
pub const LANG_MOHAWK: USHORT = 0x7c;
pub const LANG_MONGOLIAN: USHORT = 0x50;
pub const LANG_NEPALI: USHORT = 0x61;
pub const LANG_NORWEGIAN: USHORT = 0x14;
pub const LANG_OCCITAN: USHORT = 0x82;
pub const LANG_ODIA: USHORT = 0x48;
pub const LANG_ORIYA: USHORT = 0x48;
pub const LANG_PASHTO: USHORT = 0x63;
pub const LANG_PERSIAN: USHORT = 0x29;
pub const LANG_POLISH: USHORT = 0x15;
pub const LANG_PORTUGUESE: USHORT = 0x16;
pub const LANG_PULAR: USHORT = 0x67;
pub const LANG_PUNJABI: USHORT = 0x46;
pub const LANG_QUECHUA: USHORT = 0x6b;
pub const LANG_ROMANIAN: USHORT = 0x18;
pub const LANG_ROMANSH: USHORT = 0x17;
pub const LANG_RUSSIAN: USHORT = 0x19;
pub const LANG_SAKHA: USHORT = 0x85;
pub const LANG_SAMI: USHORT = 0x3b;
pub const LANG_SANSKRIT: USHORT = 0x4f;
pub const LANG_SCOTTISH_GAELIC: USHORT = 0x91;
pub const LANG_SERBIAN: USHORT = 0x1a;
pub const LANG_SERBIAN_NEUTRAL: USHORT = 0x7c1a;
pub const LANG_SINDHI: USHORT = 0x59;
pub const LANG_SINHALESE: USHORT = 0x5b;
pub const LANG_SLOVAK: USHORT = 0x1b;
pub const LANG_SLOVENIAN: USHORT = 0x24;
pub const LANG_SOTHO: USHORT = 0x6c;
pub const LANG_SPANISH: USHORT = 0x0a;
pub const LANG_SWAHILI: USHORT = 0x41;
pub const LANG_SWEDISH: USHORT = 0x1d;
pub const LANG_SYRIAC: USHORT = 0x5a;
pub const LANG_TAJIK: USHORT = 0x28;
pub const LANG_TAMAZIGHT: USHORT = 0x5f;
pub const LANG_TAMIL: USHORT = 0x49;
pub const LANG_TATAR: USHORT = 0x44;
pub const LANG_TELUGU: USHORT = 0x4a;
pub const LANG_THAI: USHORT = 0x1e;
pub const LANG_TIBETAN: USHORT = 0x51;
pub const LANG_TIGRIGNA: USHORT = 0x73;
pub const LANG_TIGRINYA: USHORT = 0x73;
pub const LANG_TSWANA: USHORT = 0x32;
pub const LANG_TURKISH: USHORT = 0x1f;
pub const LANG_TURKMEN: USHORT = 0x42;
pub const LANG_UIGHUR: USHORT = 0x80;
pub const LANG_UKRAINIAN: USHORT = 0x22;
pub const LANG_UPPER_SORBIAN: USHORT = 0x2e;
pub const LANG_URDU: USHORT = 0x20;
pub const LANG_UZBEK: USHORT = 0x43;
pub const LANG_VALENCIAN: USHORT = 0x03;
pub const LANG_VIETNAMESE: USHORT = 0x2a;
pub const LANG_WELSH: USHORT = 0x52;
pub const LANG_WOLOF: USHORT = 0x88;
pub const LANG_XHOSA: USHORT = 0x34;
pub const LANG_YAKUT: USHORT = 0x85;
pub const LANG_YI: USHORT = 0x78;
pub const LANG_YORUBA: USHORT = 0x6a;
pub const LANG_ZULU: USHORT = 0x35;
pub const SUBLANG_NEUTRAL: USHORT = 0x00;
pub const SUBLANG_DEFAULT: USHORT = 0x01;
pub const SUBLANG_SYS_DEFAULT: USHORT = 0x02;
pub const SUBLANG_CUSTOM_DEFAULT: USHORT = 0x03;
pub const SUBLANG_CUSTOM_UNSPECIFIED: USHORT = 0x04;
pub const SUBLANG_UI_CUSTOM_DEFAULT: USHORT = 0x05;
pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: USHORT = 0x01;
pub const SUBLANG_ALBANIAN_ALBANIA: USHORT = 0x01;
pub const SUBLANG_ALSATIAN_FRANCE: USHORT = 0x01;
pub const SUBLANG_AMHARIC_ETHIOPIA: USHORT = 0x01;
pub const SUBLANG_ARABIC_SAUDI_ARABIA: USHORT = 0x01;
pub const SUBLANG_ARABIC_IRAQ: USHORT = 0x02;
pub const SUBLANG_ARABIC_EGYPT: USHORT = 0x03;
pub const SUBLANG_ARABIC_LIBYA: USHORT = 0x04;
pub const SUBLANG_ARABIC_ALGERIA: USHORT = 0x05;
pub const SUBLANG_ARABIC_MOROCCO: USHORT = 0x06;
pub const SUBLANG_ARABIC_TUNISIA: USHORT = 0x07;
pub const SUBLANG_ARABIC_OMAN: USHORT = 0x08;
pub const SUBLANG_ARABIC_YEMEN: USHORT = 0x09;
pub const SUBLANG_ARABIC_SYRIA: USHORT = 0x0a;
pub const SUBLANG_ARABIC_JORDAN: USHORT = 0x0b;
pub const SUBLANG_ARABIC_LEBANON: USHORT = 0x0c;
pub const SUBLANG_ARABIC_KUWAIT: USHORT = 0x0d;
pub const SUBLANG_ARABIC_UAE: USHORT = 0x0e;
pub const SUBLANG_ARABIC_BAHRAIN: USHORT = 0x0f;
pub const SUBLANG_ARABIC_QATAR: USHORT = 0x10;
pub const SUBLANG_ARMENIAN_ARMENIA: USHORT = 0x01;
pub const SUBLANG_ASSAMESE_INDIA: USHORT = 0x01;
pub const SUBLANG_AZERI_LATIN: USHORT = 0x01;
pub const SUBLANG_AZERI_CYRILLIC: USHORT = 0x02;
pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: USHORT = 0x01;
pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: USHORT = 0x02;
pub const SUBLANG_BANGLA_INDIA: USHORT = 0x01;
pub const SUBLANG_BANGLA_BANGLADESH: USHORT = 0x02;
pub const SUBLANG_BASHKIR_RUSSIA: USHORT = 0x01;
pub const SUBLANG_BASQUE_BASQUE: USHORT = 0x01;
pub const SUBLANG_BELARUSIAN_BELARUS: USHORT = 0x01;
pub const SUBLANG_BENGALI_INDIA: USHORT = 0x01;
pub const SUBLANG_BENGALI_BANGLADESH: USHORT = 0x02;
pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x05;
pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: USHORT = 0x08;
pub const SUBLANG_BRETON_FRANCE: USHORT = 0x01;
pub const SUBLANG_BULGARIAN_BULGARIA: USHORT = 0x01;
pub const SUBLANG_CATALAN_CATALAN: USHORT = 0x01;
pub const SUBLANG_CENTRAL_KURDISH_IRAQ: USHORT = 0x01;
pub const SUBLANG_CHEROKEE_CHEROKEE: USHORT = 0x01;
pub const SUBLANG_CHINESE_TRADITIONAL: USHORT = 0x01;
pub const SUBLANG_CHINESE_SIMPLIFIED: USHORT = 0x02;
pub const SUBLANG_CHINESE_HONGKONG: USHORT = 0x03;
pub const SUBLANG_CHINESE_SINGAPORE: USHORT = 0x04;
pub const SUBLANG_CHINESE_MACAU: USHORT = 0x05;
pub const SUBLANG_CORSICAN_FRANCE: USHORT = 0x01;
pub const SUBLANG_CZECH_CZECH_REPUBLIC: USHORT = 0x01;
pub const SUBLANG_CROATIAN_CROATIA: USHORT = 0x01;
pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x04;
pub const SUBLANG_DANISH_DENMARK: USHORT = 0x01;
pub const SUBLANG_DARI_AFGHANISTAN: USHORT = 0x01;
pub const SUBLANG_DIVEHI_MALDIVES: USHORT = 0x01;
pub const SUBLANG_DUTCH: USHORT = 0x01;
pub const SUBLANG_DUTCH_BELGIAN: USHORT = 0x02;
pub const SUBLANG_ENGLISH_US: USHORT = 0x01;
pub const SUBLANG_ENGLISH_UK: USHORT = 0x02;
pub const SUBLANG_ENGLISH_AUS: USHORT = 0x03;
pub const SUBLANG_ENGLISH_CAN: USHORT = 0x04;
pub const SUBLANG_ENGLISH_NZ: USHORT = 0x05;
pub const SUBLANG_ENGLISH_EIRE: USHORT = 0x06;
pub const SUBLANG_ENGLISH_SOUTH_AFRICA: USHORT = 0x07;
pub const SUBLANG_ENGLISH_JAMAICA: USHORT = 0x08;
pub const SUBLANG_ENGLISH_CARIBBEAN: USHORT = 0x09;
pub const SUBLANG_ENGLISH_BELIZE: USHORT = 0x0a;
pub const SUBLANG_ENGLISH_TRINIDAD: USHORT = 0x0b;
pub const SUBLANG_ENGLISH_ZIMBABWE: USHORT = 0x0c;
pub const SUBLANG_ENGLISH_PHILIPPINES: USHORT = 0x0d;
pub const SUBLANG_ENGLISH_INDIA: USHORT = 0x10;
pub const SUBLANG_ENGLISH_MALAYSIA: USHORT = 0x11;
pub const SUBLANG_ENGLISH_SINGAPORE: USHORT = 0x12;
pub const SUBLANG_ESTONIAN_ESTONIA: USHORT = 0x01;
pub const SUBLANG_FAEROESE_FAROE_ISLANDS: USHORT = 0x01;
pub const SUBLANG_FILIPINO_PHILIPPINES: USHORT = 0x01;
pub const SUBLANG_FINNISH_FINLAND: USHORT = 0x01;
pub const SUBLANG_FRENCH: USHORT = 0x01;
pub const SUBLANG_FRENCH_BELGIAN: USHORT = 0x02;
pub const SUBLANG_FRENCH_CANADIAN: USHORT = 0x03;
pub const SUBLANG_FRENCH_SWISS: USHORT = 0x04;
pub const SUBLANG_FRENCH_LUXEMBOURG: USHORT = 0x05;
pub const SUBLANG_FRENCH_MONACO: USHORT = 0x06;
pub const SUBLANG_FRISIAN_NETHERLANDS: USHORT = 0x01;
pub const SUBLANG_FULAH_SENEGAL: USHORT = 0x02;
pub const SUBLANG_GALICIAN_GALICIAN: USHORT = 0x01;
pub const SUBLANG_GEORGIAN_GEORGIA: USHORT = 0x01;
pub const SUBLANG_GERMAN: USHORT = 0x01;
pub const SUBLANG_GERMAN_SWISS: USHORT = 0x02;
pub const SUBLANG_GERMAN_AUSTRIAN: USHORT = 0x03;
pub const SUBLANG_GERMAN_LUXEMBOURG: USHORT = 0x04;
pub const SUBLANG_GERMAN_LIECHTENSTEIN: USHORT = 0x05;
pub const SUBLANG_GREEK_GREECE: USHORT = 0x01;
pub const SUBLANG_GREENLANDIC_GREENLAND: USHORT = 0x01;
pub const SUBLANG_GUJARATI_INDIA: USHORT = 0x01;
pub const SUBLANG_HAUSA_NIGERIA_LATIN: USHORT = 0x01;
pub const SUBLANG_HAWAIIAN_US: USHORT = 0x01;
pub const SUBLANG_HEBREW_ISRAEL: USHORT = 0x01;
pub const SUBLANG_HINDI_INDIA: USHORT = 0x01;
pub const SUBLANG_HUNGARIAN_HUNGARY: USHORT = 0x01;
pub const SUBLANG_ICELANDIC_ICELAND: USHORT = 0x01;
pub const SUBLANG_IGBO_NIGERIA: USHORT = 0x01;
pub const SUBLANG_INDONESIAN_INDONESIA: USHORT = 0x01;
pub const SUBLANG_INUKTITUT_CANADA: USHORT = 0x01;
pub const SUBLANG_INUKTITUT_CANADA_LATIN: USHORT = 0x02;
pub const SUBLANG_IRISH_IRELAND: USHORT = 0x02;
pub const SUBLANG_ITALIAN: USHORT = 0x01;
pub const SUBLANG_ITALIAN_SWISS: USHORT = 0x02;
pub const SUBLANG_JAPANESE_JAPAN: USHORT = 0x01;
pub const SUBLANG_KANNADA_INDIA: USHORT = 0x01;
pub const SUBLANG_KASHMIRI_SASIA: USHORT = 0x02;
pub const SUBLANG_KASHMIRI_INDIA: USHORT = 0x02;
pub const SUBLANG_KAZAK_KAZAKHSTAN: USHORT = 0x01;
pub const SUBLANG_KHMER_CAMBODIA: USHORT = 0x01;
pub const SUBLANG_KICHE_GUATEMALA: USHORT = 0x01;
pub const SUBLANG_KINYARWANDA_RWANDA: USHORT = 0x01;
pub const SUBLANG_KONKANI_INDIA: USHORT = 0x01;
pub const SUBLANG_KOREAN: USHORT = 0x01;
pub const SUBLANG_KYRGYZ_KYRGYZSTAN: USHORT = 0x01;
pub const SUBLANG_LAO_LAO: USHORT = 0x01;
pub const SUBLANG_LATVIAN_LATVIA: USHORT = 0x01;
pub const SUBLANG_LITHUANIAN: USHORT = 0x01;
pub const SUBLANG_LOWER_SORBIAN_GERMANY: USHORT = 0x02;
pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: USHORT = 0x01;
pub const SUBLANG_MACEDONIAN_MACEDONIA: USHORT = 0x01;
pub const SUBLANG_MALAY_MALAYSIA: USHORT = 0x01;
pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: USHORT = 0x02;
pub const SUBLANG_MALAYALAM_INDIA: USHORT = 0x01;
pub const SUBLANG_MALTESE_MALTA: USHORT = 0x01;
pub const SUBLANG_MAORI_NEW_ZEALAND: USHORT = 0x01;
pub const SUBLANG_MAPUDUNGUN_CHILE: USHORT = 0x01;
pub const SUBLANG_MARATHI_INDIA: USHORT = 0x01;
pub const SUBLANG_MOHAWK_MOHAWK: USHORT = 0x01;
pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: USHORT = 0x01;
pub const SUBLANG_MONGOLIAN_PRC: USHORT = 0x02;
pub const SUBLANG_NEPALI_INDIA: USHORT = 0x02;
pub const SUBLANG_NEPALI_NEPAL: USHORT = 0x01;
pub const SUBLANG_NORWEGIAN_BOKMAL: USHORT = 0x01;
pub const SUBLANG_NORWEGIAN_NYNORSK: USHORT = 0x02;
pub const SUBLANG_OCCITAN_FRANCE: USHORT = 0x01;
pub const SUBLANG_ODIA_INDIA: USHORT = 0x01;
pub const SUBLANG_ORIYA_INDIA: USHORT = 0x01;
pub const SUBLANG_PASHTO_AFGHANISTAN: USHORT = 0x01;
pub const SUBLANG_PERSIAN_IRAN: USHORT = 0x01;
pub const SUBLANG_POLISH_POLAND: USHORT = 0x01;
pub const SUBLANG_PORTUGUESE: USHORT = 0x02;
pub const SUBLANG_PORTUGUESE_BRAZILIAN: USHORT = 0x01;
pub const SUBLANG_PULAR_SENEGAL: USHORT = 0x02;
pub const SUBLANG_PUNJABI_INDIA: USHORT = 0x01;
pub const SUBLANG_PUNJABI_PAKISTAN: USHORT = 0x02;
pub const SUBLANG_QUECHUA_BOLIVIA: USHORT = 0x01;
pub const SUBLANG_QUECHUA_ECUADOR: USHORT = 0x02;
pub const SUBLANG_QUECHUA_PERU: USHORT = 0x03;
pub const SUBLANG_ROMANIAN_ROMANIA: USHORT = 0x01;
pub const SUBLANG_ROMANSH_SWITZERLAND: USHORT = 0x01;
pub const SUBLANG_RUSSIAN_RUSSIA: USHORT = 0x01;
pub const SUBLANG_SAKHA_RUSSIA: USHORT = 0x01;
pub const SUBLANG_SAMI_NORTHERN_NORWAY: USHORT = 0x01;
pub const SUBLANG_SAMI_NORTHERN_SWEDEN: USHORT = 0x02;
pub const SUBLANG_SAMI_NORTHERN_FINLAND: USHORT = 0x03;
pub const SUBLANG_SAMI_LULE_NORWAY: USHORT = 0x04;
pub const SUBLANG_SAMI_LULE_SWEDEN: USHORT = 0x05;
pub const SUBLANG_SAMI_SOUTHERN_NORWAY: USHORT = 0x06;
pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: USHORT = 0x07;
pub const SUBLANG_SAMI_SKOLT_FINLAND: USHORT = 0x08;
pub const SUBLANG_SAMI_INARI_FINLAND: USHORT = 0x09;
pub const SUBLANG_SANSKRIT_INDIA: USHORT = 0x01;
pub const SUBLANG_SCOTTISH_GAELIC: USHORT = 0x01;
pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: USHORT = 0x06;
pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: USHORT = 0x07;
pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: USHORT = 0x0b;
pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: USHORT = 0x0c;
pub const SUBLANG_SERBIAN_SERBIA_LATIN: USHORT = 0x09;
pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: USHORT = 0x0a;
pub const SUBLANG_SERBIAN_CROATIA: USHORT = 0x01;
pub const SUBLANG_SERBIAN_LATIN: USHORT = 0x02;
pub const SUBLANG_SERBIAN_CYRILLIC: USHORT = 0x03;
pub const SUBLANG_SINDHI_INDIA: USHORT = 0x01;
pub const SUBLANG_SINDHI_PAKISTAN: USHORT = 0x02;
pub const SUBLANG_SINDHI_AFGHANISTAN: USHORT = 0x02;
pub const SUBLANG_SINHALESE_SRI_LANKA: USHORT = 0x01;
pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: USHORT = 0x01;
pub const SUBLANG_SLOVAK_SLOVAKIA: USHORT = 0x01;
pub const SUBLANG_SLOVENIAN_SLOVENIA: USHORT = 0x01;
pub const SUBLANG_SPANISH: USHORT = 0x01;
pub const SUBLANG_SPANISH_MEXICAN: USHORT = 0x02;
pub const SUBLANG_SPANISH_MODERN: USHORT = 0x03;
pub const SUBLANG_SPANISH_GUATEMALA: USHORT = 0x04;
pub const SUBLANG_SPANISH_COSTA_RICA: USHORT = 0x05;
pub const SUBLANG_SPANISH_PANAMA: USHORT = 0x06;
pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: USHORT = 0x07;
pub const SUBLANG_SPANISH_VENEZUELA: USHORT = 0x08;
pub const SUBLANG_SPANISH_COLOMBIA: USHORT = 0x09;
pub const SUBLANG_SPANISH_PERU: USHORT = 0x0a;
pub const SUBLANG_SPANISH_ARGENTINA: USHORT = 0x0b;
pub const SUBLANG_SPANISH_ECUADOR: USHORT = 0x0c;
pub const SUBLANG_SPANISH_CHILE: USHORT = 0x0d;
pub const SUBLANG_SPANISH_URUGUAY: USHORT = 0x0e;
pub const SUBLANG_SPANISH_PARAGUAY: USHORT = 0x0f;
pub const SUBLANG_SPANISH_BOLIVIA: USHORT = 0x10;
pub const SUBLANG_SPANISH_EL_SALVADOR: USHORT = 0x11;
pub const SUBLANG_SPANISH_HONDURAS: USHORT = 0x12;
pub const SUBLANG_SPANISH_NICARAGUA: USHORT = 0x13;
pub const SUBLANG_SPANISH_PUERTO_RICO: USHORT = 0x14;
pub const SUBLANG_SPANISH_US: USHORT = 0x15;
pub const SUBLANG_SWAHILI_KENYA: USHORT = 0x01;
pub const SUBLANG_SWEDISH: USHORT = 0x01;
pub const SUBLANG_SWEDISH_FINLAND: USHORT = 0x02;
pub const SUBLANG_SYRIAC_SYRIA: USHORT = 0x01;
pub const SUBLANG_TAJIK_TAJIKISTAN: USHORT = 0x01;
pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: USHORT = 0x02;
pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: USHORT = 0x04;
pub const SUBLANG_TAMIL_INDIA: USHORT = 0x01;
pub const SUBLANG_TAMIL_SRI_LANKA: USHORT = 0x02;
pub const SUBLANG_TATAR_RUSSIA: USHORT = 0x01;
pub const SUBLANG_TELUGU_INDIA: USHORT = 0x01;
pub const SUBLANG_THAI_THAILAND: USHORT = 0x01;
pub const SUBLANG_TIBETAN_PRC: USHORT = 0x01;
pub const SUBLANG_TIGRIGNA_ERITREA: USHORT = 0x02;
pub const SUBLANG_TIGRINYA_ERITREA: USHORT = 0x02;
pub const SUBLANG_TIGRINYA_ETHIOPIA: USHORT = 0x01;
pub const SUBLANG_TSWANA_BOTSWANA: USHORT = 0x02;
pub const SUBLANG_TSWANA_SOUTH_AFRICA: USHORT = 0x01;
pub const SUBLANG_TURKISH_TURKEY: USHORT = 0x01;
pub const SUBLANG_TURKMEN_TURKMENISTAN: USHORT = 0x01;
pub const SUBLANG_UIGHUR_PRC: USHORT = 0x01;
pub const SUBLANG_UKRAINIAN_UKRAINE: USHORT = 0x01;
pub const SUBLANG_UPPER_SORBIAN_GERMANY: USHORT = 0x01;
pub const SUBLANG_URDU_PAKISTAN: USHORT = 0x01;
pub const SUBLANG_URDU_INDIA: USHORT = 0x02;
pub const SUBLANG_UZBEK_LATIN: USHORT = 0x01;
pub const SUBLANG_UZBEK_CYRILLIC: USHORT = 0x02;
pub const SUBLANG_VALENCIAN_VALENCIA: USHORT = 0x02;
pub const SUBLANG_VIETNAMESE_VIETNAM: USHORT = 0x01;
pub const SUBLANG_WELSH_UNITED_KINGDOM: USHORT = 0x01;
pub const SUBLANG_WOLOF_SENEGAL: USHORT = 0x01;
pub const SUBLANG_XHOSA_SOUTH_AFRICA: USHORT = 0x01;
pub const SUBLANG_YAKUT_RUSSIA: USHORT = 0x01;
pub const SUBLANG_YI_PRC: USHORT = 0x01;
pub const SUBLANG_YORUBA_NIGERIA: USHORT = 0x01;
pub const SUBLANG_ZULU_SOUTH_AFRICA: USHORT = 0x01;
pub const SORT_DEFAULT: USHORT = 0x0;
pub const SORT_INVARIANT_MATH: USHORT = 0x1;
pub const SORT_JAPANESE_XJIS: USHORT = 0x0;
pub const SORT_JAPANESE_UNICODE: USHORT = 0x1;
pub const SORT_JAPANESE_RADICALSTROKE: USHORT = 0x4;
pub const SORT_CHINESE_BIG5: USHORT = 0x0;
pub const SORT_CHINESE_PRCP: USHORT = 0x0;
pub const SORT_CHINESE_UNICODE: USHORT = 0x1;
pub const SORT_CHINESE_PRC: USHORT = 0x2;
pub const SORT_CHINESE_BOPOMOFO: USHORT = 0x3;
pub const SORT_CHINESE_RADICALSTROKE: USHORT = 0x4;
pub const SORT_KOREAN_KSC: USHORT = 0x0;
pub const SORT_KOREAN_UNICODE: USHORT = 0x1;
pub const SORT_GERMAN_PHONE_BOOK: USHORT = 0x1;
pub const SORT_HUNGARIAN_DEFAULT: USHORT = 0x0;
pub const SORT_HUNGARIAN_TECHNICAL: USHORT = 0x1;
pub const SORT_GEORGIAN_TRADITIONAL: USHORT = 0x0;
pub const SORT_GEORGIAN_MODERN: USHORT = 0x1;
macro_rules! MAKELANGID {
    ($p:expr, $s:expr) => {
        (($s as USHORT) << 10) | ($p as USHORT)
    }
}
#[inline]
pub fn MAKELANGID(p: USHORT, s: USHORT) -> LANGID { (s << 10) | p }
#[inline]
pub fn PRIMARYLANGID(lgid: LANGID) -> USHORT { lgid & 0x3ff }
#[inline]
pub fn SUBLANGID(lgid: LANGID) -> USHORT { lgid >> 10 }
pub const NLS_VALID_LOCALE_MASK: ULONG = 0x000fffff;
macro_rules! MAKELCID {
    ($lgid:expr, $srtid:expr) => {
        (($srtid as ULONG) << 16) | ($lgid as ULONG)
    }
}
#[inline]
pub fn MAKELCID(lgid: LANGID, srtid: USHORT) -> LCID {
    ((srtid as ULONG) << 16) | (lgid as ULONG)
}
#[inline]
pub fn MAKESORTLCID(lgid: LANGID, srtid: USHORT, ver: USHORT) -> LCID {
    MAKELCID(lgid, srtid) | ((ver as ULONG) << 20)
}
#[inline]
pub fn LANGIDFROMLCID(lcid: LCID) -> LANGID { lcid as LANGID }
#[inline]
pub fn SORTIDFROMLCID(lcid: LCID) -> USHORT { ((lcid >> 16) & 0xf) as USHORT }
#[inline]
pub fn SORTVERSIONFROMLCID(lcid: LCID) -> USHORT { ((lcid >> 16) & 0xf) as USHORT }
pub const LOCALE_NAME_MAX_LENGTH: usize = 85;
pub const LANG_SYSTEM_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT);
pub const LANG_USER_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_DEFAULT);
pub const LOCALE_SYSTEM_DEFAULT: LCID = MAKELCID!(LANG_SYSTEM_DEFAULT, SORT_DEFAULT);
pub const LOCALE_USER_DEFAULT: LCID = MAKELCID!(LANG_USER_DEFAULT, SORT_DEFAULT);
pub const LOCALE_CUSTOM_DEFAULT: LCID
    = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT);
pub const LOCALE_CUSTOM_UNSPECIFIED: LCID
    = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT);
pub const LOCALE_CUSTOM_UI_DEFAULT: LCID
    = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT);
pub const LOCALE_NEUTRAL: LCID
    = MAKELCID!(MAKELANGID!(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT);
pub const LOCALE_INVARIANT: LCID
    = MAKELCID!(MAKELANGID!(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT);
pub const LOCALE_TRANSIENT_KEYBOARD1: LCID = 0x2000;
pub const LOCALE_TRANSIENT_KEYBOARD2: LCID = 0x2400;
pub const LOCALE_TRANSIENT_KEYBOARD3: LCID = 0x2800;
pub const LOCALE_TRANSIENT_KEYBOARD4: LCID = 0x2c00;
pub const LOCALE_UNASSIGNED_LCID: LCID = LOCALE_CUSTOM_UNSPECIFIED;
