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_ASSOCIATION_DESCRIPTOR
 Standard Interface Association Descriptor USB 3.0 spec, Section 9.6.4. 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_INTERFACE_ASSOCIATION = 0x0b,
  USB_DESC_TYPE_HID = 0x21, USB_DESC_TYPE_REPORT = 0x22, USB_DESC_TYPE_CS_INTERFACE = 0x24, USB_DESC_TYPE_CS_ENDPOINT = 0x25,
  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.
Copyright (c) 2024, American Megatrends International LLC. 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 23 of file Usb.h.

◆ USB_MASS_STORE_RBC

#define USB_MASS_STORE_RBC   0x01

Reduced Block Commands.

Definition at line 28 of file Usb.h.

◆ USB_MASS_STORE_8020I

#define USB_MASS_STORE_8020I   0x02

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

Definition at line 29 of file Usb.h.

◆ USB_MASS_STORE_QIC

#define USB_MASS_STORE_QIC   0x03

Typically a tape device.

Definition at line 30 of file Usb.h.

◆ USB_MASS_STORE_UFI

#define USB_MASS_STORE_UFI   0x04

Typically a floppy disk driver device.

Definition at line 31 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 32 of file Usb.h.

◆ USB_MASS_STORE_SCSI

#define USB_MASS_STORE_SCSI   0x06

SCSI transparent command set.

Definition at line 33 of file Usb.h.

◆ USB_MASS_STORE_CBI0

#define USB_MASS_STORE_CBI0   0x00

CBI protocol with command completion interrupt.

Definition at line 38 of file Usb.h.

◆ USB_MASS_STORE_CBI1

#define USB_MASS_STORE_CBI1   0x01

CBI protocol without command completion interrupt.

Definition at line 39 of file Usb.h.

◆ USB_MASS_STORE_BOT

#define USB_MASS_STORE_BOT   0x50

Bulk-Only Transport.

Definition at line 40 of file Usb.h.

◆ USB_DEV_GET_STATUS

#define USB_DEV_GET_STATUS   0x00

Definition at line 46 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_D

#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80

Definition at line 47 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_I

#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81

Definition at line 48 of file Usb.h.

◆ USB_DEV_GET_STATUS_REQ_TYPE_E

#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82

Definition at line 49 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE

#define USB_DEV_CLEAR_FEATURE   0x01

Definition at line 51 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_D

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00

Definition at line 52 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_I

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01

Definition at line 53 of file Usb.h.

◆ USB_DEV_CLEAR_FEATURE_REQ_TYPE_E

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02

Definition at line 54 of file Usb.h.

◆ USB_DEV_SET_FEATURE

#define USB_DEV_SET_FEATURE   0x03

Definition at line 56 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_D

#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00

Definition at line 57 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_I

#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01

Definition at line 58 of file Usb.h.

◆ USB_DEV_SET_FEATURE_REQ_TYPE_E

#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02

Definition at line 59 of file Usb.h.

◆ USB_DEV_SET_ADDRESS

#define USB_DEV_SET_ADDRESS   0x05

Definition at line 61 of file Usb.h.

◆ USB_DEV_SET_ADDRESS_REQ_TYPE

#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00

Definition at line 62 of file Usb.h.

◆ USB_DEV_GET_DESCRIPTOR

#define USB_DEV_GET_DESCRIPTOR   0x06

Definition at line 64 of file Usb.h.

◆ USB_DEV_GET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80

Definition at line 65 of file Usb.h.

◆ USB_DEV_SET_DESCRIPTOR

#define USB_DEV_SET_DESCRIPTOR   0x07

Definition at line 67 of file Usb.h.

◆ USB_DEV_SET_DESCRIPTOR_REQ_TYPE

#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00

Definition at line 68 of file Usb.h.

◆ USB_DEV_GET_CONFIGURATION

#define USB_DEV_GET_CONFIGURATION   0x08

Definition at line 70 of file Usb.h.

◆ USB_DEV_GET_CONFIGURATION_REQ_TYPE

#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80

Definition at line 71 of file Usb.h.

◆ USB_DEV_SET_CONFIGURATION

#define USB_DEV_SET_CONFIGURATION   0x09

Definition at line 73 of file Usb.h.

◆ USB_DEV_SET_CONFIGURATION_REQ_TYPE

#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00

Definition at line 74 of file Usb.h.

◆ USB_DEV_GET_INTERFACE

#define USB_DEV_GET_INTERFACE   0x0A

Definition at line 76 of file Usb.h.

◆ USB_DEV_GET_INTERFACE_REQ_TYPE

#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81

Definition at line 77 of file Usb.h.

◆ USB_DEV_SET_INTERFACE

#define USB_DEV_SET_INTERFACE   0x0B

Definition at line 79 of file Usb.h.

◆ USB_DEV_SET_INTERFACE_REQ_TYPE

#define USB_DEV_SET_INTERFACE_REQ_TYPE   0x01

Definition at line 80 of file Usb.h.

◆ USB_DEV_SYNCH_FRAME

#define USB_DEV_SYNCH_FRAME   0x0C

Definition at line 82 of file Usb.h.

◆ USB_DEV_SYNCH_FRAME_REQ_TYPE

#define USB_DEV_SYNCH_FRAME_REQ_TYPE   0x82

Definition at line 83 of file Usb.h.

◆ USB_HID_GET_DESCRIPTOR_REQ_TYPE

#define USB_HID_GET_DESCRIPTOR_REQ_TYPE   0x81

Definition at line 270 of file Usb.h.

◆ USB_HID_CLASS_GET_REQ_TYPE

#define USB_HID_CLASS_GET_REQ_TYPE   0xa1

Definition at line 275 of file Usb.h.

◆ USB_HID_CLASS_SET_REQ_TYPE

#define USB_HID_CLASS_SET_REQ_TYPE   0x21

Definition at line 276 of file Usb.h.

◆ HID_ITEM_FORMAT_SHORT

#define HID_ITEM_FORMAT_SHORT   0

Definition at line 281 of file Usb.h.

◆ HID_ITEM_FORMAT_LONG

#define HID_ITEM_FORMAT_LONG   1

Definition at line 282 of file Usb.h.

◆ HID_ITEM_TAG_LONG

#define HID_ITEM_TAG_LONG   15

Definition at line 287 of file Usb.h.

◆ HID_ITEM_TYPE_MAIN

#define HID_ITEM_TYPE_MAIN   0

Definition at line 292 of file Usb.h.

◆ HID_ITEM_TYPE_GLOBAL

#define HID_ITEM_TYPE_GLOBAL   1

Definition at line 293 of file Usb.h.

◆ HID_ITEM_TYPE_LOCAL

#define HID_ITEM_TYPE_LOCAL   2

Definition at line 294 of file Usb.h.

◆ HID_ITEM_TYPE_RESERVED

#define HID_ITEM_TYPE_RESERVED   3

Definition at line 295 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_INPUT

#define HID_MAIN_ITEM_TAG_INPUT   8

Definition at line 300 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_OUTPUT

#define HID_MAIN_ITEM_TAG_OUTPUT   9

Definition at line 301 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_FEATURE

#define HID_MAIN_ITEM_TAG_FEATURE   11

Definition at line 302 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_BEGIN_COLLECTION

#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION   10

Definition at line 303 of file Usb.h.

◆ HID_MAIN_ITEM_TAG_END_COLLECTION

#define HID_MAIN_ITEM_TAG_END_COLLECTION   12

Definition at line 304 of file Usb.h.

◆ HID_MAIN_ITEM_CONSTANT

#define HID_MAIN_ITEM_CONSTANT   0x001

Definition at line 309 of file Usb.h.

◆ HID_MAIN_ITEM_VARIABLE

#define HID_MAIN_ITEM_VARIABLE   0x002

Definition at line 310 of file Usb.h.

◆ HID_MAIN_ITEM_RELATIVE

#define HID_MAIN_ITEM_RELATIVE   0x004

Definition at line 311 of file Usb.h.

◆ HID_MAIN_ITEM_WRAP

#define HID_MAIN_ITEM_WRAP   0x008

Definition at line 312 of file Usb.h.

◆ HID_MAIN_ITEM_NONLINEAR

#define HID_MAIN_ITEM_NONLINEAR   0x010

Definition at line 313 of file Usb.h.

◆ HID_MAIN_ITEM_NO_PREFERRED

#define HID_MAIN_ITEM_NO_PREFERRED   0x020

Definition at line 314 of file Usb.h.

◆ HID_MAIN_ITEM_NULL_STATE

#define HID_MAIN_ITEM_NULL_STATE   0x040

Definition at line 315 of file Usb.h.

◆ HID_MAIN_ITEM_VOLATILE

#define HID_MAIN_ITEM_VOLATILE   0x080

Definition at line 316 of file Usb.h.

◆ HID_MAIN_ITEM_BUFFERED_BYTE

#define HID_MAIN_ITEM_BUFFERED_BYTE   0x100

Definition at line 317 of file Usb.h.

◆ HID_COLLECTION_PHYSICAL

#define HID_COLLECTION_PHYSICAL   0

Definition at line 322 of file Usb.h.

◆ HID_COLLECTION_APPLICATION

#define HID_COLLECTION_APPLICATION   1

Definition at line 323 of file Usb.h.

◆ HID_COLLECTION_LOGICAL

#define HID_COLLECTION_LOGICAL   2

Definition at line 324 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_USAGE_PAGE

#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE   0

Definition at line 329 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM   1

Definition at line 330 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM   2

Definition at line 331 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM   3

Definition at line 332 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM   4

Definition at line 333 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT

#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT   5

Definition at line 334 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_UNIT

#define HID_GLOBAL_ITEM_TAG_UNIT   6

Definition at line 335 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_SIZE

#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE   7

Definition at line 336 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_ID

#define HID_GLOBAL_ITEM_TAG_REPORT_ID   8

Definition at line 337 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_REPORT_COUNT

#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT   9

Definition at line 338 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_PUSH

#define HID_GLOBAL_ITEM_TAG_PUSH   10

Definition at line 339 of file Usb.h.

◆ HID_GLOBAL_ITEM_TAG_POP

#define HID_GLOBAL_ITEM_TAG_POP   11

Definition at line 340 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE

#define HID_LOCAL_ITEM_TAG_USAGE   0

Definition at line 345 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE_MINIMUM

#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM   1

Definition at line 346 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM

#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM   2

Definition at line 347 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX   3

Definition at line 348 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM   4

Definition at line 349 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM   5

Definition at line 350 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_INDEX

#define HID_LOCAL_ITEM_TAG_STRING_INDEX   7

Definition at line 351 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_MINIMUM

#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM   8

Definition at line 352 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_STRING_MAXIMUM

#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM   9

Definition at line 353 of file Usb.h.

◆ HID_LOCAL_ITEM_TAG_DELIMITER

#define HID_LOCAL_ITEM_TAG_DELIMITER   10

Definition at line 354 of file Usb.h.

◆ HID_INPUT_REPORT

#define HID_INPUT_REPORT   1

Definition at line 359 of file Usb.h.

◆ HID_OUTPUT_REPORT

#define HID_OUTPUT_REPORT   2

Definition at line 360 of file Usb.h.

◆ HID_FEATURE_REPORT

#define HID_FEATURE_REPORT   3

Definition at line 361 of file Usb.h.

◆ EFI_USB_GET_REPORT_REQUEST

#define EFI_USB_GET_REPORT_REQUEST   0x01

Definition at line 366 of file Usb.h.

◆ EFI_USB_GET_IDLE_REQUEST

#define EFI_USB_GET_IDLE_REQUEST   0x02

Definition at line 367 of file Usb.h.

◆ EFI_USB_GET_PROTOCOL_REQUEST

#define EFI_USB_GET_PROTOCOL_REQUEST   0x03

Definition at line 368 of file Usb.h.

◆ EFI_USB_SET_REPORT_REQUEST

#define EFI_USB_SET_REPORT_REQUEST   0x09

Definition at line 369 of file Usb.h.

◆ EFI_USB_SET_IDLE_REQUEST

#define EFI_USB_SET_IDLE_REQUEST   0x0a

Definition at line 370 of file Usb.h.

◆ EFI_USB_SET_PROTOCOL_REQUEST

#define EFI_USB_SET_PROTOCOL_REQUEST   0x0b

Definition at line 371 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_INTERFACE_ASSOCIATION 
USB_DESC_TYPE_HID 
USB_DESC_TYPE_REPORT 
USB_DESC_TYPE_CS_INTERFACE 
USB_DESC_TYPE_CS_ENDPOINT 
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 194 of file Usb.h.

194  {
195  //
196  // USB request type
197  //
198  USB_REQ_TYPE_STANDARD = (0x00 << 5),
199  USB_REQ_TYPE_CLASS = (0x01 << 5),
200  USB_REQ_TYPE_VENDOR = (0x02 << 5),
201 
202  //
203  // Standard control transfer request type, or the value
204  // to fill in EFI_USB_DEVICE_REQUEST.Request
205  //
206  USB_REQ_GET_STATUS = 0x00,
207  USB_REQ_CLEAR_FEATURE = 0x01,
208  USB_REQ_SET_FEATURE = 0x03,
209  USB_REQ_SET_ADDRESS = 0x05,
210  USB_REQ_GET_DESCRIPTOR = 0x06,
211  USB_REQ_SET_DESCRIPTOR = 0x07,
212  USB_REQ_GET_CONFIG = 0x08,
213  USB_REQ_SET_CONFIG = 0x09,
214  USB_REQ_GET_INTERFACE = 0x0A,
215  USB_REQ_SET_INTERFACE = 0x0B,
216  USB_REQ_SYNCH_FRAME = 0x0C,
217 
218  //
219  // Usb control transfer target
220  //
221  USB_TARGET_DEVICE = 0,
222  USB_TARGET_INTERFACE = 0x01,
223  USB_TARGET_ENDPOINT = 0x02,
224  USB_TARGET_OTHER = 0x03,
225 
226  //
227  // USB Descriptor types
228  //
229  USB_DESC_TYPE_DEVICE = 0x01,
230  USB_DESC_TYPE_CONFIG = 0x02,
231  USB_DESC_TYPE_STRING = 0x03,
233  USB_DESC_TYPE_ENDPOINT = 0x05,
235  USB_DESC_TYPE_HID = 0x21,
236  USB_DESC_TYPE_REPORT = 0x22,
239 
240  //
241  // Features to be cleared by CLEAR_FEATURE requests
242  //
244 
245  //
246  // USB endpoint types: 00: control, 01: isochronous, 10: bulk, 11: interrupt
247  //
248  USB_ENDPOINT_CONTROL = 0x00,
249  USB_ENDPOINT_ISO = 0x01,
250  USB_ENDPOINT_BULK = 0x02,
251  USB_ENDPOINT_INTERRUPT = 0x03,
252 
253  USB_ENDPOINT_TYPE_MASK = 0x03,
254  USB_ENDPOINT_DIR_IN = 0x80,
255 
256  //
257  // Use 200 ms to increase the error handling response time
258  //
259  EFI_USB_INTERRUPT_DELAY = 2000000
USB_TYPES_DEFINITION
Definition: Usb.h:194

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( BSD2_PATENT  )