ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

usbprotocoldefs.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include <pshpack1.h>
00004 
00005 #define USB_UnConnected_Device_Address 0
00006 #define USB_UNCONNECTED_ADDRESS(address) ( USB_UnConnected_Device_Address == (address))
00007 #define USB_CONNECTED_ADDRESS(address) ( USB_UnConnected_Device_Address != (address) )
00008 
00009 #define PID_OUT                             1
00010 #define PID_IN                              9
00011 #define PID_SOF                             5
00012 #define PID_SETUP                           13
00013 
00014 #define PID_DATA0                           3
00015 #define PID_DATA1                           11
00016 #define PID_DATA2                           7
00017 #define PID_MDATA                           15
00018 
00019 #define USB_ACK                             2
00020 #define USB_NAK                             10
00021 #define USB_STALL                           14
00022 #define USB_NYET                            6
00023 
00024 #define USB_PRE                             12
00025 #define USB_ERR                             12
00026 #define USB_SPLIT                           8
00027 #define USB_PING                            4
00028 
00029 #define USB_TIMEOUT                         0
00030 
00031 #define USB_SPEC                            0x0200
00032 #define HID_SPEC                            0x0101
00033 
00034 #define USB_20_SPEC                         0x0200
00035 #define USB_11_SPEC                         0x0110
00036 #define USB_10_SPEC                         0x0100
00037 
00038 #define HID_MAX_PACKET_SIZE0                0x08
00039 #define MICROSOFT_VENDOR_ID                 0x045E
00040 #define HID_DEVICE_RELEASE                  0x0100
00041 
00042 #define HID_MAX_PACKET_SIZE                 0x0008
00043 #define HID_POLLING_INTERVAL                0x0A
00044 #define MAX_POLLING_INTERVAL                0xFF
00045 
00046 #define USB_DEFAULT_KEYBOARD_PRODUCT_ID     0x000B
00047 #define USB_DEFAULT_MOUSE_PRODUCT_ID        0x0040
00048 
00049 #define DEVICE_DESCRIPTOR                   0x01
00050 #define CONFIGURATION_DESCRIPTOR            0x02
00051 #define STRING_DESCRIPTOR                   0x03
00052 #define INTERFACE_DESCRIPTOR                0x04
00053 #define ENDPOINT_DESCRIPTOR                 0x05
00054 #define QUALIFIER_DESCRIPTOR                0x06
00055 #define OTHER_SPEED_DESCRIPTOR              0x07
00056 #define INTERFACE_POWER_DESCRIPTOR          0x08
00057 
00058 #define HID_DESCRIPTOR                      0x21
00059 #define REPORT_DESCRIPTOR                   0x22
00060 #define PHYSICAL_DESCRIPTOR                 0x23
00061 #define HUB_DESCRIPTOR                      0x29
00062 
00063 #define USB_DESCRIPTOR_TYPE_STD             0
00064 #define USB_DESCRIPTOR_TYPE_CLASS           1
00065 #define USB_DESCRIPTOR_TYPE_VENDOR          2
00066 #define USB_DESCRIPTOR_TYPE_RESERVED        3
00067 
00068 #define DIR_HOST_TO_DEVICE                  0
00069 #define DIR_DEVICE_TO_HOST                  1
00070 
00071 #define TYPE_STANDARD                       0
00072 #define TYPE_CLASS                          1
00073 #define TYPE_VENDOR                         2
00074 #define TYPE_RESERVED                       3
00075 
00076 #define RCPT_DEVICE                         0
00077 #define RCPT_INTERFACE                      1
00078 #define RCPT_ENDPOINT                       2
00079 #define RCPT_OTHER                          3
00080 #define RCPT_PORT                           4
00081 #define RCPT_RPIPE                          5
00082 
00083 #if !defined(MIDL_PASS)
00084 #define USB_MAKE_REQUEST_TYPE(direction, type, recipient) \
00085   (BYTE)( ((BYTE)direction << 7) |                        \
00086   ((BYTE)type << 5) | ((BYTE)recipient & 0x07) )
00087 #endif
00088 
00089 #define GET_STATUS                          0
00090 #define CLEAR_FEATURE                       1
00091 #define SET_FEATURE                         3
00092 #define SET_ADDRESS                         5
00093 #define GET_DESCRIPTOR                      6
00094 #define SET_DESCRIPTOR                      7
00095 #define GET_CONFIGURATION                   8
00096 #define SET_CONFIGURATION                   9
00097 #define GET_INTERFACE                       10
00098 #define SET_INTERFACE                       11
00099 #define SYNCH_FRAME                         12
00100 
00101 #define USB_BULK_ONLY_MASS_STG_RESET        0xFF
00102 #define USB_BULK_ONLY_MASS_STG_GET_MAX_LUN  0xFE
00103 
00104 #define GET_REPORT                          0x01
00105 #define GET_IDLE                            0x02
00106 #define GET_PROTOCOL                        0x03
00107 #define SET_REPORT                          0x09
00108 #define SET_IDLE                            0x0A
00109 #define SET_PROTOCOL                        0x0B
00110 
00111 #define ADD_MMC_IE                         20
00112 #define REMOVE_MMC_IE                      21
00113 #define SET_NUM_DNTS                       22
00114 #define SET_CLUSTER_ID                     23
00115 #define SET_DEVICE_INFO                    24
00116 #define GET_TIME                           25
00117 #define SET_STREAM_INDEX                   26
00118 #define SET_WUSB_MAS                       27
00119 #define WUSB_CH_STOP                       28
00120 
00121 #define EXEC_RC_CMD                        40
00122 
00123 #define TIME_ADJ                          0x01
00124 #define TIME_BPST                         0x02
00125 #define TIME_WUSB                         0x03
00126 
00127 #define HID_REPORT_TYPE_INPUT               0x01
00128 #define HID_REPORT_TYPE_OUTPUT              0x02
00129 #define HID_REPORT_TYPE_FEATURE             0x03
00130 
00131 #define HID_PROTOCOL_TYPE_BOOT               0x00
00132 #define HID_PROTOCOL_TYPE_REPORT             0x01
00133 
00134 #define HUB_DEVICE_PROTOCOL_1X                0
00135 #define HUB_DEVICE_PROTOCOL_SINGLE_TT         1
00136 #define HUB_DEVICE_PROTOCOL_MULTI_TT          2
00137 
00138 #define HUB_INTERFACE_PROTOCOL_1X                           0
00139 #define HUB_INTERFACE_PROTOCOL_SINGLE_TT                    0
00140 #define HUB_INTERFACE_PROTOCOL_MULTI_TT_IN_SINGLE_TT_MODE   1
00141 #define HUB_INTERFACE_PROTOCOL_MULTI_TT_IN_MULTI_TT_MODE    2
00142 
00143 #define CLEAR_TT_BUFFER                      8
00144 #define RESET_TT                             9
00145 #define GET_TT_STATE                         10
00146 #define STOP_TT                              11
00147 
00148 #define C_HUB_LOCAL_POWER                    0
00149 #define C_HUB_OVER_CURRENT                   1
00150 #define PORT_CONNECTION                      0
00151 #define PORT_ENABLE                          1
00152 #define PORT_SUSPEND                         2
00153 #define PORT_OVER_CURRENT                    3
00154 #define PORT_RESET                           4
00155 #define PORT_POWER                           8
00156 #define PORT_LOW_SPEED                       9
00157 #define C_PORT_CONNECTION                    16
00158 #define C_PORT_ENABLE                        17
00159 #define C_PORT_SUSPEND                       18
00160 #define C_PORT_OVER_CURRENT                  19
00161 #define C_PORT_RESET                         20
00162 #define PORT_TEST                            21
00163 #define PORT_INDICATOR                       22
00164 
00165 #define USBSETUPSIZE                        8
00166 #define USBINREQUEST                        128
00167 
00168 #define BM_GET_DEVICE                       128
00169 #define BM_GET_INTERFACE                    129
00170 #define BM_GET_ENDPOINT                     130
00171 
00172 #define BM_SET_DEVICE                       0
00173 #define BM_SET_INTERFACE                    1
00174 #define BM_SET_ENDPOINT                     2
00175 
00176 #define HALT_ENDPOINT                       0
00177 #define REMOTE_WAKEUP                       1
00178 #define TEST_MODE                           2
00179 
00180 #define DEVICE_DESCRIPTION_TYPE             0x100
00181 #define QUALIFIER_DESCRIPTION_TYPE          0x600
00182 #define OTHER_SPEED_DESCRIPTION_TYPE        0x700
00183 #define CONFIG_DESCRIPTION_TYPE             0x200
00184 #define STRING_DESCRIPTION_TYPE             0x300
00185 #define MSOS_DESCRIPTION_TYPE               0x3EE
00186 
00187 #define CONFIG_BUS_POWERED                  0x80
00188 #define CONFIG_SELF_POWERED                 0x40
00189 #define CONFIG_REMOTE_WAKEUP                0x20
00190 
00191 #define USB_WA_MULTIFUNCTION                0x02
00192 #define USB_WA_PROTOCOL                     0x01
00193 #define USB_RADIO_CONTROL                   0x2
00194 
00195 #define USB_HID_CLASS_CODE                  0x03
00196 #define USB_MASS_STORAGE_CLASS_CODE         0x08
00197 #define USB_HUB_CLASS_CODE                  0x09
00198 #define USB_MISCELLANEOUS                   0xEF
00199 #define USB_WIRELESS_WA                     0xE0
00200 
00201 #define BOOT_INTERFACE_SUBCLASS             0x01
00202 #define COMMON_CLASS                        0x02
00203 #define USB_RF_CONTROL                      0x01
00204 
00205 #define PROTOCOL_NONE                       0x00
00206 #define PROTOCOL_KEYBOARD                   0x01
00207 #define PROTOCOL_MOUSE                      0x02
00208 
00209 #define EP_OUT                              0
00210 #define EP_IN                               1
00211 
00212 #define MAKE_ENDPOINT_ADDRESS(num, dir)       \
00213   ( ((BYTE)(dir) << 7) | ((BYTE)(num) & 0x0F) )
00214 
00215 #define ENDPOINT_TYPE                       0x03
00216 #define CONTROL_ENDPOINT                    0
00217 #define ISOCHRONOUS_ENDPOINT                1
00218 #define BULK_ENDPOINT                       2
00219 #define INTERRUPT_ENDPOINT                  3
00220 
00221 typedef union _USBDESCRIPTORTYPE {
00222   BYTE Byte;
00223 #if !defined(MIDL_PASS)
00224   struct Bits {
00225     BYTE Descriptor:5;
00226     BYTE Type:2;
00227     BYTE Reserved:1;
00228   } Bits;
00229 #endif
00230 } USBDESCRIPTORTYPE;
00231 
00232 typedef union _USBCONFIGATTRIBS {
00233   BYTE Byte;
00234 #if !defined(MIDL_PASS)
00235   struct Bits {
00236     BYTE bReserved0_4:5;
00237     BYTE bRemoteWakeup:1;
00238     BYTE bSelfPowered:1;
00239     BYTE bReserved7:1;
00240   } Bits;
00241 #endif
00242 } USBCONFIGATTRIBS;
00243 
00244 typedef union _USBREQUESTTYPE {
00245   BYTE Byte;
00246 #if !defined(MIDL_PASS)
00247   struct Bits {
00248     BYTE Recipient:5;
00249     BYTE Type:2;
00250     BYTE Direction:1;
00251     } Bits;
00252 #endif
00253 } USBREQUESTTYPE;
00254 
00255 #if !defined(MIDL_PASS)
00256 C_ASSERT((sizeof(USBREQUESTTYPE) == sizeof(BYTE)));
00257 #endif
00258 
00259 typedef struct _USBSETUPREQUEST {
00260   USBREQUESTTYPE bmRequestType;
00261   BYTE bRequest;
00262   SHORT sSetupValue;
00263   SHORT sSetupIndex;
00264   SHORT sSetupLength;
00265 } USBSETUPREQUEST;
00266 
00267 #if !defined(MIDL_PASS)
00268 
00269 typedef struct _USBDEVICEDESC {
00270   BYTE bLength;
00271   BYTE bDescriptorType;
00272   USHORT usUSB;
00273   BYTE bDeviceClass;
00274   BYTE bDeviceSubClass;
00275   BYTE bProtocol;
00276   BYTE bMaxPacket0;
00277   USHORT usVendor;
00278   USHORT usProduct;
00279   USHORT usDeviceNumber;
00280   BYTE bManufacturer;
00281   BYTE bProductDesc;
00282   BYTE bSerialNumber;
00283   BYTE bNumConfigs;
00284 } USBDEVICEDESC;
00285 
00286 typedef struct _USBCONFIGDESC {
00287   BYTE bLength;
00288   BYTE bDescriptorType;
00289   USHORT usTotalLength;
00290   BYTE bNumInterfaces;
00291   BYTE bConfigValue;
00292   BYTE bConfig;
00293   BYTE bAttributes;
00294   BYTE bMaxPower;
00295 } USBCONFIGDESC;
00296 
00297 
00298 typedef struct _USBINTERFACEDESC {
00299   BYTE bLength;
00300   BYTE bDescriptorType;
00301   BYTE bInterfaceNumber;
00302   BYTE bAlternateSetting;
00303   BYTE bNumEndpoints;
00304   BYTE bClass;
00305   BYTE bSubClass;
00306   BYTE bProtocol;
00307   BYTE bDescription;
00308 } USBINTERFACEDESC;
00309 
00310 #define ENDPOINT_DIRECTION_OUT  0
00311 #define ENDPOINT_DIRECTION_IN   1
00312 
00313 typedef union _USBENDPOINTADDRESS {
00314   BYTE Byte;
00315   struct Bits {
00316     BYTE Number:4;
00317     BYTE Reserved:3;
00318     BYTE Direction:1;
00319   } Bits;
00320 } USBENDPOINTADDRESS;
00321 
00322 C_ASSERT((sizeof(USBENDPOINTADDRESS) == sizeof(BYTE)));
00323 
00324 #define USB_TRANSFER_TYPE_CONTROL       0
00325 #define USB_TRANSFER_TYPE_ISOCH         1
00326 #define USB_TRANSFER_TYPE_BULK          2
00327 #define USB_TRANSFER_TYPE_INTERRUPT     3
00328 
00329 #define USB_SYNC_TYPE_NONE              0
00330 #define USB_SYNC_TYPE_ASYNC             1
00331 #define USB_SYNC_TYPE_ADAPTIVE          2
00332 #define USB_SYNC_TYPE_SYNC              3
00333 
00334 #define USB_USAGE_TYPE_DATA             0
00335 #define USB_USAGE_TYPE_FEEDBACK         1
00336 #define USB_USAGE_TYPE_IMPLICIT         2
00337 #define USB_USAGE_TYPE_RESERVED         3
00338 
00339 typedef union _USBENDPOINTATTRIBS {
00340   BYTE Byte;
00341   struct Bits {
00342     BYTE TransferType:2;
00343     BYTE SyncType:2;
00344     BYTE UsageType:2;
00345     BYTE Reserved:2;
00346   } Bits;
00347 } USBENDPOINTATTRIBS;
00348 
00349 C_ASSERT((sizeof(USBENDPOINTATTRIBS) == sizeof(BYTE)));
00350 
00351 typedef union _USBMAXPACKET {
00352   WORD Word;
00353   struct Bits {
00354     WORD Size:11;
00355     WORD AdditionalXactions:2;
00356     WORD Reserved:3;
00357   } Bits;
00358 } USBMAXPACKET;
00359 
00360 C_ASSERT((sizeof(USBMAXPACKET) == sizeof(WORD)));
00361 
00362 typedef struct _USBENDPOINTDESC {
00363   BYTE bLength;
00364   BYTE bDescriptorType;
00365   USBENDPOINTADDRESS Address;
00366   USBENDPOINTATTRIBS Attributes;
00367   USBMAXPACKET MaxPacket;
00368   BYTE bInterval;
00369 } USBENDPOINTDESC;
00370 
00371 typedef struct _USBQUALIFIERDESC {
00372   BYTE bLength;
00373   BYTE bDescriptorType;
00374   USHORT usUSB;
00375   BYTE bDeviceClass;
00376   BYTE bDeviceSubClass;
00377   BYTE bProtocol;
00378   BYTE bMaxPacket;
00379   BYTE bNumConfigs;
00380   BYTE bReserved;
00381 } USBQUALIFIERDESC;
00382 
00383 typedef struct _USBSTRINGDESC {
00384   BYTE bLength;
00385   BYTE bDescriptorType;
00386   WCHAR wchData[1];
00387 } USBSTRINGDESC;
00388 
00389 typedef struct _USBSTRINGLANGIDS {
00390   BYTE bLength;
00391   BYTE bDescriptorType;
00392   WORD wLANGIDs[1];
00393 } USBSTRINGLANGIDS;
00394 
00395 typedef struct _USBHIDSTANDARDDESC {
00396   BYTE bLength;
00397   BYTE bDescriptorType;
00398   USHORT bcdHID;
00399   BYTE bCountryCode;
00400   BYTE bNumDescriptors;
00401 } USBHIDSTANDARDDESC;
00402 
00403 typedef struct _USBHIDOPTIONALDESC {
00404   BYTE bClassDescriptorType;
00405   USHORT usDescriptorLength;
00406 } USBHIDOPTIONALDESC;
00407 
00408 typedef struct _USBPHYSICALDESCSET0 {
00409   BYTE bNumber;
00410   BYTE bLength;
00411 } USBPHYSICALDESCSET0;
00412 
00413 typedef union _USBPHYSICALDESCSET {
00414   BYTE bPhysicalInfo;
00415   struct Bits {
00416     BYTE bPreference:5;
00417     BYTE bBias:3;
00418     } Bits;
00419 } USBPHYSICALDESCSET;
00420 
00421 typedef struct _USBPHYSICALDESCITEM {
00422   BYTE bDesignator;
00423   union Flags {
00424     BYTE bFlags;
00425     struct Bits {
00426         BYTE bEffort:5;
00427         BYTE bQualifier:3;
00428     } Bits;
00429   } Flags;
00430 } USBPHYSICALDESCITEM;
00431 
00432 typedef union _USBHUBCHARACTERISTICS {
00433   WORD wHubCharacteristics;
00434   struct Bits {
00435     BYTE bLogicalPowerSwitchingMode:2;
00436     BYTE fCompoundDevice:1;
00437     BYTE bOverCurrentMode:2;
00438     BYTE bTTThinkTime:2;
00439     BYTE fPortIndicatorSupport:1;
00440     BYTE bReserved:8;
00441   } Bits;
00442 } USBHUBCHARACTERISTICS;
00443 
00444 #if !defined(MIDL_PASS)
00445 C_ASSERT((sizeof(USBHUBCHARACTERISTICS) == sizeof(WORD)));
00446 #endif
00447 
00448 typedef struct _USBHUBDESC {
00449   BYTE bLength;
00450   BYTE bDescriptorType;
00451   BYTE bNumberOfPorts;
00452   USBHUBCHARACTERISTICS Characteristics;
00453   BYTE bPwrOn2PwrGood;
00454   BYTE bHubContrCurrent;
00455   BYTE bDeviceRemovable[32];
00456   BYTE bPortPwrCtrlMask[32];
00457 } USBHUBDESC;
00458 
00459 #if !defined(MIDL_PASS)
00460 C_ASSERT((sizeof(USBHUBDESC) == 71));
00461 #endif
00462 
00463 typedef union _USBHUBPORTSTATUS {
00464   WORD wPortStatus;
00465   struct Bits {
00466     BYTE fCurrentConnectionStatus:1;
00467     BYTE fEnabled:1;
00468     BYTE fSuspend:1;
00469     BYTE fOverCurrent:1;
00470     BYTE fReset:1;
00471     BYTE bReserved1:3;
00472     BYTE fPortPower:1;
00473     BYTE fLowSpeedDevice:1;
00474     BYTE fHighSpeedDevice:1;
00475     BYTE fTestMode:1;
00476     BYTE fPortIndicatorControl:1;
00477     BYTE bReserved2:3;
00478   } Bits;
00479 } USBHUBPORTSTATUS;
00480 
00481 #if !defined(MIDL_PASS)
00482 C_ASSERT((sizeof(USBHUBPORTSTATUS) == sizeof(WORD)));
00483 #endif
00484 
00485 typedef union _USBHUBPORTSTATUSCHANGE {
00486   WORD wPortStatusChange;
00487   struct Bits {
00488     BYTE fConnectionStatusChange:1;
00489     BYTE fEnabledChange:1;
00490     BYTE fSuspendChange:1;
00491     BYTE fOverCurrentChange:1;
00492     BYTE fResetChange:1;
00493     BYTE bReserved1:3;
00494     BYTE bReserved2:8;
00495   } Bits;
00496 } USBHUBPORTSTATUSCHANGE;
00497 
00498 #if !defined(MIDL_PASS)
00499 C_ASSERT((sizeof(USBHUBPORTSTATUSCHANGE) == sizeof(WORD)));
00500 #endif
00501 
00502 typedef struct _USBHUBPORTDATA {
00503   USBHUBPORTSTATUS PortStatus;
00504   USBHUBPORTSTATUSCHANGE PortStatusChange;
00505 } USBHUBPORTDATA;
00506 
00507 #define USB_MAKE_LANGID(lang, sublang)         \
00508   ((((USHORT)(sublang)) << 10) | (USHORT)(lang))
00509 
00510 #define USB_LANG_RESERVED                                   0x00 
00511 #define USB_LANG_ARABIC                                     0x01
00512 #define USB_LANG_BULGARIAN                                  0x02
00513 #define USB_LANG_CATALAN                                    0x03
00514 #define USB_LANG_CHINESE                                    0x04
00515 #define USB_LANG_CZECH                                      0x05
00516 #define USB_LANG_DANISH                                     0x06
00517 #define USB_LANG_GERMAN                                     0x07
00518 #define USB_LANG_GREEK                                      0x08
00519 #define USB_LANG_ENGLISH                                    0x09
00520 #define USB_LANG_SPANISH                                    0x0a
00521 #define USB_LANG_FINNISH                                    0x0b
00522 #define USB_LANG_FRENCH                                     0x0c
00523 #define USB_LANG_HEBREW                                     0x0d
00524 #define USB_LANG_HUNGARIAN                                  0x0e
00525 #define USB_LANG_ICELANDIC                                  0x0f
00526 #define USB_LANG_ITALIAN                                    0x10
00527 #define USB_LANG_JAPANESE                                   0x11
00528 #define USB_LANG_KOREAN                                     0x12
00529 #define USB_LANG_DUTCH                                      0x13
00530 #define USB_LANG_NORWEGIAN                                  0x14
00531 #define USB_LANG_POLISH                                     0x15
00532 #define USB_LANG_PORTUGUESE                                 0x16
00533 #define USB_LANG_ROMANIAN                                   0x18
00534 #define USB_LANG_RUSSIAN                                    0x19
00535 #define USB_LANG_CROATIAN                                   0x1a
00536 #define USB_LANG_SERBIAN                                    0x1a
00537 #define USB_LANG_SLOVAK                                     0x1b
00538 #define USB_LANG_ALBANIAN                                   0x1c
00539 #define USB_LANG_SWEDISH                                    0x1d
00540 #define USB_LANG_THAI                                       0x1e
00541 #define USB_LANG_TURKISH                                    0x1f
00542 #define USB_LANG_URDU                                       0x20
00543 #define USB_LANG_INDONESIAN                                 0x21
00544 #define USB_LANG_UKRANIAN                                   0x22
00545 #define USB_LANG_BELARUSIAN                                 0x23
00546 #define USB_LANG_SLOVENIAN                                  0x24
00547 #define USB_LANG_ESTONIAN                                   0x25
00548 #define USB_LANG_LATVIAN                                    0x26
00549 #define USB_LANG_LITHUANIAN                                 0x27
00550 #define USB_LANG_FARSI                                      0x29
00551 #define USB_LANG_VIETNAMESE                                 0x2a
00552 #define USB_LANG_ARMENIAN                                   0x2b
00553 #define USB_LANG_AZERI                                      0x2c
00554 #define USB_LANG_BASQUE                                     0x2d
00555 #define USB_LANG_MACEDONIAN                                 0x2f
00556 #define USB_LANG_AFRIKAANS                                  0x36
00557 #define USB_LANG_GEORGIAN                                   0x37
00558 #define USB_LANG_FAEROESE                                   0x38
00559 #define USB_LANG_HINDI                                      0x39
00560 #define USB_LANG_MALAY                                      0x3e
00561 #define USB_LANG_KAZAK                                      0x3f
00562 #define USB_LANG_SWAHILI                                    0x41
00563 #define USB_LANG_UZBEK                                      0x43
00564 #define USB_LANG_TATAR                                      0x44
00565 #define USB_LANG_BENGALI                                    0x45
00566 #define USB_LANG_PUNJABI                                    0x46
00567 #define USB_LANG_GUJARATI                                   0x47
00568 #define USB_LANG_ORIYA                                      0x48
00569 #define USB_LANG_TAMIL                                      0x49
00570 #define USB_LANG_TELUGU                                     0x4a
00571 #define USB_LANG_KANNADA                                    0x4b
00572 #define USB_LANG_MALAYALAM                                  0x4c
00573 #define USB_LANG_ASSAMESE                                   0x4d
00574 #define USB_LANG_MARATHI                                    0x4e
00575 #define USB_LANG_SANSKRIT                                   0x4f
00576 #define USB_LANG_KONKANI                                    0x57
00577 #define USB_LANG_MANIPURI                                   0x58
00578 #define USB_LANG_SINDHI                                     0x59
00579 #define USB_LANG_KASHMIRI                                   0x60
00580 #define USB_LANG_NEPALI                                     0x61
00581 #define USB_LANG_HID                                        0xff
00582 
00583 #define USB_SUBLANG_ARABIC_SAUDI_ARABIA                     0x01
00584 #define USB_SUBLANG_ARABIC_SAUDI_ARABIA                     0x01
00585 #define USB_SUBLANG_ARABIC_IRAQ                             0x02
00586 #define USB_SUBLANG_ARABIC_EGYPT                            0x03
00587 #define USB_SUBLANG_ARABIC_LIBYA                            0x04
00588 #define USB_SUBLANG_ARABIC_ALGERIA                          0x05
00589 #define USB_SUBLANG_ARABIC_MOROCCO                          0x06
00590 #define USB_SUBLANG_ARABIC_TUNISIA                          0x07
00591 #define USB_SUBLANG_ARABIC_OMAN                             0x08
00592 #define USB_SUBLANG_ARABIC_YEMEN                            0x09
00593 #define USB_SUBLANG_ARABIC_SYRIA                            0x10
00594 #define USB_SUBLANG_ARABIC_JORDAN                           0x11
00595 #define USB_SUBLANG_ARABIC_LEBANON                          0x12
00596 #define USB_SUBLANG_ARABIC_KUWAIT                           0x13
00597 #define USB_SUBLANG_ARABIC_UAE                              0x14
00598 #define USB_SUBLANG_ARABIC_BAHRAIN                          0x15
00599 #define USB_SUBLANG_ARABIC_QATAR                            0x16
00600 #define USB_SUBLANG_AZERI_CYRILLIC                          0x01
00601 #define USB_SUBLANG_AZERI_LATIN                             0x02
00602 #define USB_SUBLANG_CHINESE_TRADITIONAL                     0x01
00603 #define USB_SUBLANG_CHINESE_SIMPLIFIED                      0x02
00604 #define USB_SUBLANG_CHINESE_HONGKONG                        0x03
00605 #define USB_SUBLANG_CHINESE_SINGAPORE                       0x04
00606 #define USB_SUBLANG_CHINESE_MACAU                           0x05
00607 #define USB_SUBLANG_DUTCH                                   0x01
00608 #define USB_SUBLANG_DUTCH_BELGIAN                           0x02
00609 #define USB_SUBLANG_ENGLISH_US                              0x01
00610 #define USB_SUBLANG_ENGLISH_UK                              0x02
00611 #define USB_SUBLANG_ENGLISH_AUS                             0x03
00612 #define USB_SUBLANG_ENGLISH_CAN                             0x04
00613 #define USB_SUBLANG_ENGLISH_NZ                              0x05
00614 #define USB_SUBLANG_ENGLISH_EIRE                            0x06
00615 #define USB_SUBLANG_ENGLISH_SOUTH_AFRICA                    0x07
00616 #define USB_SUBLANG_ENGLISH_JAMAICA                         0x08
00617 #define USB_SUBLANG_ENGLISH_CARIBBEAN                       0x09
00618 #define USB_SUBLANG_ENGLISH_BELIZE                          0x0a
00619 #define USB_SUBLANG_ENGLISH_TRINIDAD                        0x0b
00620 #define USB_SUBLANG_ENGLISH_PHILIPPINES                     0x0c
00621 #define USB_SUBLANG_ENGLISH_ZIMBABWE                        0x0d
00622 #define USB_SUBLANG_FRENCH                                  0x01
00623 #define USB_SUBLANG_FRENCH_BELGIAN                          0x02
00624 #define USB_SUBLANG_FRENCH_CANADIAN                         0x03
00625 #define USB_SUBLANG_FRENCH_SWISS                            0x04
00626 #define USB_SUBLANG_FRENCH_LUXEMBOURG                       0x05
00627 #define USB_SUBLANG_FRENCH_MONACO                           0x06
00628 #define USB_SUBLANG_GERMAN                                  0x01
00629 #define USB_SUBLANG_GERMAN_SWISS                            0x02
00630 #define USB_SUBLANG_GERMAN_AUSTRIAN                         0x03
00631 #define USB_SUBLANG_GERMAN_LUXEMBOURG                       0x04
00632 #define USB_SUBLANG_GERMAN_LIECHTENSTEIN                    0x05
00633 #define USB_SUBLANG_ITALIAN                                 0x01
00634 #define USB_SUBLANG_ITALIAN_SWISS                           0x02
00635 #define USB_SUBLANG_KASHMIRI_INDIA                          0x02
00636 #define USB_SUBLANG_KOREAN                                  0x01
00637 #define USB_SUBLANG_LITHUANIAN                              0x01
00638 #define USB_SUBLANG_MALAY_MALAYSIA                          0x01
00639 #define USB_SUBLANG_MALAY_BRUNEI_DARUSSALAM                 0x02
00640 #define USB_SUBLANG_NEPALI_INDIA                            0x02
00641 #define USB_SUBLANG_NORWEGIAN_BOKMAL                        0x01
00642 #define USB_SUBLANG_NORWEGIAN_NYNORSK                       0x02
00643 #define USB_SUBLANG_PORTUGUESE                              0x01
00644 #define USB_SUBLANG_PORTUGUESE_BRAZILIAN                    0x02
00645 #define USB_SUBLANG_SERBIAN_LATIN                           0x02
00646 #define USB_SUBLANG_SERBIAN_CYRILLIC                        0x03
00647 #define USB_SUBLANG_SPANISH                                 0x01
00648 #define USB_SUBLANG_SPANISH_MEXICAN                         0x02
00649 #define USB_SUBLANG_SPANISH_MODERN                          0x03
00650 #define USB_SUBLANG_SPANISH_GUATEMALA                       0x04
00651 #define USB_SUBLANG_SPANISH_COSTA_RICA                      0x05
00652 #define USB_SUBLANG_SPANISH_PANAMA                          0x06
00653 #define USB_SUBLANG_SPANISH_DOMINICAN_REPUBLIC              0x07
00654 #define USB_SUBLANG_SPANISH_VENEZUELA                       0x08
00655 #define USB_SUBLANG_SPANISH_COLOMBIA                        0x09
00656 #define USB_SUBLANG_SPANISH_PERU                            0x0a
00657 #define USB_SUBLANG_SPANISH_ARGENTINA                       0x0b
00658 #define USB_SUBLANG_SPANISH_ECUADOR                         0x0c
00659 #define USB_SUBLANG_SPANISH_CHILE                           0x0d
00660 #define USB_SUBLANG_SPANISH_URUGUAY                         0x0e
00661 #define USB_SUBLANG_SPANISH_PARAGUAY                        0x0f
00662 #define USB_SUBLANG_SPANISH_BOLIVIA                         0x10
00663 #define USB_SUBLANG_SPANISH_EL_SALVADOR                     0x11
00664 #define USB_SUBLANG_SPANISH_HONDURAS                        0x12
00665 #define USB_SUBLANG_SPANISH_NICARAGUA                       0x13
00666 #define USB_SUBLANG_SPANISH_PUERTO_RICO                     0x14
00667 #define USB_SUBLANG_SWEDISH                                 0x01
00668 #define USB_SUBLANG_SWEDISH_FINLAND                         0x02
00669 #define USB_SUBLANG_URDU_PAKISTAN                           0x01
00670 #define USB_SUBLANG_URDU_INDIA                              0x02
00671 #define USB_SUBLANG_UZBEK_LATIN                             0x01
00672 #define USB_SUBLANG_UZBEK_CYRILLIC                          0x02
00673 #define USB_SUBLANG_HID_USAGE_DATA_DESCRIPTOR               0x01
00674 #define USB_SUBLANG_HID_VENDOR_DEFINED_1                    0x3c
00675 #define USB_SUBLANG_HID_VENDOR_DEFINED_2                    0x3d
00676 #define USB_SUBLANG_HID_VENDOR_DEFINED_3                    0x3e
00677 #define USB_SUBLANG_HID_VENDOR_DEFINED_4                    0x3f
00678 
00679 #endif /* !defined(MIDL_PASS) */
00680 
00681 #include <poppack.h>

Generated on Sat May 26 2012 04:28:58 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.