xref: /haiku/headers/os/drivers/usb/USB_langIDs.h (revision 571d840abfdf03de583b26fefd2066ee75b25cf4)
152fc197aSPhilippe Houdoin #ifndef USB_LANGIDS_H
252fc197aSPhilippe Houdoin #define USB_LANGIDS_H
352fc197aSPhilippe Houdoin 
452fc197aSPhilippe Houdoin // USB Language Identifiers, 3/29/2000, version 1.0
5*47abf6ebSPhilippe Houdoin // Reference: http://www.usb.org/developers/docs/USB_LANGIDs.pdf
652fc197aSPhilippe Houdoin 
752fc197aSPhilippe Houdoin #define USB_LANGIDS_VERSION		0x0100	// version 1.0
852fc197aSPhilippe Houdoin 
952fc197aSPhilippe Houdoin // descriptor string index 0 = supported LANGIDs array
1052fc197aSPhilippe Houdoin #define USB_LANGIDS_STRING_INDEX	(0)
1152fc197aSPhilippe Houdoin 
1252fc197aSPhilippe Houdoin #define USB_PRIMARY_LANGID_MASK		(0x003F)		// 9 to 0 bits
1352fc197aSPhilippe Houdoin #define USB_SUB_LANGID_MASK			(0xFC00)		// 15 to 10 bits
1452fc197aSPhilippe Houdoin 
1552fc197aSPhilippe Houdoin #define USB_PRIMARY_LANGID(id)		(id & USB_PRIMARY_LANGID_MASK)
1652fc197aSPhilippe Houdoin #define USB_SUB_LANGID(id)			((id & USB_SUB_LANGID_MASK) >> 10)
1752fc197aSPhilippe Houdoin 
1852fc197aSPhilippe Houdoin enum {
1952fc197aSPhilippe Houdoin 	USB_LANGID_AFRIKAANS				= 0x0436,	// Afrikaans
2052fc197aSPhilippe Houdoin 	USB_LANGID_ALBANIAN					= 0x041c,	// Albanian
2152fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_SAUDI_ARABIA		= 0x0401,	// Arabic (Saudi Arabia)
2252fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_IRAK				= 0x0801,	// Arabic (Irak)
2352fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_EGYPT				= 0x0c01,	// Arabic (Egypt)
2452fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_LYBYA				= 0x1001,	// Arabic (Libya)
2552fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_ALGERIA			= 0x1401,	// Arabic (Algeria)
2652fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_MOROCCO			= 0x1801,	// Arabic (Morocco)
2752fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_TUNISIA			= 0x1c01,	// Arabic (Tunisia)
2852fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_OMAN				= 0x2001,	// Arabic (Oman)
2952fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_YEMEN				= 0x2401,	// Arabic (Yemen)
3052fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_SYRIA				= 0x2801,	// Arabic (Syria)
3152fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_JORDAN			= 0x2c01,	// Arabic (Jordan)
3252fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_LEBANON			= 0x3001,	// Arabic (Lebanon)
3352fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_KUWAIT			= 0x3401,	// Arabic (Kuwait)
3452fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_UAE				= 0x3801,	// Arabic (U.A.E.)
3552fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_BAHRAIN			= 0x3c01,	// Arabic (Bahrain)
3652fc197aSPhilippe Houdoin 	USB_LANGID_ARABIC_QATAR				= 0x4001,	// Arabic (Qatar)
3752fc197aSPhilippe Houdoin 	USB_LANGID_ARMENIAN					= 0x042b,	// Armenian
3852fc197aSPhilippe Houdoin 	USB_LANGID_ASSAMESE					= 0x044d,	// Assamese
3952fc197aSPhilippe Houdoin 	USB_LANGID_AZERI_LATIN				= 0x042c,	// Azeri (Latin)
4052fc197aSPhilippe Houdoin 	USB_LANGID_AZERI_CYRILLIC			= 0x082c,	// Azeri (Cyrillic)
4152fc197aSPhilippe Houdoin 	USB_LANGID_BASQUE					= 0x042d,	// Basque
4252fc197aSPhilippe Houdoin 	USB_LANGID_BELARUSSIAN				= 0x0423,	// Belarussian
4352fc197aSPhilippe Houdoin 	USB_LANGID_BENGALI					= 0x0445,	// Bengali
4452fc197aSPhilippe Houdoin 	USB_LANGID_BULGARIAN				= 0x0402,	// Bulgarian
4552fc197aSPhilippe Houdoin 	USB_LANGID_BURMESE					= 0x0455,	// Burmese
4652fc197aSPhilippe Houdoin 	USB_LANGID_CATALAN					= 0x0403,	// Catalan
4752fc197aSPhilippe Houdoin 	USB_LANGID_CHINESE_TAIWAN			= 0x0404,	// Chinese (Taiwan)
4852fc197aSPhilippe Houdoin 	USB_LANGID_CHINESE_PRC				= 0x0804,	// Chinese (PRC = People Republic of Chinese)
4952fc197aSPhilippe Houdoin 	USB_LANGID_CHINESE_HONG_KONG		= 0x0c04,	// Chinese (Hong Kong)
5052fc197aSPhilippe Houdoin 	USB_LANGID_CHINESE_SINGAPORE		= 0x1004,	// Chinese (Singapore)
5152fc197aSPhilippe Houdoin 	USB_LANGID_CHINESE_MACAU_SAR		= 0x1404,	// Chinese (Macau SAR)
5252fc197aSPhilippe Houdoin 	USB_LANGID_CROATIAN					= 0x041a,	// Croatian
5352fc197aSPhilippe Houdoin 	USB_LANGID_CZECH					= 0x0405,	// Czech
5452fc197aSPhilippe Houdoin 	USB_LANGID_DANISH					= 0x0406,	// Danish
5552fc197aSPhilippe Houdoin 	USB_LANGID_DUTCH_NETHERLANDS		= 0x0413,	// Dutch (Netherlands)
5652fc197aSPhilippe Houdoin 	USB_LANGID_DUTCH_BELGIUM			= 0x0813,	// Dutch (Belgium)
5752fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_UNITED_STATES	= 0x0409,	// English (United States)
5852fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_UNITED_KINGDOM	= 0x0809,	// English (United Kingdom)
5952fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_AUSTRALIAN		= 0x0c09,	// English (Australian)
6052fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_CANADIAN			= 0x1009,	// English (Canadian)
6152fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_NEW_ZEALAND		= 0x1409,	// English (New Zealand)
6252fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_IRELAND			= 0x1809,	// English (Ireland)
6352fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_SOUTH_AFRICA		= 0x1c09,	// English (South Africa)
6452fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_JAMAICA			= 0x2009,	// English (Jamaica)
6552fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_CARIBBEAN		= 0x2409,	// English (Caribbean)
6652fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_BELIZE			= 0x2809,	// English (Belize)
6752fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_TRINIDAD			= 0x2c09,	// English (Trinidad)
6852fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_ZIMBABWE			= 0x3009,	// English (Zimbabwe)
6952fc197aSPhilippe Houdoin 	USB_LANGID_ENGLISH_PHLIPPINES		= 0x3409,	// English (Philippines)
7052fc197aSPhilippe Houdoin 	USB_LANGID_ESTONIAN					= 0x0425,	// Estonian
7152fc197aSPhilippe Houdoin 	USB_LANGID_FAEROESE					= 0x0438,	// Faeroese
7252fc197aSPhilippe Houdoin 	USB_LANGID_FARSI					= 0x0429,	// Farsi
7352fc197aSPhilippe Houdoin 	USB_LANGID_FINNISH					= 0x040b,	// Finnish
7452fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_STANDARD			= 0x040c,	// French (Standard)
7552fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_BELGIAN			= 0x080c,	// French (Belgian)
7652fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_CANADIAN			= 0x0c0c,	// French (Canadian)
7752fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_SWITZERLAND		= 0x100c,	// French (Switzerland)
7852fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_LUXEMBOURG		= 0x140c,	// French (Luxembourg)
7952fc197aSPhilippe Houdoin 	USB_LANGID_FRENCH_MONACO			= 0x180c,	// French (Monaco)
8052fc197aSPhilippe Houdoin 	USB_LANGID_GEORGIAN					= 0x0437,	// Georgian
8152fc197aSPhilippe Houdoin 	USB_LANGID_GERMAN_STANDARD			= 0x0407,	// German (Standard)
8252fc197aSPhilippe Houdoin 	USB_LANGID_GERMAN_SWITZERLAND		= 0x0807,	// German (Switzerland)
8352fc197aSPhilippe Houdoin 	USB_LANGID_GERMAN_AUSTRIA			= 0x0c07,	// German (Austria)
8452fc197aSPhilippe Houdoin 	USB_LANGID_GERMAN_LUXEMBOURG		= 0x1007,	// German (Luxembourg)
8552fc197aSPhilippe Houdoin 	USB_LANGID_GERMAN_LIECHTENSTEIN		= 0x1407,	// German (Liechtenstein)
8652fc197aSPhilippe Houdoin 	USB_LANGID_GREEK					= 0x0408,	// Greek
8752fc197aSPhilippe Houdoin 	USB_LANGID_GUJARATI					= 0x0447,	// Gujarati
8852fc197aSPhilippe Houdoin 	USB_LANGID_HEBREW					= 0x040d,	// Hebrew
8952fc197aSPhilippe Houdoin 	USB_LANGID_HINDI					= 0x0439,	// Hindi
9052fc197aSPhilippe Houdoin 	USB_LANGID_HUNGARIAN				= 0x040e,	// Hungarian
9152fc197aSPhilippe Houdoin 	USB_LANGID_ICELANDIC				= 0x040f,	// Icelandic
9252fc197aSPhilippe Houdoin 	USB_LANGID_INDONESIAN				= 0x0421,	// Indonesian
9352fc197aSPhilippe Houdoin 	USB_LANGID_ITALIAN_STANDARD			= 0x0410,	// Italian (Standard)
9452fc197aSPhilippe Houdoin 	USB_LANGID_ITALIAN_SWITZERLAND		= 0x0810,	// Italian (Switzerland)
9552fc197aSPhilippe Houdoin 	USB_LANGID_JAPANESE					= 0x0411,	// Japanese
9652fc197aSPhilippe Houdoin 	USB_LANGID_KANNADA					= 0x044b,	// Kannada
9752fc197aSPhilippe Houdoin 	USB_LANGID_KASHMIRI_INDIA			= 0x0860,	// Kashmiri (India)
9852fc197aSPhilippe Houdoin 	USB_LANGID_KAZAKH					= 0x043f,	// Kazakh
9952fc197aSPhilippe Houdoin 	USB_LANGID_KONKANI					= 0x0457,	// Konkani
10052fc197aSPhilippe Houdoin 	USB_LANGID_KOREAN_JOHAB				= 0x0412,	// Korean (Johab)
10152fc197aSPhilippe Houdoin 	USB_LANGID_LATVIAN					= 0x0426,	// Latvian
10252fc197aSPhilippe Houdoin 	USB_LANGID_LITHUANIAN				= 0x0427,	// Lithuanian
10352fc197aSPhilippe Houdoin 	USB_LANGID_LITHUANIAN_CLASSIC		= 0x0827,	// Lithuanian (Classic)
10452fc197aSPhilippe Houdoin 	USB_LANGID_MACEDONIAN				= 0x042f,	// Macedonian
10552fc197aSPhilippe Houdoin 	USB_LANGID_MALAY_MALAYSIAN			= 0x043e,	// Malay (Malaysian)
10652fc197aSPhilippe Houdoin 	USB_LANGID_MALAY_BRUNEI_DARUSSALAM	= 0x083e,	// Malay (Brunei Darussalam)
10752fc197aSPhilippe Houdoin 	USB_LANGID_MALAYALAM				= 0x044c,	// Malayalam
10852fc197aSPhilippe Houdoin 	USB_LANGID_MANIPURI					= 0x0458,	// Manipuri
10952fc197aSPhilippe Houdoin 	USB_LANGID_MARATHI					= 0x044e,	// Marathi
11052fc197aSPhilippe Houdoin 	USB_LANGID_NEPALI_INDIA				= 0x0861,	// Nepali (India)
11152fc197aSPhilippe Houdoin 	USB_LANGID_NORWEGIAN_BOKMAL			= 0x0414,	// Norwegian (Bokmal)
11252fc197aSPhilippe Houdoin 	USB_LANGID_NORWEGIAN_NYNORSK		= 0x0814,	// Norwegian (Nynorsk)
11352fc197aSPhilippe Houdoin 	USB_LANGID_ORIYA					= 0x0448,	// Oriya
11452fc197aSPhilippe Houdoin 	USB_LANGID_POLISH					= 0x0415,	// Polish
11552fc197aSPhilippe Houdoin 	USB_LANGID_PORTUGUESE_BRAZIL		= 0x0416,	// Portuguese (Brazil)
11652fc197aSPhilippe Houdoin 	USB_LANGID_PORTUGUESE_STANDARD		= 0x0816,	// Portuguese (Standard)
11752fc197aSPhilippe Houdoin 	USB_LANGID_PUNJABI					= 0x0446,	// Punjabi
11852fc197aSPhilippe Houdoin 	USB_LANGID_ROMANIAN					= 0x0418,	// Romanian
11952fc197aSPhilippe Houdoin 	USB_LANGID_RUSSIAN					= 0x0419,	// Russian
12052fc197aSPhilippe Houdoin 	USB_LANGID_SANSKRIT					= 0x044f,	// Sanskrit
12152fc197aSPhilippe Houdoin 	USB_LANGID_SERBIAN_CYRILLIC			= 0x0c1a,	// Serbian (Cyrillic)
12252fc197aSPhilippe Houdoin 	USB_LANGID_SERBIAN_LATIN			= 0x081a,	// Serbian (Latin)
12352fc197aSPhilippe Houdoin 	USB_LANGID_SINDHI					= 0x0459,	// Sindhi
12452fc197aSPhilippe Houdoin 	USB_LANGID_SLOVAK					= 0x041b,	// Slovak
12552fc197aSPhilippe Houdoin 	USB_LANGID_SLOVENIAN				= 0x0424,	// Slovenian
12652fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_TRADITIONAL_SORT= 0x040a,	// Spannish (Traditional Sort)
12752fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_MEXICAN			= 0x080a,	// Spannish (Mexican)
12852fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_MODERN_SORT		= 0x0c0a,	// Spannish (Modern Sort)
12952fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_GUATEMALA		= 0x100a,	// Spannish (Guatemala)
13052fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_COSTA_RICA		= 0x140a,	// Spannish (Costa Rica)
13152fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_PANAMA			= 0x180a,	// Spannish (Panama)
13252fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_DOMINICAN_REPUBLIC	= 0x1c0a,	// Spannish (Dominican Republic)
13352fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_VENEZUELA		= 0x200a,	// Spannish (Venezuela)
13452fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_COLOMBIA		= 0x240a,	// Spannish (Colombia)
13552fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_PERU			= 0x280a,	// Spannish (Peru)
13652fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_ARGENTINA		= 0x2c0a,	// Spannish (Argentina)
13752fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_ECUADOR			= 0x300a,	// Spannish (Ecuador)
13852fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_CHILE			= 0x340a,	// Spannish (Chile)
13952fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_URUGUAY			= 0x380a,	// Spannish (Uruguay)
14052fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_PARAGUAY		= 0x3c0a,	// Spannish (Paraguay)
14152fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_BOLIVIA			= 0x400a,	// Spannish (Bolivia)
14252fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_EL_SALVADOR		= 0x440a,	// Spannish (El Salvador)
14352fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_HONDURAS		= 0x480a,	// Spannish (Honduras)
14452fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_NICARAGUA		= 0x4c0a,	// Spannish (Nicaragua)
14552fc197aSPhilippe Houdoin 	USB_LANGID_SPANNISH_PUERTO_RICO		= 0x500a,	// Spannish (Puerto Rico)
14652fc197aSPhilippe Houdoin 	USB_LANGID_SUTU						= 0x0430,	// Sutu
14752fc197aSPhilippe Houdoin 	USB_LANGID_SWAHILI_KENYA			= 0x0441,	// Swahili (Kenya)
14852fc197aSPhilippe Houdoin 	USB_LANGID_SWEDISH					= 0x041d,	// Swedish
14952fc197aSPhilippe Houdoin 	USB_LANGID_SWEDISH_FINLAND			= 0x081d,	// Swedish (Finland)
15052fc197aSPhilippe Houdoin 	USB_LANGID_TAMIL					= 0x0449,	// Tamil
15152fc197aSPhilippe Houdoin 	USB_LANGID_TATAR_TATARSTAN			= 0x0444,	// Tatar (Tatarstan)
15252fc197aSPhilippe Houdoin 	USB_LANGID_TELUGU					= 0x044a,	// Telugu
15352fc197aSPhilippe Houdoin 	USB_LANGID_THAI						= 0x041e,	// Thai
15452fc197aSPhilippe Houdoin 	USB_LANGID_TURKISH					= 0x041f,	// Turkish
15552fc197aSPhilippe Houdoin 	USB_LANGID_UKRAINIAN				= 0x0422,	// Ukrainian
15652fc197aSPhilippe Houdoin 	USB_LANGID_URDU_PAKISTAN			= 0x0420,	// Urdu (Pakistan)
15752fc197aSPhilippe Houdoin 	USB_LANGID_URDU_INDIA				= 0x0820,	// Urdu (India)
15852fc197aSPhilippe Houdoin 	USB_LANGID_UZBEK_LATIN				= 0x0443,	// Uzbek (Latin)
15952fc197aSPhilippe Houdoin 	USB_LANGID_UZBEK_CYRILLIC			= 0x0843,	// Uzbek (Cyrillic)
16052fc197aSPhilippe Houdoin 	USB_LANGID_VIETNAMESE				= 0x042a,	// Vietnamese
16152fc197aSPhilippe Houdoin 
16252fc197aSPhilippe Houdoin 	USB_LANGID_HID_UDD					= 0x04ff,	// HID (Usage Data Descriptor)
16352fc197aSPhilippe Houdoin 	USB_LANGID_HID1						= 0xf0ff,	// HID (Vendor Defined 1)
16452fc197aSPhilippe Houdoin 	USB_LANGID_HID2						= 0xf4ff,	// HID (Vendor Defined 2)
16552fc197aSPhilippe Houdoin 	USB_LANGID_HID3						= 0xf8ff,	// HID (Vendor Defined 3)
16652fc197aSPhilippe Houdoin 	USB_LANGID_HID4						= 0xfcff,	// HID (Vendor Defined 4)
16752fc197aSPhilippe Houdoin 
16852fc197aSPhilippe Houdoin 	USB_LANGID_INVALID					= 0x0000	// Invalid LANG ID
16952fc197aSPhilippe Houdoin };
17052fc197aSPhilippe Houdoin 
17152fc197aSPhilippe Houdoin #endif	// USB_LANGIDS_H
17252fc197aSPhilippe Houdoin 
17352fc197aSPhilippe Houdoin 
174