+ //\r
+ // Standard control transfer request type, or the value\r
+ // to fill in EFI_USB_DEVICE_REQUEST.Request\r
+ //\r
+ USB_REQ_GET_STATUS = 0x00,\r
+ USB_REQ_CLEAR_FEATURE = 0x01,\r
+ USB_REQ_SET_FEATURE = 0x03,\r
+ USB_REQ_SET_ADDRESS = 0x05,\r
+ USB_REQ_GET_DESCRIPTOR = 0x06,\r
+ USB_REQ_SET_DESCRIPTOR = 0x07,\r
+ USB_REQ_GET_CONFIG = 0x08,\r
+ USB_REQ_SET_CONFIG = 0x09,\r
+ USB_REQ_GET_INTERFACE = 0x0A,\r
+ USB_REQ_SET_INTERFACE = 0x0B,\r
+ USB_REQ_SYNCH_FRAME = 0x0C,\r
+\r
+ //\r
+ // Usb control transfer target\r
+ //\r
+ USB_TARGET_DEVICE = 0,\r
+ USB_TARGET_INTERFACE = 0x01,\r
+ USB_TARGET_ENDPOINT = 0x02,\r
+ USB_TARGET_OTHER = 0x03,\r
+\r
+ //\r
+ // USB Descriptor types\r
+ //\r
+ USB_DESC_TYPE_DEVICE = 0x01,\r
+ USB_DESC_TYPE_CONFIG = 0x02,\r
+ USB_DESC_TYPE_STRING = 0x03,\r
+ USB_DESC_TYPE_INTERFACE = 0x04,\r
+ USB_DESC_TYPE_ENDPOINT = 0x05,\r
+ USB_DESC_TYPE_HID = 0x21,\r
+\r
+ //\r
+ // Features to be cleared by CLEAR_FEATURE requests\r
+ //\r
+ USB_FEATURE_ENDPOINT_HALT = 0,\r
+\r
+ //\r
+ // USB endpoint types: 00: control, 01: isochronous, 10: bulk, 11: interrupt\r
+ //\r
+ USB_ENDPOINT_CONTROL = 0x00,\r
+ USB_ENDPOINT_ISO = 0x01,\r
+ USB_ENDPOINT_BULK = 0x02,\r
+ USB_ENDPOINT_INTERRUPT = 0x03,\r
+\r
+ USB_ENDPOINT_TYPE_MASK = 0x03,\r
+ USB_ENDPOINT_DIR_IN = 0x80,\r
+\r
+ //\r
+ //Use 200 ms to increase the error handling response time\r
+ //\r
+ EFI_USB_INTERRUPT_DELAY = 2000000,\r
+};\r