iPXE
Data Structures | Macros | Typedefs | Enumerations | Functions
Usb.h File Reference

Support for USB 2.0 standard. More...

Go to the source code of this file.

Data Structures

struct  USB_DEVICE_REQUEST
 Format of Setup Data for USB Device Requests USB 2.0 spec, Section 9.3. More...
 
struct  USB_DEVICE_DESCRIPTOR
 Standard Device Descriptor USB 2.0 spec, Section 9.6.1. More...
 
struct  USB_CONFIG_DESCRIPTOR
 Standard Configuration Descriptor USB 2.0 spec, Section 9.6.3. More...
 
struct  USB_INTERFACE_DESCRIPTOR
 Standard Interface Descriptor USB 2.0 spec, Section 9.6.5. More...
 
struct  USB_ENDPOINT_DESCRIPTOR
 Standard Endpoint Descriptor USB 2.0 spec, Section 9.6.6. More...
 
struct  EFI_USB_STRING_DESCRIPTOR
 UNICODE String Descriptor USB 2.0 spec, Section 9.6.7. More...
 
struct  hid_class_descriptor
 Descriptor header for Report/Physical Descriptors HID 1.1, section 6.2.1. More...
 
struct  hid_descriptor
 The HID descriptor identifies the length and type of subordinate descriptors for a device. More...
 

Macros

#define USB_MASS_STORE_CLASS   0x08
 
#define USB_MASS_STORE_RBC   0x01
 Reduced Block Commands. More...
 
#define USB_MASS_STORE_8020I   0x02
 SFF-8020i, typically a CD/DVD device. More...
 
#define USB_MASS_STORE_QIC   0x03
 Typically a tape device. More...
 
#define USB_MASS_STORE_UFI   0x04
 Typically a floppy disk driver device. More...
 
#define USB_MASS_STORE_8070I   0x05
 SFF-8070i, typically a floppy disk driver device. More...
 
#define USB_MASS_STORE_SCSI   0x06
 SCSI transparent command set. More...
 
#define USB_MASS_STORE_CBI0   0x00
 CBI protocol with command completion interrupt. More...
 
#define USB_MASS_STORE_CBI1   0x01
 CBI protocol without command completion interrupt. More...
 
#define USB_MASS_STORE_BOT   0x50
 Bulk-Only Transport. More...
 
#define USB_DEV_GET_STATUS   0x00
 
#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80
 
#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81
 
#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82
 
#define USB_DEV_CLEAR_FEATURE   0x01
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01
 
#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02
 
#define USB_DEV_SET_FEATURE   0x03
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01
 
#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02
 
#define USB_DEV_SET_ADDRESS   0x05
 
#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00
 
#define USB_DEV_GET_DESCRIPTOR   0x06
 
#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80
 
#define USB_DEV_SET_DESCRIPTOR   0x07
 
#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00
 
#define USB_DEV_GET_CONFIGURATION   0x08
 
#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80
 
#define USB_DEV_SET_CONFIGURATION   0x09
 
#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00
 
#define USB_DEV_GET_INTERFACE   0x0A
 
#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81
 
#define USB_DEV_SET_INTERFACE   0x0B
 
#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01
 
#define USB_DEV_SYNCH_FRAME   0x0C
 
#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82
 
#define USB_HID_GET_DESCRIPTOR_REQ_TYPE   0x81
 
#define USB_HID_CLASS_GET_REQ_TYPE   0xa1
 
#define USB_HID_CLASS_SET_REQ_TYPE   0x21
 
#define HID_ITEM_FORMAT_SHORT   0
 
#define HID_ITEM_FORMAT_LONG   1
 
#define HID_ITEM_TAG_LONG   15
 
#define HID_ITEM_TYPE_MAIN   0
 
#define HID_ITEM_TYPE_GLOBAL   1
 
#define HID_ITEM_TYPE_LOCAL   2
 
#define HID_ITEM_TYPE_RESERVED   3
 
#define HID_MAIN_ITEM_TAG_INPUT   8
 
#define HID_MAIN_ITEM_TAG_OUTPUT   9
 
#define HID_MAIN_ITEM_TAG_FEATURE   11
 
#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION   10
 
#define HID_MAIN_ITEM_TAG_END_COLLECTION   12
 
#define HID_MAIN_ITEM_CONSTANT   0x001
 
#define HID_MAIN_ITEM_VARIABLE   0x002
 
#define HID_MAIN_ITEM_RELATIVE   0x004
 
#define HID_MAIN_ITEM_WRAP   0x008
 
#define HID_MAIN_ITEM_NONLINEAR   0x010
 
#define HID_MAIN_ITEM_NO_PREFERRED   0x020
 
#define HID_MAIN_ITEM_NULL_STATE   0x040
 
#define HID_MAIN_ITEM_VOLATILE   0x080
 
#define HID_MAIN_ITEM_BUFFERED_BYTE   0x100
 
#define HID_COLLECTION_PHYSICAL   0
 
#define HID_COLLECTION_APPLICATION   1
 
#define HID_COLLECTION_LOGICAL   2
 
#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE   0
 
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM   1
 
#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM   2
 
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM   3
 
#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM   4
 
#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT   5
 
#define HID_GLOBAL_ITEM_TAG_UNIT   6
 
#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE   7
 
#define HID_GLOBAL_ITEM_TAG_REPORT_ID   8
 
#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT   9
 
#define HID_GLOBAL_ITEM_TAG_PUSH   10
 
#define HID_GLOBAL_ITEM_TAG_POP   11
 
#define HID_LOCAL_ITEM_TAG_USAGE   0
 
#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM   1
 
#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM   2
 
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX   3
 
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM   4
 
#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM   5
 
#define HID_LOCAL_ITEM_TAG_STRING_INDEX   7
 
#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM   8
 
#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM   9
 
#define HID_LOCAL_ITEM_TAG_DELIMITER   10
 
#define HID_INPUT_REPORT   1
 
#define HID_OUTPUT_REPORT   2
 
#define HID_FEATURE_REPORT   3
 
#define EFI_USB_GET_REPORT_REQUEST   0x01
 
#define EFI_USB_GET_IDLE_REQUEST   0x02
 
#define EFI_USB_GET_PROTOCOL_REQUEST   0x03
 
#define EFI_USB_SET_REPORT_REQUEST   0x09
 
#define EFI_USB_SET_IDLE_REQUEST   0x0a
 
#define EFI_USB_SET_PROTOCOL_REQUEST   0x0b
 

Typedefs

typedef struct hid_class_descriptor EFI_USB_HID_CLASS_DESCRIPTOR
 Descriptor header for Report/Physical Descriptors HID 1.1, section 6.2.1. More...
 
typedef struct hid_descriptor EFI_USB_HID_DESCRIPTOR
 The HID descriptor identifies the length and type of subordinate descriptors for a device. More...
 

Enumerations

enum  USB_TYPES_DEFINITION {
  USB_REQ_TYPE_STANDARD = (0x00 << 5), USB_REQ_TYPE_CLASS = (0x01 << 5), USB_REQ_TYPE_VENDOR = (0x02 << 5), USB_REQ_GET_STATUS = 0x00,
  USB_REQ_CLEAR_FEATURE = 0x01, USB_REQ_SET_FEATURE = 0x03, USB_REQ_SET_ADDRESS = 0x05, USB_REQ_GET_DESCRIPTOR = 0x06,
  USB_REQ_SET_DESCRIPTOR = 0x07, USB_REQ_GET_CONFIG = 0x08, USB_REQ_SET_CONFIG = 0x09, USB_REQ_GET_INTERFACE = 0x0A,
  USB_REQ_SET_INTERFACE = 0x0B, USB_REQ_SYNCH_FRAME = 0x0C, USB_TARGET_DEVICE = 0, USB_TARGET_INTERFACE = 0x01,
  USB_TARGET_ENDPOINT = 0x02, USB_TARGET_OTHER = 0x03, USB_DESC_TYPE_DEVICE = 0x01, USB_DESC_TYPE_CONFIG = 0x02,
  USB_DESC_TYPE_STRING = 0x03, USB_DESC_TYPE_INTERFACE = 0x04, USB_DESC_TYPE_ENDPOINT = 0x05, USB_DESC_TYPE_HID = 0x21,
  USB_DESC_TYPE_REPORT = 0x22, USB_FEATURE_ENDPOINT_HALT = 0, USB_ENDPOINT_CONTROL = 0x00, USB_ENDPOINT_ISO = 0x01,
  USB_ENDPOINT_BULK = 0x02, USB_ENDPOINT_INTERRUPT = 0x03, USB_ENDPOINT_TYPE_MASK = 0x03, USB_ENDPOINT_DIR_IN = 0x80,
  EFI_USB_INTERRUPT_DELAY = 2000000
}
 

Functions

 FILE_LICENCE (BSD2_PATENT)
 

Detailed Description

Support for USB 2.0 standard.

Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Usb.h.

Macro Definition Documentation

◆ USB_MASS_STORE_CLASS

#define USB_MASS_STORE_CLASS   0x08

Definition at line 21 of file Usb.h.

◆ USB_MASS_STORE_RBC

#define USB_MASS_STORE_RBC   0x01

Reduced Block Commands.

Definition at line 26 of file Usb.h.

◆ USB_MASS_STORE_8020I

#define USB_MASS_STORE_8020I   0x02

SFF-8020i, typically a CD/DVD device.

Definition at line 27 of file Usb.h.

◆ USB_MASS_STORE_QIC

#define USB_MASS_STORE_QIC   0x03

Typically a tape device.

Definition at line 28 of file Usb.h.

◆ USB_MASS_STORE_UFI

#define USB_MASS_STORE_UFI   0x04

Typically a floppy disk driver device.

Definition at line 29 of file Usb.h.

◆ USB_MASS_STORE_8070I

#define USB_MASS_STORE_8070I   0x05

SFF-8070i, typically a floppy disk driver device.

Definition at line 30 of file Usb.h.

◆ USB_MASS_STORE_SCSI

#define USB_MASS_STORE_SCSI   0x06

SCSI transparent command set.

Definition at line 31 of file Usb.h.

◆ USB_MASS_STORE_CBI0

#define USB_MASS_STORE_CBI0   0x00

CBI protocol with command completion interrupt.

Definition at line 36 of file Usb.h.

◆ USB_MASS_STORE_CBI1

#define USB_MASS_STORE_CBI1   0x01

CBI protocol without command completion interrupt.

Definition at line 37 of file Usb.h.

◆ USB_MASS_STORE_BOT

#define USB_MASS_STORE_BOT   0x50

Bulk-Only Transport.

Definition at line 38 of file Usb.h.

◆ USB_DEV_GET_STATUS

#define USB_DEV_GET_STATUS   0x00

Definition at line 44 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_D

#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80

Definition at line 45 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_I

#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81

Definition at line 46 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_E

#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82

Definition at line 47 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE

#define USB_DEV_CLEAR_FEATURE   0x01

Definition at line 49 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_D

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00

Definition at line 50 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_I

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01

Definition at line 51 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_E

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02

Definition at line 52 of file Usb.h.

◆ USB_DEV_SET_FEATURE

#define USB_DEV_SET_FEATURE   0x03

Definition at line 54 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_D

#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00

Definition at line 55 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_I

#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01

Definition at line 56 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_E

#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02

Definition at line 57 of file Usb.h.

◆ USB_DEV_SET_ADDRESS

#define USB_DEV_SET_ADDRESS   0x05

Definition at line 59 of file Usb.h.

◆ USB_DEV_SET_ADDRESS_REQ_TYPE

#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00

Definition at line 60 of file Usb.h.

◆ USB_DEV_GET_DESCRIPTOR

#define USB_DEV_GET_DESCRIPTOR   0x06

Definition at line 62 of file Usb.h.

◆ USB_DEV_GET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80

Definition at line 63 of file Usb.h.

◆ USB_DEV_SET_DESCRIPTOR

#define USB_DEV_SET_DESCRIPTOR   0x07

Definition at line 65 of file Usb.h.

◆ USB_DEV_SET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00

Definition at line 66 of file Usb.h.

◆ USB_DEV_GET_CONFIGURATION

#define USB_DEV_GET_CONFIGURATION   0x08

Definition at line 68 of file Usb.h.

◆ USB_DEV_GET_CONFIGURATION_REQ_TYPE

#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80

Definition at line 69 of file Usb.h.

◆ USB_DEV_SET_CONFIGURATION

#define USB_DEV_SET_CONFIGURATION   0x09

Definition at line 71 of file Usb.h.

◆ USB_DEV_SET_CONFIGURATION_REQ_TYPE

#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00

Definition at line 72 of file Usb.h.

◆ USB_DEV_GET_INTERFACE

#define USB_DEV_GET_INTERFACE   0x0A

Definition at line 74 of file Usb.h.

◆ USB_DEV_GET_INTERFACE_REQ_TYPE

#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81

Definition at line 75 of file Usb.h.

◆ USB_DEV_SET_INTERFACE

#define USB_DEV_SET_INTERFACE   0x0B

Definition at line 77 of file Usb.h.

◆ USB_DEV_SET_INTERFACE_REQ_TYPE

#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01

Definition at line 78 of file Usb.h.

◆ USB_DEV_SYNCH_FRAME

#define USB_DEV_SYNCH_FRAME   0x0C

Definition at line 80 of file Usb.h.

◆ USB_DEV_SYNCH_FRAME_REQ_TYPE

#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82

Definition at line 81 of file Usb.h.

◆ USB_HID_GET_DESCRIPTOR_REQ_TYPE

#define USB_HID_GET_DESCRIPTOR_REQ_TYPE   0x81

Definition at line 250 of file Usb.h.

◆ USB_HID_CLASS_GET_REQ_TYPE

#define USB_HID_CLASS_GET_REQ_TYPE   0xa1

Definition at line 255 of file Usb.h.

◆ USB_HID_CLASS_SET_REQ_TYPE

#define USB_HID_CLASS_SET_REQ_TYPE   0x21

Definition at line 256 of file Usb.h.

◆ HID_ITEM_FORMAT_SHORT

#define HID_ITEM_FORMAT_SHORT   0

Definition at line 261 of file Usb.h.

◆ HID_ITEM_FORMAT_LONG

#define HID_ITEM_FORMAT_LONG   1

Definition at line 262 of file Usb.h.

◆ HID_ITEM_TAG_LONG

#define HID_ITEM_TAG_LONG   15

Definition at line 267 of file Usb.h.

◆ HID_ITEM_TYPE_MAIN

#define HID_ITEM_TYPE_MAIN   0

Definition at line 272 of file Usb.h.

◆ HID_ITEM_TYPE_GLOBAL

#define HID_ITEM_TYPE_GLOBAL   1

Definition at line 273 of file Usb.h.

◆ HID_ITEM_TYPE_LOCAL

#define HID_ITEM_TYPE_LOCAL   2

Definition at line 274 of file Usb.h.

◆ HID_ITEM_TYPE_RESERVED

#define HID_ITEM_TYPE_RESERVED   3

Definition at line 275 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_INPUT

#define HID_MAIN_ITEM_TAG_INPUT   8

Definition at line 280 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_OUTPUT

#define HID_MAIN_ITEM_TAG_OUTPUT   9

Definition at line 281 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_FEATURE

#define HID_MAIN_ITEM_TAG_FEATURE   11

Definition at line 282 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_BEGIN_COLLECTION

#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION   10

Definition at line 283 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_END_COLLECTION

#define HID_MAIN_ITEM_TAG_END_COLLECTION   12

Definition at line 284 of file Usb.h.

◆ HID_MAIN_ITEM_CONSTANT

#define HID_MAIN_ITEM_CONSTANT   0x001

Definition at line 289 of file Usb.h.

◆ HID_MAIN_ITEM_VARIABLE

#define HID_MAIN_ITEM_VARIABLE   0x002

Definition at line 290 of file Usb.h.

◆ HID_MAIN_ITEM_RELATIVE

#define HID_MAIN_ITEM_RELATIVE   0x004

Definition at line 291 of file Usb.h.

◆ HID_MAIN_ITEM_WRAP

#define HID_MAIN_ITEM_WRAP   0x008

Definition at line 292 of file Usb.h.

◆ HID_MAIN_ITEM_NONLINEAR

#define HID_MAIN_ITEM_NONLINEAR   0x010

Definition at line 293 of file Usb.h.

◆ HID_MAIN_ITEM_NO_PREFERRED

#define HID_MAIN_ITEM_NO_PREFERRED   0x020

Definition at line 294 of file Usb.h.

◆ HID_MAIN_ITEM_NULL_STATE

#define HID_MAIN_ITEM_NULL_STATE   0x040

Definition at line 295 of file Usb.h.

◆ HID_MAIN_ITEM_VOLATILE

#define HID_MAIN_ITEM_VOLATILE   0x080

Definition at line 296 of file Usb.h.

◆ HID_MAIN_ITEM_BUFFERED_BYTE

#define HID_MAIN_ITEM_BUFFERED_BYTE   0x100

Definition at line 297 of file Usb.h.

◆ HID_COLLECTION_PHYSICAL

#define HID_COLLECTION_PHYSICAL   0

Definition at line 302 of file Usb.h.

◆ HID_COLLECTION_APPLICATION

#define HID_COLLECTION_APPLICATION   1

Definition at line 303 of file Usb.h.

◆ HID_COLLECTION_LOGICAL

#define HID_COLLECTION_LOGICAL   2

Definition at line 304 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_USAGE_PAGE

#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE   0

Definition at line 309 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM   1

Definition at line 310 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM   2

Definition at line 311 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM   3

Definition at line 312 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM   4

Definition at line 313 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT

#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT   5

Definition at line 314 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_UNIT

#define HID_GLOBAL_ITEM_TAG_UNIT   6

Definition at line 315 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_SIZE

#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE   7

Definition at line 316 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_ID

#define HID_GLOBAL_ITEM_TAG_REPORT_ID   8

Definition at line 317 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_COUNT

#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT   9

Definition at line 318 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PUSH

#define HID_GLOBAL_ITEM_TAG_PUSH   10

Definition at line 319 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_POP

#define HID_GLOBAL_ITEM_TAG_POP   11

Definition at line 320 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE

#define HID_LOCAL_ITEM_TAG_USAGE   0

Definition at line 325 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE_MINIMUM

#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM   1

Definition at line 326 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM

#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM   2

Definition at line 327 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX   3

Definition at line 328 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM   4

Definition at line 329 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM   5

Definition at line 330 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_INDEX

#define HID_LOCAL_ITEM_TAG_STRING_INDEX   7

Definition at line 331 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_MINIMUM

#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM   8

Definition at line 332 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_MAXIMUM

#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM   9

Definition at line 333 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DELIMITER

#define HID_LOCAL_ITEM_TAG_DELIMITER   10

Definition at line 334 of file Usb.h.

◆ HID_INPUT_REPORT

#define HID_INPUT_REPORT   1

Definition at line 339 of file Usb.h.

◆ HID_OUTPUT_REPORT

#define HID_OUTPUT_REPORT   2

Definition at line 340 of file Usb.h.

◆ HID_FEATURE_REPORT

#define HID_FEATURE_REPORT   3

Definition at line 341 of file Usb.h.

◆ EFI_USB_GET_REPORT_REQUEST

#define EFI_USB_GET_REPORT_REQUEST   0x01

Definition at line 346 of file Usb.h.

◆ EFI_USB_GET_IDLE_REQUEST

#define EFI_USB_GET_IDLE_REQUEST   0x02

Definition at line 347 of file Usb.h.

◆ EFI_USB_GET_PROTOCOL_REQUEST

#define EFI_USB_GET_PROTOCOL_REQUEST   0x03

Definition at line 348 of file Usb.h.

◆ EFI_USB_SET_REPORT_REQUEST

#define EFI_USB_SET_REPORT_REQUEST   0x09

Definition at line 349 of file Usb.h.

◆ EFI_USB_SET_IDLE_REQUEST

#define EFI_USB_SET_IDLE_REQUEST   0x0a

Definition at line 350 of file Usb.h.

◆ EFI_USB_SET_PROTOCOL_REQUEST

#define EFI_USB_SET_PROTOCOL_REQUEST   0x0b

Definition at line 351 of file Usb.h.

Typedef Documentation

◆ EFI_USB_HID_CLASS_DESCRIPTOR

Descriptor header for Report/Physical Descriptors HID 1.1, section 6.2.1.

◆ EFI_USB_HID_DESCRIPTOR

The HID descriptor identifies the length and type of subordinate descriptors for a device.

HID 1.1, section 6.2.1

Enumeration Type Documentation

◆ USB_TYPES_DEFINITION

Enumerator
USB_REQ_TYPE_STANDARD 
USB_REQ_TYPE_CLASS 
USB_REQ_TYPE_VENDOR 
USB_REQ_GET_STATUS 
USB_REQ_CLEAR_FEATURE 
USB_REQ_SET_FEATURE 
USB_REQ_SET_ADDRESS 
USB_REQ_GET_DESCRIPTOR 
USB_REQ_SET_DESCRIPTOR 
USB_REQ_GET_CONFIG 
USB_REQ_SET_CONFIG 
USB_REQ_GET_INTERFACE 
USB_REQ_SET_INTERFACE 
USB_REQ_SYNCH_FRAME 
USB_TARGET_DEVICE 
USB_TARGET_INTERFACE 
USB_TARGET_ENDPOINT 
USB_TARGET_OTHER 
USB_DESC_TYPE_DEVICE 
USB_DESC_TYPE_CONFIG 
USB_DESC_TYPE_STRING 
USB_DESC_TYPE_INTERFACE 
USB_DESC_TYPE_ENDPOINT 
USB_DESC_TYPE_HID 
USB_DESC_TYPE_REPORT 
USB_FEATURE_ENDPOINT_HALT 
USB_ENDPOINT_CONTROL 
USB_ENDPOINT_ISO 
USB_ENDPOINT_BULK 
USB_ENDPOINT_INTERRUPT 
USB_ENDPOINT_TYPE_MASK 
USB_ENDPOINT_DIR_IN 
EFI_USB_INTERRUPT_DELAY 

Definition at line 177 of file Usb.h.

177  {
178  //
179  // USB request type
180  //
181  USB_REQ_TYPE_STANDARD = (0x00 << 5),
182  USB_REQ_TYPE_CLASS = (0x01 << 5),
183  USB_REQ_TYPE_VENDOR = (0x02 << 5),
184 
185  //
186  // Standard control transfer request type, or the value
187  // to fill in EFI_USB_DEVICE_REQUEST.Request
188  //
189  USB_REQ_GET_STATUS = 0x00,
190  USB_REQ_CLEAR_FEATURE = 0x01,
191  USB_REQ_SET_FEATURE = 0x03,
192  USB_REQ_SET_ADDRESS = 0x05,
193  USB_REQ_GET_DESCRIPTOR = 0x06,
194  USB_REQ_SET_DESCRIPTOR = 0x07,
195  USB_REQ_GET_CONFIG = 0x08,
196  USB_REQ_SET_CONFIG = 0x09,
197  USB_REQ_GET_INTERFACE = 0x0A,
198  USB_REQ_SET_INTERFACE = 0x0B,
199  USB_REQ_SYNCH_FRAME = 0x0C,
200 
201  //
202  // Usb control transfer target
203  //
204  USB_TARGET_DEVICE = 0,
205  USB_TARGET_INTERFACE = 0x01,
206  USB_TARGET_ENDPOINT = 0x02,
207  USB_TARGET_OTHER = 0x03,
208 
209  //
210  // USB Descriptor types
211  //
212  USB_DESC_TYPE_DEVICE = 0x01,
213  USB_DESC_TYPE_CONFIG = 0x02,
214  USB_DESC_TYPE_STRING = 0x03,
216  USB_DESC_TYPE_ENDPOINT = 0x05,
217  USB_DESC_TYPE_HID = 0x21,
218  USB_DESC_TYPE_REPORT = 0x22,
219 
220  //
221  // Features to be cleared by CLEAR_FEATURE requests
222  //
224 
225  //
226  // USB endpoint types: 00: control, 01: isochronous, 10: bulk, 11: interrupt
227  //
228  USB_ENDPOINT_CONTROL = 0x00,
229  USB_ENDPOINT_ISO = 0x01,
230  USB_ENDPOINT_BULK = 0x02,
231  USB_ENDPOINT_INTERRUPT = 0x03,
232 
233  USB_ENDPOINT_TYPE_MASK = 0x03,
234  USB_ENDPOINT_DIR_IN = 0x80,
235 
236  //
237  // Use 200 ms to increase the error handling response time
238  //
239  EFI_USB_INTERRUPT_DELAY = 2000000
USB_TYPES_DEFINITION
Definition: Usb.h:177

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )