source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ddk/usbprotocoldefs.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 17.5 KB
Line 
1#pragma once
2
3#include <pshpack1.h>
4
5#define USB_UnConnected_Device_Address 0
6#define USB_UNCONNECTED_ADDRESS(address) (USB_UnConnected_Device_Address == (address))
7#define USB_CONNECTED_ADDRESS(address) (USB_UnConnected_Device_Address != (address))
8
9#define PID_OUT 1
10#define PID_IN 9
11#define PID_SOF 5
12#define PID_SETUP 13
13
14#define PID_DATA0 3
15#define PID_DATA1 11
16#define PID_DATA2 7
17#define PID_MDATA 15
18
19#define USB_ACK 2
20#define USB_NAK 10
21#define USB_STALL 14
22#define USB_NYET 6
23
24#define USB_PRE 12
25#define USB_ERR 12
26#define USB_SPLIT 8
27#define USB_PING 4
28
29#define USB_TIMEOUT 0
30
31#define USB_SPEC 0x0200
32#define HID_SPEC 0x0101
33
34#define USB_20_SPEC 0x0200
35#define USB_11_SPEC 0x0110
36#define USB_10_SPEC 0x0100
37
38#define HID_MAX_PACKET_SIZE0 0x08
39#define MICROSOFT_VENDOR_ID 0x045E
40#define HID_DEVICE_RELEASE 0x0100
41
42#define HID_MAX_PACKET_SIZE 0x0008
43#define HID_POLLING_INTERVAL 0x0A
44#define MAX_POLLING_INTERVAL 0xFF
45
46#define USB_DEFAULT_KEYBOARD_PRODUCT_ID 0x000B
47#define USB_DEFAULT_MOUSE_PRODUCT_ID 0x0040
48
49#define DEVICE_DESCRIPTOR 0x01
50#define CONFIGURATION_DESCRIPTOR 0x02
51#define STRING_DESCRIPTOR 0x03
52#define INTERFACE_DESCRIPTOR 0x04
53#define ENDPOINT_DESCRIPTOR 0x05
54#define QUALIFIER_DESCRIPTOR 0x06
55#define OTHER_SPEED_DESCRIPTOR 0x07
56#define INTERFACE_POWER_DESCRIPTOR 0x08
57
58#define HID_DESCRIPTOR 0x21
59#define REPORT_DESCRIPTOR 0x22
60#define PHYSICAL_DESCRIPTOR 0x23
61#define HUB_DESCRIPTOR 0x29
62
63#define USB_DESCRIPTOR_TYPE_STD 0
64#define USB_DESCRIPTOR_TYPE_CLASS 1
65#define USB_DESCRIPTOR_TYPE_VENDOR 2
66#define USB_DESCRIPTOR_TYPE_RESERVED 3
67
68#define DIR_HOST_TO_DEVICE 0
69#define DIR_DEVICE_TO_HOST 1
70
71#define TYPE_STANDARD 0
72#define TYPE_CLASS 1
73#define TYPE_VENDOR 2
74#define TYPE_RESERVED 3
75
76#define RCPT_DEVICE 0
77#define RCPT_INTERFACE 1
78#define RCPT_ENDPOINT 2
79#define RCPT_OTHER 3
80#define RCPT_PORT 4
81#define RCPT_RPIPE 5
82
83#if !defined(MIDL_PASS)
84#define USB_MAKE_REQUEST_TYPE(direction, type, recipient) \
85 (BYTE)( ((BYTE)direction << 7) | \
86 ((BYTE)type << 5) | ((BYTE)recipient & 0x07) )
87#endif
88
89#define GET_STATUS 0
90#define CLEAR_FEATURE 1
91#define SET_FEATURE 3
92#define SET_ADDRESS 5
93#define GET_DESCRIPTOR 6
94#define SET_DESCRIPTOR 7
95#define GET_CONFIGURATION 8
96#define SET_CONFIGURATION 9
97#define GET_INTERFACE 10
98#define SET_INTERFACE 11
99#define SYNCH_FRAME 12
100
101#define USB_BULK_ONLY_MASS_STG_RESET 0xFF
102#define USB_BULK_ONLY_MASS_STG_GET_MAX_LUN 0xFE
103
104#define GET_REPORT 0x01
105#define GET_IDLE 0x02
106#define GET_PROTOCOL 0x03
107#define SET_REPORT 0x09
108#define SET_IDLE 0x0A
109#define SET_PROTOCOL 0x0B
110
111#define ADD_MMC_IE 20
112#define REMOVE_MMC_IE 21
113#define SET_NUM_DNTS 22
114#define SET_CLUSTER_ID 23
115#define SET_DEVICE_INFO 24
116#define GET_TIME 25
117#define SET_STREAM_INDEX 26
118#define SET_WUSB_MAS 27
119#define WUSB_CH_STOP 28
120
121#define EXEC_RC_CMD 40
122
123#define TIME_ADJ 0x01
124#define TIME_BPST 0x02
125#define TIME_WUSB 0x03
126
127#define HID_REPORT_TYPE_INPUT 0x01
128#define HID_REPORT_TYPE_OUTPUT 0x02
129#define HID_REPORT_TYPE_FEATURE 0x03
130
131#define HID_PROTOCOL_TYPE_BOOT 0x00
132#define HID_PROTOCOL_TYPE_REPORT 0x01
133
134#define HUB_DEVICE_PROTOCOL_1X 0
135#define HUB_DEVICE_PROTOCOL_SINGLE_TT 1
136#define HUB_DEVICE_PROTOCOL_MULTI_TT 2
137
138#define HUB_INTERFACE_PROTOCOL_1X 0
139#define HUB_INTERFACE_PROTOCOL_SINGLE_TT 0
140#define HUB_INTERFACE_PROTOCOL_MULTI_TT_IN_SINGLE_TT_MODE 1
141#define HUB_INTERFACE_PROTOCOL_MULTI_TT_IN_MULTI_TT_MODE 2
142
143#define CLEAR_TT_BUFFER 8
144#define RESET_TT 9
145#define GET_TT_STATE 10
146#define STOP_TT 11
147
148#define C_HUB_LOCAL_POWER 0
149#define C_HUB_OVER_CURRENT 1
150#define PORT_CONNECTION 0
151#define PORT_ENABLE 1
152#define PORT_SUSPEND 2
153#define PORT_OVER_CURRENT 3
154#define PORT_RESET 4
155#define PORT_POWER 8
156#define PORT_LOW_SPEED 9
157#define C_PORT_CONNECTION 16
158#define C_PORT_ENABLE 17
159#define C_PORT_SUSPEND 18
160#define C_PORT_OVER_CURRENT 19
161#define C_PORT_RESET 20
162#define PORT_TEST 21
163#define PORT_INDICATOR 22
164
165#define USBSETUPSIZE 8
166#define USBINREQUEST 128
167
168#define BM_GET_DEVICE 128
169#define BM_GET_INTERFACE 129
170#define BM_GET_ENDPOINT 130
171
172#define BM_SET_DEVICE 0
173#define BM_SET_INTERFACE 1
174#define BM_SET_ENDPOINT 2
175
176#define HALT_ENDPOINT 0
177#define REMOTE_WAKEUP 1
178#define TEST_MODE 2
179
180#define DEVICE_DESCRIPTION_TYPE 0x100
181#define QUALIFIER_DESCRIPTION_TYPE 0x600
182#define OTHER_SPEED_DESCRIPTION_TYPE 0x700
183#define CONFIG_DESCRIPTION_TYPE 0x200
184#define STRING_DESCRIPTION_TYPE 0x300
185#define MSOS_DESCRIPTION_TYPE 0x3EE
186
187#define CONFIG_BUS_POWERED 0x80
188#define CONFIG_SELF_POWERED 0x40
189#define CONFIG_REMOTE_WAKEUP 0x20
190
191#define USB_WA_MULTIFUNCTION 0x02
192#define USB_WA_PROTOCOL 0x01
193#define USB_RADIO_CONTROL 0x2
194
195#define USB_HID_CLASS_CODE 0x03
196#define USB_MASS_STORAGE_CLASS_CODE 0x08
197#define USB_HUB_CLASS_CODE 0x09
198#define USB_MISCELLANEOUS 0xEF
199#define USB_WIRELESS_WA 0xE0
200
201#define BOOT_INTERFACE_SUBCLASS 0x01
202#define COMMON_CLASS 0x02
203#define USB_RF_CONTROL 0x01
204
205#define PROTOCOL_NONE 0x00
206#define PROTOCOL_KEYBOARD 0x01
207#define PROTOCOL_MOUSE 0x02
208
209#define EP_OUT 0
210#define EP_IN 1
211
212#define MAKE_ENDPOINT_ADDRESS(num, dir) \
213 ( ((BYTE)(dir) << 7) | ((BYTE)(num) & 0x0F) )
214
215#define ENDPOINT_TYPE 0x03
216#define CONTROL_ENDPOINT 0
217#define ISOCHRONOUS_ENDPOINT 1
218#define BULK_ENDPOINT 2
219#define INTERRUPT_ENDPOINT 3
220
221typedef union _USBDESCRIPTORTYPE {
222 BYTE Byte;
223#if !defined(MIDL_PASS)
224 struct Bits {
225 BYTE Descriptor:5;
226 BYTE Type:2;
227 BYTE Reserved:1;
228 } Bits;
229#endif
230} USBDESCRIPTORTYPE;
231
232typedef union _USBCONFIGATTRIBS {
233 BYTE Byte;
234#if !defined(MIDL_PASS)
235 struct Bits {
236 BYTE bReserved0_4:5;
237 BYTE bRemoteWakeup:1;
238 BYTE bSelfPowered:1;
239 BYTE bReserved7:1;
240 } Bits;
241#endif
242} USBCONFIGATTRIBS;
243
244typedef union _USBREQUESTTYPE {
245 BYTE Byte;
246#if !defined(MIDL_PASS)
247 struct Bits {
248 BYTE Recipient:5;
249 BYTE Type:2;
250 BYTE Direction:1;
251 } Bits;
252#endif
253} USBREQUESTTYPE;
254
255#if !defined(MIDL_PASS)
256C_ASSERT((sizeof(USBREQUESTTYPE) == sizeof(BYTE)));
257#endif
258
259typedef struct _USBSETUPREQUEST {
260 USBREQUESTTYPE bmRequestType;
261 BYTE bRequest;
262 SHORT sSetupValue;
263 SHORT sSetupIndex;
264 SHORT sSetupLength;
265} USBSETUPREQUEST;
266
267#if !defined(MIDL_PASS)
268
269typedef struct _USBDEVICEDESC {
270 BYTE bLength;
271 BYTE bDescriptorType;
272 USHORT usUSB;
273 BYTE bDeviceClass;
274 BYTE bDeviceSubClass;
275 BYTE bProtocol;
276 BYTE bMaxPacket0;
277 USHORT usVendor;
278 USHORT usProduct;
279 USHORT usDeviceNumber;
280 BYTE bManufacturer;
281 BYTE bProductDesc;
282 BYTE bSerialNumber;
283 BYTE bNumConfigs;
284} USBDEVICEDESC;
285
286typedef struct _USBCONFIGDESC {
287 BYTE bLength;
288 BYTE bDescriptorType;
289 USHORT usTotalLength;
290 BYTE bNumInterfaces;
291 BYTE bConfigValue;
292 BYTE bConfig;
293 BYTE bAttributes;
294 BYTE bMaxPower;
295} USBCONFIGDESC;
296
297
298typedef struct _USBINTERFACEDESC {
299 BYTE bLength;
300 BYTE bDescriptorType;
301 BYTE bInterfaceNumber;
302 BYTE bAlternateSetting;
303 BYTE bNumEndpoints;
304 BYTE bClass;
305 BYTE bSubClass;
306 BYTE bProtocol;
307 BYTE bDescription;
308} USBINTERFACEDESC;
309
310#define ENDPOINT_DIRECTION_OUT 0
311#define ENDPOINT_DIRECTION_IN 1
312
313typedef union _USBENDPOINTADDRESS {
314 BYTE Byte;
315 struct Bits {
316 BYTE Number:4;
317 BYTE Reserved:3;
318 BYTE Direction:1;
319 } Bits;
320} USBENDPOINTADDRESS;
321
322C_ASSERT((sizeof(USBENDPOINTADDRESS) == sizeof(BYTE)));
323
324#define USB_TRANSFER_TYPE_CONTROL 0
325#define USB_TRANSFER_TYPE_ISOCH 1
326#define USB_TRANSFER_TYPE_BULK 2
327#define USB_TRANSFER_TYPE_INTERRUPT 3
328
329#define USB_SYNC_TYPE_NONE 0
330#define USB_SYNC_TYPE_ASYNC 1
331#define USB_SYNC_TYPE_ADAPTIVE 2
332#define USB_SYNC_TYPE_SYNC 3
333
334#define USB_USAGE_TYPE_DATA 0
335#define USB_USAGE_TYPE_FEEDBACK 1
336#define USB_USAGE_TYPE_IMPLICIT 2
337#define USB_USAGE_TYPE_RESERVED 3
338
339typedef union _USBENDPOINTATTRIBS {
340 BYTE Byte;
341 struct Bits {
342 BYTE TransferType:2;
343 BYTE SyncType:2;
344 BYTE UsageType:2;
345 BYTE Reserved:2;
346 } Bits;
347} USBENDPOINTATTRIBS;
348
349C_ASSERT((sizeof(USBENDPOINTATTRIBS) == sizeof(BYTE)));
350
351typedef union _USBMAXPACKET {
352 WORD Word;
353 struct Bits {
354 WORD Size:11;
355 WORD AdditionalXactions:2;
356 WORD Reserved:3;
357 } Bits;
358} USBMAXPACKET;
359
360C_ASSERT((sizeof(USBMAXPACKET) == sizeof(WORD)));
361
362typedef struct _USBENDPOINTDESC {
363 BYTE bLength;
364 BYTE bDescriptorType;
365 USBENDPOINTADDRESS Address;
366 USBENDPOINTATTRIBS Attributes;
367 USBMAXPACKET MaxPacket;
368 BYTE bInterval;
369} USBENDPOINTDESC;
370
371typedef struct _USBQUALIFIERDESC {
372 BYTE bLength;
373 BYTE bDescriptorType;
374 USHORT usUSB;
375 BYTE bDeviceClass;
376 BYTE bDeviceSubClass;
377 BYTE bProtocol;
378 BYTE bMaxPacket;
379 BYTE bNumConfigs;
380 BYTE bReserved;
381} USBQUALIFIERDESC;
382
383typedef struct _USBSTRINGDESC {
384 BYTE bLength;
385 BYTE bDescriptorType;
386 WCHAR wchData[1];
387} USBSTRINGDESC;
388
389typedef struct _USBSTRINGLANGIDS {
390 BYTE bLength;
391 BYTE bDescriptorType;
392 WORD wLANGIDs[1];
393} USBSTRINGLANGIDS;
394
395typedef struct _USBHIDSTANDARDDESC {
396 BYTE bLength;
397 BYTE bDescriptorType;
398 USHORT bcdHID;
399 BYTE bCountryCode;
400 BYTE bNumDescriptors;
401} USBHIDSTANDARDDESC;
402
403typedef struct _USBHIDOPTIONALDESC {
404 BYTE bClassDescriptorType;
405 USHORT usDescriptorLength;
406} USBHIDOPTIONALDESC;
407
408typedef struct _USBPHYSICALDESCSET0 {
409 BYTE bNumber;
410 BYTE bLength;
411} USBPHYSICALDESCSET0;
412
413typedef union _USBPHYSICALDESCSET {
414 BYTE bPhysicalInfo;
415 struct Bits {
416 BYTE bPreference:5;
417 BYTE bBias:3;
418 } Bits;
419} USBPHYSICALDESCSET;
420
421typedef struct _USBPHYSICALDESCITEM {
422 BYTE bDesignator;
423 union Flags {
424 BYTE bFlags;
425 struct Bits {
426 BYTE bEffort:5;
427 BYTE bQualifier:3;
428 } Bits;
429 } Flags;
430} USBPHYSICALDESCITEM;
431
432typedef union _USBHUBCHARACTERISTICS {
433 WORD wHubCharacteristics;
434 struct Bits {
435 BYTE bLogicalPowerSwitchingMode:2;
436 BYTE fCompoundDevice:1;
437 BYTE bOverCurrentMode:2;
438 BYTE bTTThinkTime:2;
439 BYTE fPortIndicatorSupport:1;
440 BYTE bReserved:8;
441 } Bits;
442} USBHUBCHARACTERISTICS;
443
444#if !defined(MIDL_PASS)
445C_ASSERT((sizeof(USBHUBCHARACTERISTICS) == sizeof(WORD)));
446#endif
447
448typedef struct _USBHUBDESC {
449 BYTE bLength;
450 BYTE bDescriptorType;
451 BYTE bNumberOfPorts;
452 USBHUBCHARACTERISTICS Characteristics;
453 BYTE bPwrOn2PwrGood;
454 BYTE bHubContrCurrent;
455 BYTE bDeviceRemovable[32];
456 BYTE bPortPwrCtrlMask[32];
457} USBHUBDESC;
458
459#if !defined(MIDL_PASS)
460C_ASSERT((sizeof(USBHUBDESC) == 71));
461#endif
462
463typedef union _USBHUBPORTSTATUS {
464 WORD wPortStatus;
465 struct Bits {
466 BYTE fCurrentConnectionStatus:1;
467 BYTE fEnabled:1;
468 BYTE fSuspend:1;
469 BYTE fOverCurrent:1;
470 BYTE fReset:1;
471 BYTE bReserved1:3;
472 BYTE fPortPower:1;
473 BYTE fLowSpeedDevice:1;
474 BYTE fHighSpeedDevice:1;
475 BYTE fTestMode:1;
476 BYTE fPortIndicatorControl:1;
477 BYTE bReserved2:3;
478 } Bits;
479} USBHUBPORTSTATUS;
480
481#if !defined(MIDL_PASS)
482C_ASSERT((sizeof(USBHUBPORTSTATUS) == sizeof(WORD)));
483#endif
484
485typedef union _USBHUBPORTSTATUSCHANGE {
486 WORD wPortStatusChange;
487 struct Bits {
488 BYTE fConnectionStatusChange:1;
489 BYTE fEnabledChange:1;
490 BYTE fSuspendChange:1;
491 BYTE fOverCurrentChange:1;
492 BYTE fResetChange:1;
493 BYTE bReserved1:3;
494 BYTE bReserved2:8;
495 } Bits;
496} USBHUBPORTSTATUSCHANGE;
497
498#if !defined(MIDL_PASS)
499C_ASSERT((sizeof(USBHUBPORTSTATUSCHANGE) == sizeof(WORD)));
500#endif
501
502typedef struct _USBHUBPORTDATA {
503 USBHUBPORTSTATUS PortStatus;
504 USBHUBPORTSTATUSCHANGE PortStatusChange;
505} USBHUBPORTDATA;
506
507#define USB_MAKE_LANGID(lang, sublang) \
508 ((((USHORT)(sublang)) << 10) | (USHORT)(lang))
509
510#define USB_LANG_RESERVED 0x00
511#define USB_LANG_ARABIC 0x01
512#define USB_LANG_BULGARIAN 0x02
513#define USB_LANG_CATALAN 0x03
514#define USB_LANG_CHINESE 0x04
515#define USB_LANG_CZECH 0x05
516#define USB_LANG_DANISH 0x06
517#define USB_LANG_GERMAN 0x07
518#define USB_LANG_GREEK 0x08
519#define USB_LANG_ENGLISH 0x09
520#define USB_LANG_SPANISH 0x0a
521#define USB_LANG_FINNISH 0x0b
522#define USB_LANG_FRENCH 0x0c
523#define USB_LANG_HEBREW 0x0d
524#define USB_LANG_HUNGARIAN 0x0e
525#define USB_LANG_ICELANDIC 0x0f
526#define USB_LANG_ITALIAN 0x10
527#define USB_LANG_JAPANESE 0x11
528#define USB_LANG_KOREAN 0x12
529#define USB_LANG_DUTCH 0x13
530#define USB_LANG_NORWEGIAN 0x14
531#define USB_LANG_POLISH 0x15
532#define USB_LANG_PORTUGUESE 0x16
533#define USB_LANG_ROMANIAN 0x18
534#define USB_LANG_RUSSIAN 0x19
535#define USB_LANG_CROATIAN 0x1a
536#define USB_LANG_SERBIAN 0x1a
537#define USB_LANG_SLOVAK 0x1b
538#define USB_LANG_ALBANIAN 0x1c
539#define USB_LANG_SWEDISH 0x1d
540#define USB_LANG_THAI 0x1e
541#define USB_LANG_TURKISH 0x1f
542#define USB_LANG_URDU 0x20
543#define USB_LANG_INDONESIAN 0x21
544#define USB_LANG_UKRANIAN 0x22
545#define USB_LANG_BELARUSIAN 0x23
546#define USB_LANG_SLOVENIAN 0x24
547#define USB_LANG_ESTONIAN 0x25
548#define USB_LANG_LATVIAN 0x26
549#define USB_LANG_LITHUANIAN 0x27
550#define USB_LANG_FARSI 0x29
551#define USB_LANG_VIETNAMESE 0x2a
552#define USB_LANG_ARMENIAN 0x2b
553#define USB_LANG_AZERI 0x2c
554#define USB_LANG_BASQUE 0x2d
555#define USB_LANG_MACEDONIAN 0x2f
556#define USB_LANG_AFRIKAANS 0x36
557#define USB_LANG_GEORGIAN 0x37
558#define USB_LANG_FAEROESE 0x38
559#define USB_LANG_HINDI 0x39
560#define USB_LANG_MALAY 0x3e
561#define USB_LANG_KAZAK 0x3f
562#define USB_LANG_SWAHILI 0x41
563#define USB_LANG_UZBEK 0x43
564#define USB_LANG_TATAR 0x44
565#define USB_LANG_BENGALI 0x45
566#define USB_LANG_PUNJABI 0x46
567#define USB_LANG_GUJARATI 0x47
568#define USB_LANG_ORIYA 0x48
569#define USB_LANG_TAMIL 0x49
570#define USB_LANG_TELUGU 0x4a
571#define USB_LANG_KANNADA 0x4b
572#define USB_LANG_MALAYALAM 0x4c
573#define USB_LANG_ASSAMESE 0x4d
574#define USB_LANG_MARATHI 0x4e
575#define USB_LANG_SANSKRIT 0x4f
576#define USB_LANG_KONKANI 0x57
577#define USB_LANG_MANIPURI 0x58
578#define USB_LANG_SINDHI 0x59
579#define USB_LANG_KASHMIRI 0x60
580#define USB_LANG_NEPALI 0x61
581#define USB_LANG_HID 0xff
582
583#define USB_SUBLANG_ARABIC_SAUDI_ARABIA 0x01
584#define USB_SUBLANG_ARABIC_SAUDI_ARABIA 0x01
585#define USB_SUBLANG_ARABIC_IRAQ 0x02
586#define USB_SUBLANG_ARABIC_EGYPT 0x03
587#define USB_SUBLANG_ARABIC_LIBYA 0x04
588#define USB_SUBLANG_ARABIC_ALGERIA 0x05
589#define USB_SUBLANG_ARABIC_MOROCCO 0x06
590#define USB_SUBLANG_ARABIC_TUNISIA 0x07
591#define USB_SUBLANG_ARABIC_OMAN 0x08
592#define USB_SUBLANG_ARABIC_YEMEN 0x09
593#define USB_SUBLANG_ARABIC_SYRIA 0x10
594#define USB_SUBLANG_ARABIC_JORDAN 0x11
595#define USB_SUBLANG_ARABIC_LEBANON 0x12
596#define USB_SUBLANG_ARABIC_KUWAIT 0x13
597#define USB_SUBLANG_ARABIC_UAE 0x14
598#define USB_SUBLANG_ARABIC_BAHRAIN 0x15
599#define USB_SUBLANG_ARABIC_QATAR 0x16
600#define USB_SUBLANG_AZERI_CYRILLIC 0x01
601#define USB_SUBLANG_AZERI_LATIN 0x02
602#define USB_SUBLANG_CHINESE_TRADITIONAL 0x01
603#define USB_SUBLANG_CHINESE_SIMPLIFIED 0x02
604#define USB_SUBLANG_CHINESE_HONGKONG 0x03
605#define USB_SUBLANG_CHINESE_SINGAPORE 0x04
606#define USB_SUBLANG_CHINESE_MACAU 0x05
607#define USB_SUBLANG_DUTCH 0x01
608#define USB_SUBLANG_DUTCH_BELGIAN 0x02
609#define USB_SUBLANG_ENGLISH_US 0x01
610#define USB_SUBLANG_ENGLISH_UK 0x02
611#define USB_SUBLANG_ENGLISH_AUS 0x03
612#define USB_SUBLANG_ENGLISH_CAN 0x04
613#define USB_SUBLANG_ENGLISH_NZ 0x05
614#define USB_SUBLANG_ENGLISH_EIRE 0x06
615#define USB_SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
616#define USB_SUBLANG_ENGLISH_JAMAICA 0x08
617#define USB_SUBLANG_ENGLISH_CARIBBEAN 0x09
618#define USB_SUBLANG_ENGLISH_BELIZE 0x0a
619#define USB_SUBLANG_ENGLISH_TRINIDAD 0x0b
620#define USB_SUBLANG_ENGLISH_PHILIPPINES 0x0c
621#define USB_SUBLANG_ENGLISH_ZIMBABWE 0x0d
622#define USB_SUBLANG_FRENCH 0x01
623#define USB_SUBLANG_FRENCH_BELGIAN 0x02
624#define USB_SUBLANG_FRENCH_CANADIAN 0x03
625#define USB_SUBLANG_FRENCH_SWISS 0x04
626#define USB_SUBLANG_FRENCH_LUXEMBOURG 0x05
627#define USB_SUBLANG_FRENCH_MONACO 0x06
628#define USB_SUBLANG_GERMAN 0x01
629#define USB_SUBLANG_GERMAN_SWISS 0x02
630#define USB_SUBLANG_GERMAN_AUSTRIAN 0x03
631#define USB_SUBLANG_GERMAN_LUXEMBOURG 0x04
632#define USB_SUBLANG_GERMAN_LIECHTENSTEIN 0x05
633#define USB_SUBLANG_ITALIAN 0x01
634#define USB_SUBLANG_ITALIAN_SWISS 0x02
635#define USB_SUBLANG_KASHMIRI_INDIA 0x02
636#define USB_SUBLANG_KOREAN 0x01
637#define USB_SUBLANG_LITHUANIAN 0x01
638#define USB_SUBLANG_MALAY_MALAYSIA 0x01
639#define USB_SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
640#define USB_SUBLANG_NEPALI_INDIA 0x02
641#define USB_SUBLANG_NORWEGIAN_BOKMAL 0x01
642#define USB_SUBLANG_NORWEGIAN_NYNORSK 0x02
643#define USB_SUBLANG_PORTUGUESE 0x01
644#define USB_SUBLANG_PORTUGUESE_BRAZILIAN 0x02
645#define USB_SUBLANG_SERBIAN_LATIN 0x02
646#define USB_SUBLANG_SERBIAN_CYRILLIC 0x03
647#define USB_SUBLANG_SPANISH 0x01
648#define USB_SUBLANG_SPANISH_MEXICAN 0x02
649#define USB_SUBLANG_SPANISH_MODERN 0x03
650#define USB_SUBLANG_SPANISH_GUATEMALA 0x04
651#define USB_SUBLANG_SPANISH_COSTA_RICA 0x05
652#define USB_SUBLANG_SPANISH_PANAMA 0x06
653#define USB_SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
654#define USB_SUBLANG_SPANISH_VENEZUELA 0x08
655#define USB_SUBLANG_SPANISH_COLOMBIA 0x09
656#define USB_SUBLANG_SPANISH_PERU 0x0a
657#define USB_SUBLANG_SPANISH_ARGENTINA 0x0b
658#define USB_SUBLANG_SPANISH_ECUADOR 0x0c
659#define USB_SUBLANG_SPANISH_CHILE 0x0d
660#define USB_SUBLANG_SPANISH_URUGUAY 0x0e
661#define USB_SUBLANG_SPANISH_PARAGUAY 0x0f
662#define USB_SUBLANG_SPANISH_BOLIVIA 0x10
663#define USB_SUBLANG_SPANISH_EL_SALVADOR 0x11
664#define USB_SUBLANG_SPANISH_HONDURAS 0x12
665#define USB_SUBLANG_SPANISH_NICARAGUA 0x13
666#define USB_SUBLANG_SPANISH_PUERTO_RICO 0x14
667#define USB_SUBLANG_SWEDISH 0x01
668#define USB_SUBLANG_SWEDISH_FINLAND 0x02
669#define USB_SUBLANG_URDU_PAKISTAN 0x01
670#define USB_SUBLANG_URDU_INDIA 0x02
671#define USB_SUBLANG_UZBEK_LATIN 0x01
672#define USB_SUBLANG_UZBEK_CYRILLIC 0x02
673#define USB_SUBLANG_HID_USAGE_DATA_DESCRIPTOR 0x01
674#define USB_SUBLANG_HID_VENDOR_DEFINED_1 0x3c
675#define USB_SUBLANG_HID_VENDOR_DEFINED_2 0x3d
676#define USB_SUBLANG_HID_VENDOR_DEFINED_3 0x3e
677#define USB_SUBLANG_HID_VENDOR_DEFINED_4 0x3f
678
679#endif /* !defined(MIDL_PASS) */
680
681#include <poppack.h>
682
Note: See TracBrowser for help on using the repository browser.