mirror of
https://github.com/reactos/reactos.git
synced 2025-01-07 14:51:00 +00:00
[INCLUDE]
- ntdef.h: add missing RTL_NUMBER_OF_FIELD, RTL_PADDING_BETWEEN_FIELDS, RotateLeft*, PRODUCT_*, SUBLANG_*, SORT_*, LANG_SYSTEM_DEFAULT, LANG_USER_DEFAULT, a few LOCALE_* - winnt.h: add missing LOCALE_SYSTEM_DEFAULT, LOCALE_USER_DEFAULT - winnls.h: remove definitions that don't belong there, add some missing ones, remove wineisms - intrin.h Implement _rotl64 for GCC - basetyps.h: add #pragma once, move include to the top svn path=/trunk/; revision=63524
This commit is contained in:
parent
dad73c35fe
commit
2d2cae039d
5 changed files with 487 additions and 46 deletions
|
@ -1003,6 +1003,7 @@ __INTRIN_INLINE unsigned char _bittestandset(long * const a, const long b);
|
|||
__INTRIN_INLINE unsigned char _rotl8(unsigned char value, unsigned char shift);
|
||||
__INTRIN_INLINE unsigned short _rotl16(unsigned short value, unsigned char shift);
|
||||
__INTRIN_INLINE unsigned int _rotl(unsigned int value, int shift);
|
||||
__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift);
|
||||
__INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift);
|
||||
__INTRIN_INLINE unsigned char _rotr8(unsigned char value, unsigned char shift);
|
||||
__INTRIN_INLINE unsigned short _rotr16(unsigned short value, unsigned char shift);
|
||||
|
@ -1114,6 +1115,21 @@ __INTRIN_INLINE unsigned int _rotl(unsigned int value, int shift)
|
|||
return retval;
|
||||
}
|
||||
|
||||
#ifdef _M_AMD64
|
||||
__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift)
|
||||
{
|
||||
unsigned __int64 retval;
|
||||
__asm__("rolq %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift));
|
||||
return retval;
|
||||
}
|
||||
#else
|
||||
__INTRIN_INLINE unsigned __int64 _rotl64(unsigned __int64 value, int shift)
|
||||
{
|
||||
/* FIXME: this is probably not optimal */
|
||||
return (value << shift) | (value >> (64 - shift));
|
||||
}
|
||||
#endif
|
||||
|
||||
__INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift)
|
||||
{
|
||||
unsigned long retval;
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
|
||||
#ifndef _BASETYPS_H
|
||||
#define _BASETYPS_H
|
||||
#pragma once
|
||||
|
||||
#include <guiddef.h>
|
||||
|
||||
#ifndef __OBJC__
|
||||
# ifdef __cplusplus
|
||||
|
@ -72,8 +76,6 @@
|
|||
# define DECLARE_INTERFACE_(i,b) DECLARE_INTERFACE(i)
|
||||
#endif
|
||||
|
||||
#include <guiddef.h>
|
||||
|
||||
#ifndef _ERROR_STATUS_T_DEFINED
|
||||
#define _ERROR_STATUS_T_DEFINED
|
||||
typedef unsigned long error_status_t;
|
||||
|
|
|
@ -39,6 +39,13 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Default to strict */
|
||||
#ifndef NO_STRICT
|
||||
#ifndef STRICT
|
||||
//#define STRICT 1 // FIXME: disabled for now
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Pseudo Modifiers for Input Parameters */
|
||||
|
||||
#ifndef IN
|
||||
|
@ -91,6 +98,12 @@ extern "C" {
|
|||
#define ANYSIZE_ARRAY 1
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define EXTERN_C extern "C"
|
||||
#else
|
||||
#define EXTERN_C extern
|
||||
#endif
|
||||
|
||||
/* Helper macro to enable gcc's extension. */
|
||||
#ifndef __GNU_EXTENSION
|
||||
#ifdef __GNUC__
|
||||
|
@ -579,6 +592,7 @@ typedef enum
|
|||
#pragma warning(push)
|
||||
#pragma warning(disable:4201)
|
||||
#endif
|
||||
|
||||
/* Used to store a non-float 8 byte aligned structure */
|
||||
typedef struct _QUAD
|
||||
{
|
||||
|
@ -701,24 +715,6 @@ typedef struct _STRING64 {
|
|||
UNICODE_STRING64, *PUNICODE_STRING64,
|
||||
ANSI_STRING64, *PANSI_STRING64;
|
||||
|
||||
/* LangID and NLS */
|
||||
#define MAKELANGID(p, s) ((((USHORT)(s)) << 10) | (USHORT)(p))
|
||||
#define PRIMARYLANGID(lgid) ((USHORT)(lgid) & 0x3ff)
|
||||
#define SUBLANGID(lgid) ((USHORT)(lgid) >> 10)
|
||||
|
||||
#define NLS_VALID_LOCALE_MASK 0x000fffff
|
||||
|
||||
#define MAKELCID(lgid, srtid) ((ULONG)((((ULONG)((USHORT)(srtid))) << 16) | \
|
||||
((ULONG)((USHORT)(lgid)))))
|
||||
#define MAKESORTLCID(lgid, srtid, ver) \
|
||||
((ULONG)((MAKELCID(lgid, srtid)) | \
|
||||
(((ULONG)((USHORT)(ver))) << 20)))
|
||||
#define LANGIDFROMLCID(lcid) ((USHORT)(lcid))
|
||||
#define SORTIDFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf))
|
||||
#define SORTVERSIONFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf))
|
||||
|
||||
#define LOCALE_NAME_MAX_LENGTH 85
|
||||
|
||||
/* Object Attributes */
|
||||
typedef struct _OBJECT_ATTRIBUTES {
|
||||
ULONG Length;
|
||||
|
@ -836,6 +832,8 @@ typedef struct _PROCESSOR_NUMBER {
|
|||
UCHAR Reserved;
|
||||
} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER;
|
||||
|
||||
#define ALL_PROCESSOR_GROUPS 0xffff
|
||||
|
||||
_IRQL_requires_same_
|
||||
_Function_class_(EXCEPTION_ROUTINE)
|
||||
typedef
|
||||
|
@ -905,6 +903,20 @@ char _RTL_CONSTANT_STRING_type_check(const void *s);
|
|||
#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A)
|
||||
#define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A)
|
||||
|
||||
#define RTL_NUMBER_OF_FIELD(type, field) \
|
||||
(RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field)))
|
||||
|
||||
#define RTL_PADDING_BETWEEN_FIELDS(type, field1, field2) \
|
||||
((FIELD_OFFSET(type, field2) > FIELD_OFFSET(type, field1)) \
|
||||
? (FIELD_OFFSET(type, field2) - FIELD_OFFSET(type, field1) - RTL_FIELD_SIZE(type, field1)) \
|
||||
: (FIELD_OFFSET(type, field1) - FIELD_OFFSET(type, field2) - RTL_FIELD_SIZE(type, field2)))
|
||||
|
||||
#if defined(__cplusplus)
|
||||
#define RTL_CONST_CAST(type) const_cast<type>
|
||||
#else
|
||||
#define RTL_CONST_CAST(type) (type)
|
||||
#endif
|
||||
|
||||
/* Type Limits */
|
||||
#define MINCHAR 0x80
|
||||
#define MAXCHAR 0x7f
|
||||
|
@ -934,6 +946,18 @@ char _RTL_CONSTANT_STRING_type_check(const void *s);
|
|||
#define Int64ShrlMod32(a,b) __ull_rshift(a,b)
|
||||
#endif
|
||||
|
||||
#define RotateLeft32 _rotl
|
||||
#define RotateLeft64 _rotl64
|
||||
#define RotateRight32 _rotr
|
||||
#define RotateRight64 _rotr64
|
||||
|
||||
#if defined(_M_AMD64)
|
||||
#define RotateLeft8 _rotl8
|
||||
#define RotateLeft16 _rotl16
|
||||
#define RotateRight8 _rotr8
|
||||
#define RotateRight16 _rotr16
|
||||
#endif /* _M_AMD64 */
|
||||
|
||||
/* C_ASSERT Definition */
|
||||
#define C_ASSERT(expr) extern char (*c_assert(void)) [(expr) ? 1 : -1]
|
||||
|
||||
|
@ -965,10 +989,120 @@ char _RTL_CONSTANT_STRING_type_check(const void *s);
|
|||
#define VER_SUITE_COMPUTE_SERVER 0x00004000
|
||||
#define VER_SUITE_WH_SERVER 0x00008000
|
||||
|
||||
#define PRODUCT_UNDEFINED 0x00000000
|
||||
#define PRODUCT_ULTIMATE 0x00000001
|
||||
#define PRODUCT_HOME_BASIC 0x00000002
|
||||
#define PRODUCT_HOME_PREMIUM 0x00000003
|
||||
#define PRODUCT_ENTERPRISE 0x00000004
|
||||
#define PRODUCT_HOME_BASIC_N 0x00000005
|
||||
#define PRODUCT_BUSINESS 0x00000006
|
||||
#define PRODUCT_STANDARD_SERVER 0x00000007
|
||||
#define PRODUCT_DATACENTER_SERVER 0x00000008
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
|
||||
#define PRODUCT_ENTERPRISE_SERVER 0x0000000A
|
||||
#define PRODUCT_STARTER 0x0000000B
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
|
||||
#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
|
||||
#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
|
||||
#define PRODUCT_BUSINESS_N 0x00000010
|
||||
#define PRODUCT_WEB_SERVER 0x00000011
|
||||
#define PRODUCT_CLUSTER_SERVER 0x00000012
|
||||
#define PRODUCT_HOME_SERVER 0x00000013
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
|
||||
#define PRODUCT_HOME_PREMIUM_N 0x0000001A
|
||||
#define PRODUCT_ENTERPRISE_N 0x0000001B
|
||||
#define PRODUCT_ULTIMATE_N 0x0000001C
|
||||
#define PRODUCT_WEB_SERVER_CORE 0x0000001D
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
|
||||
#define PRODUCT_SERVER_FOUNDATION 0x00000021
|
||||
#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
|
||||
#define PRODUCT_STANDARD_SERVER_V 0x00000024
|
||||
#define PRODUCT_DATACENTER_SERVER_V 0x00000025
|
||||
#define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
|
||||
#define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
|
||||
#define PRODUCT_HYPERV 0x0000002A
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E
|
||||
#define PRODUCT_STARTER_N 0x0000002F
|
||||
#define PRODUCT_PROFESSIONAL 0x00000030
|
||||
#define PRODUCT_PROFESSIONAL_N 0x00000031
|
||||
#define PRODUCT_SB_SOLUTION_SERVER 0x00000032
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035
|
||||
#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x00000039
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F
|
||||
#define PRODUCT_CLUSTER_SERVER_V 0x00000040
|
||||
#define PRODUCT_EMBEDDED 0x00000041
|
||||
#define PRODUCT_STARTER_E 0x00000042
|
||||
#define PRODUCT_HOME_BASIC_E 0x00000043
|
||||
#define PRODUCT_HOME_PREMIUM_E 0x00000044
|
||||
#define PRODUCT_PROFESSIONAL_E 0x00000045
|
||||
#define PRODUCT_ENTERPRISE_E 0x00000046
|
||||
#define PRODUCT_ULTIMATE_E 0x00000047
|
||||
#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048
|
||||
#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C
|
||||
#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D
|
||||
#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F
|
||||
#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050
|
||||
#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054
|
||||
#define PRODUCT_EMBEDDED_AUTOMOTIVE 0x00000055
|
||||
#define PRODUCT_EMBEDDED_INDUSTRY_A 0x00000056
|
||||
#define PRODUCT_THINPC 0x00000057
|
||||
#define PRODUCT_EMBEDDED_A 0x00000058
|
||||
#define PRODUCT_EMBEDDED_INDUSTRY 0x00000059
|
||||
#define PRODUCT_EMBEDDED_E 0x0000005A
|
||||
#define PRODUCT_EMBEDDED_INDUSTRY_E 0x0000005B
|
||||
#define PRODUCT_EMBEDDED_INDUSTRY_A_E 0x0000005C
|
||||
#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
|
||||
#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060
|
||||
#define PRODUCT_CORE_ARM 0x00000061
|
||||
#define PRODUCT_CORE_N 0x00000062
|
||||
#define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063
|
||||
#define PRODUCT_CORE_SINGLELANGUAGE 0x00000064
|
||||
#define PRODUCT_CORE 0x00000065
|
||||
#define PRODUCT_PROFESSIONAL_WMC 0x00000067
|
||||
#define PRODUCT_UNLICENSED 0xABCDABCD
|
||||
|
||||
/* LangID and NLS */
|
||||
#define MAKELANGID(p, s) ((((USHORT)(s)) << 10) | (USHORT)(p))
|
||||
#define PRIMARYLANGID(lgid) ((USHORT)(lgid) & 0x3ff)
|
||||
#define SUBLANGID(lgid) ((USHORT)(lgid) >> 10)
|
||||
#define MAKELCID(lgid, srtid) ((ULONG)((((ULONG)((USHORT)(srtid))) << 16) | \
|
||||
((ULONG)((USHORT)(lgid)))))
|
||||
#define MAKESORTLCID(lgid, srtid, ver) \
|
||||
((ULONG)((MAKELCID(lgid, srtid)) | \
|
||||
(((ULONG)((USHORT)(ver))) << 20)))
|
||||
#define LANGIDFROMLCID(lcid) ((USHORT)(lcid))
|
||||
#define SORTIDFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 16) & 0xf))
|
||||
#define SORTVERSIONFROMLCID(lcid) ((USHORT)((((ULONG)(lcid)) >> 20) & 0xf))
|
||||
|
||||
#define NLS_VALID_LOCALE_MASK 0x000fffff
|
||||
#define LOCALE_NAME_MAX_LENGTH 85
|
||||
|
||||
/* Primary language IDs. */
|
||||
#define LANG_NEUTRAL 0x00
|
||||
#define LANG_INVARIANT 0x7f
|
||||
|
||||
#define LANG_AFRIKAANS 0x36
|
||||
#define LANG_ALBANIAN 0x1c
|
||||
#define LANG_ALSATIAN 0x84
|
||||
|
@ -1108,6 +1242,281 @@ char _RTL_CONSTANT_STRING_type_check(const void *s);
|
|||
#define LANG_YORUBA 0x6a
|
||||
#define LANG_ZULU 0x35
|
||||
|
||||
#define SUBLANG_NEUTRAL 0x00
|
||||
#define SUBLANG_DEFAULT 0x01
|
||||
#define SUBLANG_SYS_DEFAULT 0x02
|
||||
#define SUBLANG_CUSTOM_DEFAULT 0x03
|
||||
#define SUBLANG_CUSTOM_UNSPECIFIED 0x04
|
||||
#define SUBLANG_UI_CUSTOM_DEFAULT 0x05
|
||||
#define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01
|
||||
#define SUBLANG_ALBANIAN_ALBANIA 0x01
|
||||
#define SUBLANG_ALSATIAN_FRANCE 0x01
|
||||
#define SUBLANG_AMHARIC_ETHIOPIA 0x01
|
||||
#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
|
||||
#define SUBLANG_ARABIC_IRAQ 0x02
|
||||
#define SUBLANG_ARABIC_EGYPT 0x03
|
||||
#define SUBLANG_ARABIC_LIBYA 0x04
|
||||
#define SUBLANG_ARABIC_ALGERIA 0x05
|
||||
#define SUBLANG_ARABIC_MOROCCO 0x06
|
||||
#define SUBLANG_ARABIC_TUNISIA 0x07
|
||||
#define SUBLANG_ARABIC_OMAN 0x08
|
||||
#define SUBLANG_ARABIC_YEMEN 0x09
|
||||
#define SUBLANG_ARABIC_SYRIA 0x0a
|
||||
#define SUBLANG_ARABIC_JORDAN 0x0b
|
||||
#define SUBLANG_ARABIC_LEBANON 0x0c
|
||||
#define SUBLANG_ARABIC_KUWAIT 0x0d
|
||||
#define SUBLANG_ARABIC_UAE 0x0e
|
||||
#define SUBLANG_ARABIC_BAHRAIN 0x0f
|
||||
#define SUBLANG_ARABIC_QATAR 0x10
|
||||
#define SUBLANG_ARMENIAN_ARMENIA 0x01
|
||||
#define SUBLANG_ASSAMESE_INDIA 0x01
|
||||
#define SUBLANG_AZERI_LATIN 0x01
|
||||
#define SUBLANG_AZERI_CYRILLIC 0x02
|
||||
#define SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01
|
||||
#define SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02
|
||||
#define SUBLANG_BANGLA_INDIA 0x01
|
||||
#define SUBLANG_BANGLA_BANGLADESH 0x02
|
||||
#define SUBLANG_BASHKIR_RUSSIA 0x01
|
||||
#define SUBLANG_BASQUE_BASQUE 0x01
|
||||
#define SUBLANG_BELARUSIAN_BELARUS 0x01
|
||||
#define SUBLANG_BENGALI_INDIA 0x01
|
||||
#define SUBLANG_BENGALI_BANGLADESH 0x02
|
||||
#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05
|
||||
#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08
|
||||
#define SUBLANG_BRETON_FRANCE 0x01
|
||||
#define SUBLANG_BULGARIAN_BULGARIA 0x01
|
||||
#define SUBLANG_CATALAN_CATALAN 0x01
|
||||
#define SUBLANG_CENTRAL_KURDISH_IRAQ 0x01
|
||||
#define SUBLANG_CHEROKEE_CHEROKEE 0x01
|
||||
#define SUBLANG_CHINESE_TRADITIONAL 0x01
|
||||
#define SUBLANG_CHINESE_SIMPLIFIED 0x02
|
||||
#define SUBLANG_CHINESE_HONGKONG 0x03
|
||||
#define SUBLANG_CHINESE_SINGAPORE 0x04
|
||||
#define SUBLANG_CHINESE_MACAU 0x05
|
||||
#define SUBLANG_CORSICAN_FRANCE 0x01
|
||||
#define SUBLANG_CZECH_CZECH_REPUBLIC 0x01
|
||||
#define SUBLANG_CROATIAN_CROATIA 0x01
|
||||
#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04
|
||||
#define SUBLANG_DANISH_DENMARK 0x01
|
||||
#define SUBLANG_DARI_AFGHANISTAN 0x01
|
||||
#define SUBLANG_DIVEHI_MALDIVES 0x01
|
||||
#define SUBLANG_DUTCH 0x01
|
||||
#define SUBLANG_DUTCH_BELGIAN 0x02
|
||||
#define SUBLANG_ENGLISH_US 0x01
|
||||
#define SUBLANG_ENGLISH_UK 0x02
|
||||
#define SUBLANG_ENGLISH_AUS 0x03
|
||||
#define SUBLANG_ENGLISH_CAN 0x04
|
||||
#define SUBLANG_ENGLISH_NZ 0x05
|
||||
#define SUBLANG_ENGLISH_EIRE 0x06
|
||||
#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
|
||||
#define SUBLANG_ENGLISH_JAMAICA 0x08
|
||||
#define SUBLANG_ENGLISH_CARIBBEAN 0x09
|
||||
#define SUBLANG_ENGLISH_BELIZE 0x0a
|
||||
#define SUBLANG_ENGLISH_TRINIDAD 0x0b
|
||||
#define SUBLANG_ENGLISH_ZIMBABWE 0x0c
|
||||
#define SUBLANG_ENGLISH_PHILIPPINES 0x0d
|
||||
#define SUBLANG_ENGLISH_INDIA 0x10
|
||||
#define SUBLANG_ENGLISH_MALAYSIA 0x11
|
||||
#define SUBLANG_ENGLISH_SINGAPORE 0x12
|
||||
#define SUBLANG_ESTONIAN_ESTONIA 0x01
|
||||
#define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01
|
||||
#define SUBLANG_FILIPINO_PHILIPPINES 0x01
|
||||
#define SUBLANG_FINNISH_FINLAND 0x01
|
||||
#define SUBLANG_FRENCH 0x01
|
||||
#define SUBLANG_FRENCH_BELGIAN 0x02
|
||||
#define SUBLANG_FRENCH_CANADIAN 0x03
|
||||
#define SUBLANG_FRENCH_SWISS 0x04
|
||||
#define SUBLANG_FRENCH_LUXEMBOURG 0x05
|
||||
#define SUBLANG_FRENCH_MONACO 0x06
|
||||
#define SUBLANG_FRISIAN_NETHERLANDS 0x01
|
||||
#define SUBLANG_FULAH_SENEGAL 0x02
|
||||
#define SUBLANG_GALICIAN_GALICIAN 0x01
|
||||
#define SUBLANG_GEORGIAN_GEORGIA 0x01
|
||||
#define SUBLANG_GERMAN 0x01
|
||||
#define SUBLANG_GERMAN_SWISS 0x02
|
||||
#define SUBLANG_GERMAN_AUSTRIAN 0x03
|
||||
#define SUBLANG_GERMAN_LUXEMBOURG 0x04
|
||||
#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
|
||||
#define SUBLANG_GREEK_GREECE 0x01
|
||||
#define SUBLANG_GREENLANDIC_GREENLAND 0x01
|
||||
#define SUBLANG_GUJARATI_INDIA 0x01
|
||||
#define SUBLANG_HAUSA_NIGERIA_LATIN 0x01
|
||||
#define SUBLANG_HAWAIIAN_US 0x01
|
||||
#define SUBLANG_HEBREW_ISRAEL 0x01
|
||||
#define SUBLANG_HINDI_INDIA 0x01
|
||||
#define SUBLANG_HUNGARIAN_HUNGARY 0x01
|
||||
#define SUBLANG_ICELANDIC_ICELAND 0x01
|
||||
#define SUBLANG_IGBO_NIGERIA 0x01
|
||||
#define SUBLANG_INDONESIAN_INDONESIA 0x01
|
||||
#define SUBLANG_INUKTITUT_CANADA 0x01
|
||||
#define SUBLANG_INUKTITUT_CANADA_LATIN 0x02
|
||||
#define SUBLANG_IRISH_IRELAND 0x02
|
||||
#define SUBLANG_ITALIAN 0x01
|
||||
#define SUBLANG_ITALIAN_SWISS 0x02
|
||||
#define SUBLANG_JAPANESE_JAPAN 0x01
|
||||
#define SUBLANG_KANNADA_INDIA 0x01
|
||||
#define SUBLANG_KASHMIRI_SASIA 0x02
|
||||
#define SUBLANG_KASHMIRI_INDIA 0x02
|
||||
#define SUBLANG_KAZAK_KAZAKHSTAN 0x01
|
||||
#define SUBLANG_KHMER_CAMBODIA 0x01
|
||||
#define SUBLANG_KICHE_GUATEMALA 0x01
|
||||
#define SUBLANG_KINYARWANDA_RWANDA 0x01
|
||||
#define SUBLANG_KONKANI_INDIA 0x01
|
||||
#define SUBLANG_KOREAN 0x01
|
||||
#define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01
|
||||
#define SUBLANG_LAO_LAO 0x01
|
||||
#define SUBLANG_LATVIAN_LATVIA 0x01
|
||||
#define SUBLANG_LITHUANIAN 0x01
|
||||
#define SUBLANG_LOWER_SORBIAN_GERMANY 0x02
|
||||
#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01
|
||||
#define SUBLANG_MACEDONIAN_MACEDONIA 0x01
|
||||
#define SUBLANG_MALAY_MALAYSIA 0x01
|
||||
#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
|
||||
#define SUBLANG_MALAYALAM_INDIA 0x01
|
||||
#define SUBLANG_MALTESE_MALTA 0x01
|
||||
#define SUBLANG_MAORI_NEW_ZEALAND 0x01
|
||||
#define SUBLANG_MAPUDUNGUN_CHILE 0x01
|
||||
#define SUBLANG_MARATHI_INDIA 0x01
|
||||
#define SUBLANG_MOHAWK_MOHAWK 0x01
|
||||
#define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01
|
||||
#define SUBLANG_MONGOLIAN_PRC 0x02
|
||||
#define SUBLANG_NEPALI_INDIA 0x02
|
||||
#define SUBLANG_NEPALI_NEPAL 0x01
|
||||
#define SUBLANG_NORWEGIAN_BOKMAL 0x01
|
||||
#define SUBLANG_NORWEGIAN_NYNORSK 0x02
|
||||
#define SUBLANG_OCCITAN_FRANCE 0x01
|
||||
#define SUBLANG_ODIA_INDIA 0x01
|
||||
#define SUBLANG_ORIYA_INDIA 0x01
|
||||
#define SUBLANG_PASHTO_AFGHANISTAN 0x01
|
||||
#define SUBLANG_PERSIAN_IRAN 0x01
|
||||
#define SUBLANG_POLISH_POLAND 0x01
|
||||
#define SUBLANG_PORTUGUESE 0x02
|
||||
#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01
|
||||
#define SUBLANG_PULAR_SENEGAL 0x02
|
||||
#define SUBLANG_PUNJABI_INDIA 0x01
|
||||
#define SUBLANG_PUNJABI_PAKISTAN 0x02
|
||||
#define SUBLANG_QUECHUA_BOLIVIA 0x01
|
||||
#define SUBLANG_QUECHUA_ECUADOR 0x02
|
||||
#define SUBLANG_QUECHUA_PERU 0x03
|
||||
#define SUBLANG_ROMANIAN_ROMANIA 0x01
|
||||
#define SUBLANG_ROMANSH_SWITZERLAND 0x01
|
||||
#define SUBLANG_RUSSIAN_RUSSIA 0x01
|
||||
#define SUBLANG_SAKHA_RUSSIA 0x01
|
||||
#define SUBLANG_SAMI_NORTHERN_NORWAY 0x01
|
||||
#define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02
|
||||
#define SUBLANG_SAMI_NORTHERN_FINLAND 0x03
|
||||
#define SUBLANG_SAMI_LULE_NORWAY 0x04
|
||||
#define SUBLANG_SAMI_LULE_SWEDEN 0x05
|
||||
#define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06
|
||||
#define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07
|
||||
#define SUBLANG_SAMI_SKOLT_FINLAND 0x08
|
||||
#define SUBLANG_SAMI_INARI_FINLAND 0x09
|
||||
#define SUBLANG_SANSKRIT_INDIA 0x01
|
||||
#define SUBLANG_SCOTTISH_GAELIC 0x01
|
||||
#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06
|
||||
#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07
|
||||
#define SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b
|
||||
#define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c
|
||||
#define SUBLANG_SERBIAN_SERBIA_LATIN 0x09
|
||||
#define SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a
|
||||
#define SUBLANG_SERBIAN_CROATIA 0x01
|
||||
#define SUBLANG_SERBIAN_LATIN 0x02
|
||||
#define SUBLANG_SERBIAN_CYRILLIC 0x03
|
||||
#define SUBLANG_SINDHI_INDIA 0x01
|
||||
#define SUBLANG_SINDHI_PAKISTAN 0x02
|
||||
#define SUBLANG_SINDHI_AFGHANISTAN 0x02
|
||||
#define SUBLANG_SINHALESE_SRI_LANKA 0x01
|
||||
#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01
|
||||
#define SUBLANG_SLOVAK_SLOVAKIA 0x01
|
||||
#define SUBLANG_SLOVENIAN_SLOVENIA 0x01
|
||||
#define SUBLANG_SPANISH 0x01
|
||||
#define SUBLANG_SPANISH_MEXICAN 0x02
|
||||
#define SUBLANG_SPANISH_MODERN 0x03
|
||||
#define SUBLANG_SPANISH_GUATEMALA 0x04
|
||||
#define SUBLANG_SPANISH_COSTA_RICA 0x05
|
||||
#define SUBLANG_SPANISH_PANAMA 0x06
|
||||
#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
|
||||
#define SUBLANG_SPANISH_VENEZUELA 0x08
|
||||
#define SUBLANG_SPANISH_COLOMBIA 0x09
|
||||
#define SUBLANG_SPANISH_PERU 0x0a
|
||||
#define SUBLANG_SPANISH_ARGENTINA 0x0b
|
||||
#define SUBLANG_SPANISH_ECUADOR 0x0c
|
||||
#define SUBLANG_SPANISH_CHILE 0x0d
|
||||
#define SUBLANG_SPANISH_URUGUAY 0x0e
|
||||
#define SUBLANG_SPANISH_PARAGUAY 0x0f
|
||||
#define SUBLANG_SPANISH_BOLIVIA 0x10
|
||||
#define SUBLANG_SPANISH_EL_SALVADOR 0x11
|
||||
#define SUBLANG_SPANISH_HONDURAS 0x12
|
||||
#define SUBLANG_SPANISH_NICARAGUA 0x13
|
||||
#define SUBLANG_SPANISH_PUERTO_RICO 0x14
|
||||
#define SUBLANG_SPANISH_US 0x15
|
||||
#define SUBLANG_SWAHILI_KENYA 0x01
|
||||
#define SUBLANG_SWEDISH 0x01
|
||||
#define SUBLANG_SWEDISH_FINLAND 0x02
|
||||
#define SUBLANG_SYRIAC_SYRIA 0x01
|
||||
#define SUBLANG_TAJIK_TAJIKISTAN 0x01
|
||||
#define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
|
||||
#define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04
|
||||
#define SUBLANG_TAMIL_INDIA 0x01
|
||||
#define SUBLANG_TAMIL_SRI_LANKA 0x02
|
||||
#define SUBLANG_TATAR_RUSSIA 0x01
|
||||
#define SUBLANG_TELUGU_INDIA 0x01
|
||||
#define SUBLANG_THAI_THAILAND 0x01
|
||||
#define SUBLANG_TIBETAN_PRC 0x01
|
||||
#define SUBLANG_TIGRIGNA_ERITREA 0x02
|
||||
#define SUBLANG_TIGRINYA_ERITREA 0x02
|
||||
#define SUBLANG_TIGRINYA_ETHIOPIA 0x01
|
||||
#define SUBLANG_TSWANA_BOTSWANA 0x02
|
||||
#define SUBLANG_TSWANA_SOUTH_AFRICA 0x01
|
||||
#define SUBLANG_TURKISH_TURKEY 0x01
|
||||
#define SUBLANG_TURKMEN_TURKMENISTAN 0x01
|
||||
#define SUBLANG_UIGHUR_PRC 0x01
|
||||
#define SUBLANG_UKRAINIAN_UKRAINE 0x01
|
||||
#define SUBLANG_UPPER_SORBIAN_GERMANY 0x01
|
||||
#define SUBLANG_URDU_PAKISTAN 0x01
|
||||
#define SUBLANG_URDU_INDIA 0x02
|
||||
#define SUBLANG_UZBEK_LATIN 0x01
|
||||
#define SUBLANG_UZBEK_CYRILLIC 0x02
|
||||
#define SUBLANG_VALENCIAN_VALENCIA 0x02
|
||||
#define SUBLANG_VIETNAMESE_VIETNAM 0x01
|
||||
#define SUBLANG_WELSH_UNITED_KINGDOM 0x01
|
||||
#define SUBLANG_WOLOF_SENEGAL 0x01
|
||||
#define SUBLANG_XHOSA_SOUTH_AFRICA 0x01
|
||||
#define SUBLANG_YAKUT_RUSSIA 0x01
|
||||
#define SUBLANG_YI_PRC 0x01
|
||||
#define SUBLANG_YORUBA_NIGERIA 0x01
|
||||
#define SUBLANG_ZULU_SOUTH_AFRICA 0x01
|
||||
|
||||
#define SORT_DEFAULT 0x0
|
||||
#define SORT_INVARIANT_MATH 0x1
|
||||
#define SORT_JAPANESE_XJIS 0x0
|
||||
#define SORT_JAPANESE_UNICODE 0x1
|
||||
#define SORT_JAPANESE_RADICALSTROKE 0x4
|
||||
#define SORT_CHINESE_BIG5 0x0
|
||||
#define SORT_CHINESE_PRCP 0x0
|
||||
#define SORT_CHINESE_UNICODE 0x1
|
||||
#define SORT_CHINESE_PRC 0x2
|
||||
#define SORT_CHINESE_BOPOMOFO 0x3
|
||||
#define SORT_CHINESE_RADICALSTROKE 0x4
|
||||
#define SORT_KOREAN_KSC 0x0
|
||||
#define SORT_KOREAN_UNICODE 0x1
|
||||
#define SORT_GERMAN_PHONE_BOOK 0x1
|
||||
#define SORT_HUNGARIAN_DEFAULT 0x0
|
||||
#define SORT_HUNGARIAN_TECHNICAL 0x1
|
||||
#define SORT_GEORGIAN_TRADITIONAL 0x0
|
||||
#define SORT_GEORGIAN_MODERN 0x1
|
||||
|
||||
#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT))
|
||||
#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT))
|
||||
|
||||
#define LOCALE_SYSTEM_DEFAULT MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT)
|
||||
#define LOCALE_USER_DEFAULT MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)
|
||||
#define LOCALE_CUSTOM_DEFAULT MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT)
|
||||
#define LOCALE_CUSTOM_UNSPECIFIED MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT)
|
||||
#define LOCALE_CUSTOM_UI_DEFAULT MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT)
|
||||
#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT)
|
||||
#define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
|
@ -116,45 +116,57 @@ extern "C" {
|
|||
#define LOCALE_SABBREVMONTHNAME13 0x100F
|
||||
#define LOCALE_SPOSITIVESIGN 80
|
||||
#define LOCALE_SNEGATIVESIGN 81
|
||||
#define LOCALE_SSCRIPTS 108
|
||||
#define LOCALE_SSCRIPTS 108 // FIXME
|
||||
#define LOCALE_IPOSSIGNPOSN 82
|
||||
#define LOCALE_INEGSIGNPOSN 83
|
||||
#define LOCALE_IPOSSYMPRECEDES 84
|
||||
#define LOCALE_IPOSSEPBYSPACE 85
|
||||
#define LOCALE_INEGSYMPRECEDES 86
|
||||
#define LOCALE_INEGSEPBYSPACE 87
|
||||
#if (WINVER >= 0x0400)
|
||||
#define LOCALE_FONTSIGNATURE 88
|
||||
#define LOCALE_SISO639LANGNAME 89
|
||||
#define LOCALE_SISO3166CTRYNAME 90
|
||||
#define LOCALE_SNAME 92
|
||||
#endif
|
||||
#if (WINVER >= 0x0600)
|
||||
#define LOCALE_SSCRIPTS 108
|
||||
#endif
|
||||
#define LOCALE_SYSTEM_DEFAULT 0x800
|
||||
#define LOCALE_USER_DEFAULT 0x400
|
||||
#define LOCALE_SNAME 92 // FIXME
|
||||
|
||||
#if (WINVER >= 0x0600)
|
||||
#define LOCALE_SNAME 92
|
||||
#define LOCALE_SDURATION 93
|
||||
#define LOCALE_SKEYBOARDSTOINSTALL 94
|
||||
#define LOCALE_SSHORTESTDAYNAME1 96
|
||||
#define LOCALE_SSHORTESTDAYNAME2 97
|
||||
#define LOCALE_SSHORTESTDAYNAME3 98
|
||||
#define LOCALE_SSHORTESTDAYNAME4 99
|
||||
#define LOCALE_SSHORTESTDAYNAME5 100
|
||||
#define LOCALE_SSHORTESTDAYNAME6 101
|
||||
#define LOCALE_SSHORTESTDAYNAME7 102
|
||||
#define LOCALE_SISO639LANGNAME2 103
|
||||
#define LOCALE_SISO3166CTRYNAME2 104
|
||||
#define LOCALE_SNAN 105
|
||||
#define LOCALE_SPOSINFINITY 106
|
||||
#define LOCALE_SNEGINFINITY 107
|
||||
#define LOCALE_SSCRIPTS 108
|
||||
#define LOCALE_SPARENT 109
|
||||
#define LOCALE_SCONSOLEFALLBACKNAME 110
|
||||
#endif /* (WINVER >= 0x0600) */
|
||||
|
||||
//#if (WINVER >= _WIN32_WINNT_WIN7)
|
||||
#define LOCALE_IREADINGLAYOUT 0x0070
|
||||
#define LOCALE_INEUTRAL 0x0071
|
||||
#define LOCALE_INEGATIVEPERCENT 0x0074
|
||||
#define LOCALE_IPOSITIVEPERCENT 0x0075
|
||||
#define LOCALE_SPERCENT 0x0076
|
||||
#define LOCALE_SPERMILLE 0x0077
|
||||
#define LOCALE_SMONTHDAY 0x0078
|
||||
#define LOCALE_SSHORTTIME 0x0079
|
||||
#define LOCALE_SOPENTYPELANGUAGETAG 0x007a
|
||||
#define LOCALE_SSORTLOCALE 0x007b
|
||||
//#endif /* (WINVER >= _WIN32_WINNT_WIN7) */
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# define LOCALE_NAME_INVARIANT (const WCHAR []){ 0 }
|
||||
#elif defined(_MSC_VER)
|
||||
# define LOCALE_NAME_INVARIANT L""
|
||||
#else
|
||||
static const WCHAR LOCALE_NAME_INVARIANT[] = { 0 };
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# define LOCALE_NAME_SYSTEM_DEFAULT (const WCHAR []){'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0}
|
||||
#elif defined(_MSC_VER)
|
||||
# define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
|
||||
#else
|
||||
static const WCHAR LOCALE_NAME_SYSTEM_DEFAULT[] = {'!','s','y','s','-','d','e','f','a','u','l','t','-','l','o','c','a','l','e',0};
|
||||
#endif
|
||||
|
||||
#if (WINVER >= 0x0600)
|
||||
#define LOCALE_NAME_USER_DEFAULT NULL
|
||||
#define LOCALE_NAME_INVARIANT L""
|
||||
#define LOCALE_NAME_SYSTEM_DEFAULT L"!sys-default-locale"
|
||||
#endif
|
||||
|
||||
#define LOCALE_IDEFAULTUNIXCODEPAGE 0x1030 /* Wine extension */
|
||||
|
||||
|
|
|
@ -1460,6 +1460,8 @@ typedef enum {
|
|||
#define LANGIDFROMLCID(l) ((WORD)(l))
|
||||
#define LANG_SYSTEM_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)
|
||||
#define LANG_USER_DEFAULT MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)
|
||||
#define LOCALE_SYSTEM_DEFAULT MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT)
|
||||
#define LOCALE_USER_DEFAULT MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)
|
||||
#define LOCALE_NEUTRAL MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)
|
||||
#define LOCALE_INVARIANT MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT)
|
||||
#define LOCALE_NAME_MAX_LENGTH 85
|
||||
|
|
Loading…
Reference in a new issue