MdePkg/Include/IndustryStandard/Usb.h File Reference


Data Structures

struct  USB_DEVICE_REQUEST
struct  USB_DEVICE_DESCRIPTOR
struct  USB_CONFIG_DESCRIPTOR
struct  USB_INTERFACE_DESCRIPTOR
struct  USB_ENDPOINT_DESCRIPTOR
struct  EFI_USB_STRING_DESCRIPTOR
struct  hid_class_descriptor
struct  hid_descriptor

Defines

#define USB_MASS_STORE_CLASS   0x08
#define USB_MASS_STORE_RBC   0x01
 Reduced Block Commands.
#define USB_MASS_STORE_8020I   0x02
 SFF-8020i, typically a CD/DVD device.
#define USB_MASS_STORE_QIC   0x03
 Typically a tape device.
#define USB_MASS_STORE_UFI   0x04
 Typically a floppy disk driver device.
#define USB_MASS_STORE_8070I   0x05
 SFF-8070i, typically a floppy disk driver device.
#define USB_MASS_STORE_SCSI   0x06
 SCSI transparent command set.
#define USB_MASS_STORE_CBI0   0x00
 CBI protocol with command completion interrupt.
#define USB_MASS_STORE_CBI1   0x01
 CBI protocol without command completion interrupt.
#define USB_MASS_STORE_BOT   0x50
 Bulk-Only Transport.
#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
typedef struct hid_descriptor EFI_USB_HID_DESCRIPTOR

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
}

Detailed Description

Support for USB 2.0 standard.

Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define Documentation

#define EFI_USB_GET_IDLE_REQUEST   0x02

#define EFI_USB_GET_PROTOCOL_REQUEST   0x03

#define EFI_USB_GET_REPORT_REQUEST   0x01

#define EFI_USB_SET_IDLE_REQUEST   0x0a

#define EFI_USB_SET_PROTOCOL_REQUEST   0x0b

#define EFI_USB_SET_REPORT_REQUEST   0x09

#define HID_COLLECTION_APPLICATION   1

#define HID_COLLECTION_LOGICAL   2

#define HID_COLLECTION_PHYSICAL   0

#define HID_FEATURE_REPORT   3

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM   2

#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM   1

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM   4

#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM   3

#define HID_GLOBAL_ITEM_TAG_POP   11

#define HID_GLOBAL_ITEM_TAG_PUSH   10

#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT   9

#define HID_GLOBAL_ITEM_TAG_REPORT_ID   8

#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE   7

#define HID_GLOBAL_ITEM_TAG_UNIT   6

#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT   5

#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE   0

#define HID_INPUT_REPORT   1

#define HID_ITEM_FORMAT_LONG   1

#define HID_ITEM_FORMAT_SHORT   0

#define HID_ITEM_TAG_LONG   15

#define HID_ITEM_TYPE_GLOBAL   1

#define HID_ITEM_TYPE_LOCAL   2

#define HID_ITEM_TYPE_MAIN   0

#define HID_ITEM_TYPE_RESERVED   3

#define HID_LOCAL_ITEM_TAG_DELIMITER   10

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX   3

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM   5

#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM   4

#define HID_LOCAL_ITEM_TAG_STRING_INDEX   7

#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM   9

#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM   8

#define HID_LOCAL_ITEM_TAG_USAGE   0

#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM   2

#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM   1

#define HID_MAIN_ITEM_BUFFERED_BYTE   0x100

#define HID_MAIN_ITEM_CONSTANT   0x001

#define HID_MAIN_ITEM_NO_PREFERRED   0x020

#define HID_MAIN_ITEM_NONLINEAR   0x010

#define HID_MAIN_ITEM_NULL_STATE   0x040

#define HID_MAIN_ITEM_RELATIVE   0x004

#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION   10

#define HID_MAIN_ITEM_TAG_END_COLLECTION   12

#define HID_MAIN_ITEM_TAG_FEATURE   11

#define HID_MAIN_ITEM_TAG_INPUT   8

#define HID_MAIN_ITEM_TAG_OUTPUT   9

#define HID_MAIN_ITEM_VARIABLE   0x002

#define HID_MAIN_ITEM_VOLATILE   0x080

#define HID_MAIN_ITEM_WRAP   0x008

#define HID_OUTPUT_REPORT   2

#define USB_DEV_CLEAR_FEATURE   0x01

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_D   0x00

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_E   0x02

#define USB_DEV_CLEAR_FEATURE_REQ_TYPE_I   0x01

#define USB_DEV_GET_CONFIGURATION   0x08

#define USB_DEV_GET_CONFIGURATION_REQ_TYPE   0x80

#define USB_DEV_GET_DESCRIPTOR   0x06

#define USB_DEV_GET_DESCRIPTOR_REQ_TYPE   0x80

#define USB_DEV_GET_INTERFACE   0x0A

#define USB_DEV_GET_INTERFACE_REQ_TYPE   0x81

#define USB_DEV_GET_STATUS   0x00

#define USB_DEV_GET_STATUS_REQ_TYPE_D   0x80

#define USB_DEV_GET_STATUS_REQ_TYPE_E   0x82

#define USB_DEV_GET_STATUS_REQ_TYPE_I   0x81

#define USB_DEV_SET_ADDRESS   0x05

#define USB_DEV_SET_ADDRESS_REQ_TYPE   0x00

#define USB_DEV_SET_CONFIGURATION   0x09

#define USB_DEV_SET_CONFIGURATION_REQ_TYPE   0x00

#define USB_DEV_SET_DESCRIPTOR   0x07

#define USB_DEV_SET_DESCRIPTOR_REQ_TYPE   0x00

#define USB_DEV_SET_FEATURE   0x03

#define USB_DEV_SET_FEATURE_REQ_TYPE_D   0x00

#define USB_DEV_SET_FEATURE_REQ_TYPE_E   0x02

#define USB_DEV_SET_FEATURE_REQ_TYPE_I   0x01

#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_CLASS_GET_REQ_TYPE   0xa1

#define USB_HID_CLASS_SET_REQ_TYPE   0x21

#define USB_HID_GET_DESCRIPTOR_REQ_TYPE   0x81

#define USB_MASS_STORE_8020I   0x02

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

#define USB_MASS_STORE_8070I   0x05

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

#define USB_MASS_STORE_BOT   0x50

Bulk-Only Transport.

#define USB_MASS_STORE_CBI0   0x00

CBI protocol with command completion interrupt.

#define USB_MASS_STORE_CBI1   0x01

CBI protocol without command completion interrupt.

#define USB_MASS_STORE_CLASS   0x08

#define USB_MASS_STORE_QIC   0x03

Typically a tape device.

#define USB_MASS_STORE_RBC   0x01

Reduced Block Commands.

#define USB_MASS_STORE_SCSI   0x06

SCSI transparent command set.

#define USB_MASS_STORE_UFI   0x04

Typically a floppy disk driver device.


Typedef Documentation

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

The HID descriptor identifies the length and type of subordinate descriptors for a device. HID 1.1, section 6.2.1


Enumeration Type Documentation

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 


Generated on Wed Sep 23 16:24:20 2015 for MdePkg[ALL] by  doxygen 1.5.7.1