25#define USB_MASS_STORE_CLASS 0x08
30#define USB_MASS_STORE_RBC 0x01
31#define USB_MASS_STORE_8020I 0x02
32#define USB_MASS_STORE_QIC 0x03
33#define USB_MASS_STORE_UFI 0x04
34#define USB_MASS_STORE_8070I 0x05
35#define USB_MASS_STORE_SCSI 0x06
40#define USB_MASS_STORE_CBI0 0x00
41#define USB_MASS_STORE_CBI1 0x01
42#define USB_MASS_STORE_BOT 0x50
48#define USB_DEV_GET_STATUS 0x00
49#define USB_DEV_GET_STATUS_REQ_TYPE_D 0x80
50#define USB_DEV_GET_STATUS_REQ_TYPE_I 0x81
51#define USB_DEV_GET_STATUS_REQ_TYPE_E 0x82
53#define USB_DEV_CLEAR_FEATURE 0x01
54#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D 0x00
55#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I 0x01
56#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E 0x02
58#define USB_DEV_SET_FEATURE 0x03
59#define USB_DEV_SET_FEATURE_REQ_TYPE_D 0x00
60#define USB_DEV_SET_FEATURE_REQ_TYPE_I 0x01
61#define USB_DEV_SET_FEATURE_REQ_TYPE_E 0x02
63#define USB_DEV_SET_ADDRESS 0x05
64#define USB_DEV_SET_ADDRESS_REQ_TYPE 0x00
66#define USB_DEV_GET_DESCRIPTOR 0x06
67#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE 0x80
69#define USB_DEV_SET_DESCRIPTOR 0x07
70#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE 0x00
72#define USB_DEV_GET_CONFIGURATION 0x08
73#define USB_DEV_GET_CONFIGURATION_REQ_TYPE 0x80
75#define USB_DEV_SET_CONFIGURATION 0x09
76#define USB_DEV_SET_CONFIGURATION_REQ_TYPE 0x00
78#define USB_DEV_GET_INTERFACE 0x0A
79#define USB_DEV_GET_INTERFACE_REQ_TYPE 0x81
81#define USB_DEV_SET_INTERFACE 0x0B
82#define USB_DEV_SET_INTERFACE_REQ_TYPE 0x01
84#define USB_DEV_SYNCH_FRAME 0x0C
85#define USB_DEV_SYNCH_FRAME_REQ_TYPE 0x82
257#define USB_HID_GET_DESCRIPTOR_REQ_TYPE 0x81
262#define USB_HID_CLASS_GET_REQ_TYPE 0xa1
263#define USB_HID_CLASS_SET_REQ_TYPE 0x21
268#define HID_ITEM_FORMAT_SHORT 0
269#define HID_ITEM_FORMAT_LONG 1
274#define HID_ITEM_TAG_LONG 15
279#define HID_ITEM_TYPE_MAIN 0
280#define HID_ITEM_TYPE_GLOBAL 1
281#define HID_ITEM_TYPE_LOCAL 2
282#define HID_ITEM_TYPE_RESERVED 3
287#define HID_MAIN_ITEM_TAG_INPUT 8
288#define HID_MAIN_ITEM_TAG_OUTPUT 9
289#define HID_MAIN_ITEM_TAG_FEATURE 11
290#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION 10
291#define HID_MAIN_ITEM_TAG_END_COLLECTION 12
296#define HID_MAIN_ITEM_CONSTANT 0x001
297#define HID_MAIN_ITEM_VARIABLE 0x002
298#define HID_MAIN_ITEM_RELATIVE 0x004
299#define HID_MAIN_ITEM_WRAP 0x008
300#define HID_MAIN_ITEM_NONLINEAR 0x010
301#define HID_MAIN_ITEM_NO_PREFERRED 0x020
302#define HID_MAIN_ITEM_NULL_STATE 0x040
303#define HID_MAIN_ITEM_VOLATILE 0x080
304#define HID_MAIN_ITEM_BUFFERED_BYTE 0x100
309#define HID_COLLECTION_PHYSICAL 0
310#define HID_COLLECTION_APPLICATION 1
311#define HID_COLLECTION_LOGICAL 2
316#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE 0
317#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM 1
318#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM 2
319#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM 3
320#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM 4
321#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT 5
322#define HID_GLOBAL_ITEM_TAG_UNIT 6
323#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE 7
324#define HID_GLOBAL_ITEM_TAG_REPORT_ID 8
325#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT 9
326#define HID_GLOBAL_ITEM_TAG_PUSH 10
327#define HID_GLOBAL_ITEM_TAG_POP 11
332#define HID_LOCAL_ITEM_TAG_USAGE 0
333#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM 1
334#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM 2
335#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX 3
336#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM 4
337#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM 5
338#define HID_LOCAL_ITEM_TAG_STRING_INDEX 7
339#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM 8
340#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM 9
341#define HID_LOCAL_ITEM_TAG_DELIMITER 10
346#define HID_INPUT_REPORT 1
347#define HID_OUTPUT_REPORT 2
348#define HID_FEATURE_REPORT 3
353#define EFI_USB_GET_REPORT_REQUEST 0x01
354#define EFI_USB_GET_IDLE_REQUEST 0x02
355#define EFI_USB_GET_PROTOCOL_REQUEST 0x03
356#define EFI_USB_SET_REPORT_REQUEST 0x09
357#define EFI_USB_SET_IDLE_REQUEST 0x0a
358#define EFI_USB_SET_PROTOCOL_REQUEST 0x0b
unsigned short CHAR16
Definition ProcessorBind.h:105
struct hid_class_descriptor EFI_USB_HID_CLASS_DESCRIPTOR
struct hid_descriptor EFI_USB_HID_DESCRIPTOR
USB_TYPES_DEFINITION
Definition Usb.h:183
@ USB_DESC_TYPE_REPORT
Definition Usb.h:224
@ USB_REQ_SYNCH_FRAME
Definition Usb.h:205
@ USB_TARGET_INTERFACE
Definition Usb.h:211
@ USB_DESC_TYPE_ENDPOINT
Definition Usb.h:222
@ USB_REQ_SET_INTERFACE
Definition Usb.h:204
@ USB_REQ_GET_DESCRIPTOR
Definition Usb.h:199
@ USB_REQ_SET_DESCRIPTOR
Definition Usb.h:200
@ USB_ENDPOINT_TYPE_MASK
Definition Usb.h:239
@ USB_ENDPOINT_DIR_IN
Definition Usb.h:240
@ USB_DESC_TYPE_CONFIG
Definition Usb.h:219
@ USB_REQ_CLEAR_FEATURE
Definition Usb.h:196
@ USB_DESC_TYPE_HID
Definition Usb.h:223
@ USB_DESC_TYPE_INTERFACE
Definition Usb.h:221
@ USB_DESC_TYPE_DEVICE
Definition Usb.h:218
@ USB_TARGET_ENDPOINT
Definition Usb.h:212
@ USB_ENDPOINT_ISO
Definition Usb.h:235
@ USB_REQ_GET_INTERFACE
Definition Usb.h:203
@ USB_REQ_SET_ADDRESS
Definition Usb.h:198
@ USB_ENDPOINT_BULK
Definition Usb.h:236
@ USB_TARGET_DEVICE
Definition Usb.h:210
@ USB_REQ_GET_STATUS
Definition Usb.h:195
@ USB_ENDPOINT_CONTROL
Definition Usb.h:234
@ USB_REQ_TYPE_STANDARD
Definition Usb.h:187
@ USB_TARGET_OTHER
Definition Usb.h:213
@ EFI_USB_INTERRUPT_DELAY
Definition Usb.h:245
@ USB_REQ_GET_CONFIG
Definition Usb.h:201
@ USB_REQ_SET_FEATURE
Definition Usb.h:197
@ USB_REQ_SET_CONFIG
Definition Usb.h:202
@ USB_ENDPOINT_INTERRUPT
Definition Usb.h:237
@ USB_FEATURE_ENDPOINT_HALT
Definition Usb.h:229
@ USB_REQ_TYPE_CLASS
Definition Usb.h:188
@ USB_REQ_TYPE_VENDOR
Definition Usb.h:189
@ USB_DESC_TYPE_STRING
Definition Usb.h:220
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
UINT8 DescriptorType
Definition Usb.h:176
UINT8 Length
Definition Usb.h:175
UINT8 ConfigurationValue
Definition Usb.h:135
UINT16 TotalLength
Definition Usb.h:133
UINT8 Configuration
Definition Usb.h:136
UINT8 MaxPower
Definition Usb.h:138
UINT8 DescriptorType
Definition Usb.h:132
UINT8 NumInterfaces
Definition Usb.h:134
UINT8 Attributes
Definition Usb.h:137
UINT8 Length
Definition Usb.h:131
UINT16 IdVendor
Definition Usb.h:117
UINT8 Length
Definition Usb.h:110
UINT8 StrProduct
Definition Usb.h:121
UINT8 DeviceProtocol
Definition Usb.h:115
UINT8 MaxPacketSize0
Definition Usb.h:116
UINT8 NumConfigurations
Definition Usb.h:123
UINT16 BcdDevice
Definition Usb.h:119
UINT8 DeviceSubClass
Definition Usb.h:114
UINT16 BcdUSB
Definition Usb.h:112
UINT8 DeviceClass
Definition Usb.h:113
UINT16 IdProduct
Definition Usb.h:118
UINT8 DescriptorType
Definition Usb.h:111
UINT8 StrManufacturer
Definition Usb.h:120
UINT8 StrSerialNumber
Definition Usb.h:122
UINT16 Length
Definition Usb.h:102
UINT8 Request
Definition Usb.h:99
UINT16 Value
Definition Usb.h:100
UINT8 RequestType
Definition Usb.h:98
UINT16 Index
Definition Usb.h:101
UINT8 Length
Definition Usb.h:162
UINT8 EndpointAddress
Definition Usb.h:164
UINT8 DescriptorType
Definition Usb.h:163
UINT8 Interval
Definition Usb.h:167
UINT8 Attributes
Definition Usb.h:165
UINT16 MaxPacketSize
Definition Usb.h:166
UINT8 Length
Definition Usb.h:146
UINT8 Interface
Definition Usb.h:154
UINT8 DescriptorType
Definition Usb.h:147
UINT8 InterfaceSubClass
Definition Usb.h:152
UINT8 InterfaceClass
Definition Usb.h:151
UINT8 InterfaceNumber
Definition Usb.h:148
UINT8 AlternateSetting
Definition Usb.h:149
UINT8 InterfaceProtocol
Definition Usb.h:153
UINT8 NumEndpoints
Definition Usb.h:150
UINT16 DescriptorLength
Definition Usb.h:367
UINT8 DescriptorType
Definition Usb.h:366
UINT8 DescriptorType
Definition Usb.h:377
UINT8 NumDescriptors
Definition Usb.h:380
UINT8 Length
Definition Usb.h:376
EFI_USB_HID_CLASS_DESCRIPTOR HidClassDesc[1]
Definition Usb.h:381
UINT8 CountryCode
Definition Usb.h:379
UINT16 BcdHID
Definition Usb.h:378