~steve-sk2/mingw-w64/oneiric

« back to all changes in this revision

Viewing changes to mingw-w64-headers/ddk/include/ddk/usbprotocoldefs.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephen Kitt
  • Date: 2010-11-18 00:04:46 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20101118000446-xe24b423su55onyl
Tags: 1.0+20101003-1
* New maintainer. (Closes: #594371.)
* New upstream snapshot:
  - Includes getopt.h. (Closes: #569914.)
* Build g++ for Win64. (Closes: #600451.)
* Standards-Version 3.9.1 (new packaging).
* Include patch from
  http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64?view=revision&revision=3715
  as suggested by Rafaël Carré.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
221
typedef 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
 
 
232
typedef 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
 
 
244
typedef 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)
 
256
C_ASSERT((sizeof(USBREQUESTTYPE) == sizeof(BYTE)));
 
257
#endif
 
258
 
 
259
typedef 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
 
 
269
typedef 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
 
 
286
typedef 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
 
 
298
typedef 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
 
 
313
typedef 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
 
 
322
C_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
 
 
339
typedef 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
 
 
349
C_ASSERT((sizeof(USBENDPOINTATTRIBS) == sizeof(BYTE)));
 
350
 
 
351
typedef 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
 
 
360
C_ASSERT((sizeof(USBMAXPACKET) == sizeof(WORD)));
 
361
 
 
362
typedef struct _USBENDPOINTDESC {
 
363
  BYTE bLength;
 
364
  BYTE bDescriptorType;
 
365
  USBENDPOINTADDRESS Address;
 
366
  USBENDPOINTATTRIBS Attributes;
 
367
  USBMAXPACKET MaxPacket;
 
368
  BYTE bInterval;
 
369
} USBENDPOINTDESC;
 
370
 
 
371
typedef 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
 
 
383
typedef struct _USBSTRINGDESC {
 
384
  BYTE bLength;
 
385
  BYTE bDescriptorType;
 
386
  WCHAR wchData[1];
 
387
} USBSTRINGDESC;
 
388
 
 
389
typedef struct _USBSTRINGLANGIDS {
 
390
  BYTE bLength;
 
391
  BYTE bDescriptorType;
 
392
  WORD wLANGIDs[1];
 
393
} USBSTRINGLANGIDS;
 
394
 
 
395
typedef struct _USBHIDSTANDARDDESC {
 
396
  BYTE bLength;
 
397
  BYTE bDescriptorType;
 
398
  USHORT bcdHID;
 
399
  BYTE bCountryCode;
 
400
  BYTE bNumDescriptors;
 
401
} USBHIDSTANDARDDESC;
 
402
 
 
403
typedef struct _USBHIDOPTIONALDESC {
 
404
  BYTE bClassDescriptorType;
 
405
  USHORT usDescriptorLength;
 
406
} USBHIDOPTIONALDESC;
 
407
 
 
408
typedef struct _USBPHYSICALDESCSET0 {
 
409
  BYTE bNumber;
 
410
  BYTE bLength;
 
411
} USBPHYSICALDESCSET0;
 
412
 
 
413
typedef union _USBPHYSICALDESCSET {
 
414
  BYTE bPhysicalInfo;
 
415
  struct Bits {
 
416
    BYTE bPreference:5;
 
417
    BYTE bBias:3;
 
418
    } Bits;
 
419
} USBPHYSICALDESCSET;
 
420
 
 
421
typedef 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
 
 
432
typedef 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)
 
445
C_ASSERT((sizeof(USBHUBCHARACTERISTICS) == sizeof(WORD)));
 
446
#endif
 
447
 
 
448
typedef 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)
 
460
C_ASSERT((sizeof(USBHUBDESC) == 71));
 
461
#endif
 
462
 
 
463
typedef 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)
 
482
C_ASSERT((sizeof(USBHUBPORTSTATUS) == sizeof(WORD)));
 
483
#endif
 
484
 
 
485
typedef 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)
 
499
C_ASSERT((sizeof(USBHUBPORTSTATUSCHANGE) == sizeof(WORD)));
 
500
#endif
 
501
 
 
502
typedef 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>