usb.h

The usb.h header contains standard USB request and descriptor definitions. See the USB 2.0 specification, chapter 9 for details.

Reference

Typedefs

typedef const struct usb_desc_generic usb_desc_generic_c
typedef const struct usb_desc_device usb_desc_device_c
typedef struct usb_desc_device usb_desc_device_t
typedef const struct usb_desc_device_qualifier usb_desc_device_qualifier_c
typedef const struct usb_desc_configuration usb_desc_configuration_c
typedef const struct usb_desc_interface usb_desc_interface_c
typedef const struct usb_desc_endpoint usb_desc_endpoint_c
typedef const struct usb_desc_langid usb_desc_langid_c
typedef const struct usb_desc_string usb_desc_string_c

Enums

enum usb_direction

Values:

enumerator USB_DIR_OUT
enumerator USB_DIR_IN
enumerator USB_DIR_MASK
enum usb_type

Values:

enumerator USB_TYPE_STANDARD
enumerator USB_TYPE_CLASS
enumerator USB_TYPE_VENDOR
enumerator USB_TYPE_MASK
enum usb_recipient

Values:

enumerator USB_RECIP_DEVICE
enumerator USB_RECIP_IFACE
enumerator USB_RECIP_ENDPT
enumerator USB_RECIP_OTHER
enumerator USB_RECIP_MASK
enum usb_request

Values:

enumerator USB_REQ_GET_STATUS
enumerator USB_REQ_CLEAR_FEATURE
enumerator USB_REQ_SET_FEATURE
enumerator USB_REQ_SET_ADDRESS
enumerator USB_REQ_GET_DESCRIPTOR
enumerator USB_REQ_SET_DESCRIPTOR
enumerator USB_REQ_GET_CONFIGURATION
enumerator USB_REQ_SET_CONFIGURATION
enumerator USB_REQ_GET_INTERFACE
enumerator USB_REQ_SET_INTERFACE
enumerator USB_REQ_SYNCH_FRAME
enum usb_descriptor

Values:

enumerator USB_DESC_DEVICE
enumerator USB_DESC_CONFIGURATION
enumerator USB_DESC_STRING
enumerator USB_DESC_INTERFACE
enumerator USB_DESC_ENDPOINT
enumerator USB_DESC_DEVICE_QUALIFIER
enumerator USB_DESC_OTHER_SPEED_CONFIGURATION
enumerator USB_DESC_INTERFACE_POWER
enum usb_feature

Values:

enumerator USB_FEAT_DEVICE_REMOTE_WAKEUP
enumerator USB_FEAT_ENDPOINT_HALT
enumerator USB_FEAT_TEST_MODE
enum usb_attributes

Values:

enumerator USB_ATTR_RESERVED_1
enumerator USB_ATTR_SELF_POWERED
enumerator USB_ATTR_REMOTE_WAKEUP
enum usb_transfer_type

Values:

enumerator USB_XFER_CONTROL
enumerator USB_XFER_ISOCHRONOUS
enumerator USB_XFER_BULK
enumerator USB_XFER_INTERRUPT
enumerator USB_XFER_MASK
enum usb_synchronization_type

Values:

enumerator USB_SYNC_NONE
enumerator USB_SYNC_ASYNCHRONOUS
enumerator USB_SYNC_ADAPTIVE
enumerator USB_SYNC_SYNCHRONOUS
enumerator USB_SYNC_MASK
enum usb_usage_type

Values:

enumerator USB_USAGE_DATA
enumerator USB_USAGE_FEEDBACK
enumerator USB_USAGE_IMPLICIT_FEEDBACK_DATA
enumerator USB_USAGE_MASK
enum usb_tx_per_microframe

Values:

enumerator USB_TX_1_PER_MICROFRAME
enumerator USB_TX_2_PER_MICROFRAME
enumerator USB_TX_3_PER_MICROFRAME
enum [anonymous]

Values:

enumerator USB_DEV_CLASS_PER_INTERFACE
enumerator USB_DEV_SUBCLASS_PER_INTERFACE
enumerator USB_DEV_PROTOCOL_PER_INTERFACE
enumerator USB_DEV_CLASS_VENDOR
enumerator USB_DEV_SUBCLASS_VENDOR
enumerator USB_DEV_PROTOCOL_VENDOR
enum [anonymous]

Values:

enumerator USB_IFACE_CLASS_APP_SPECIFIC
enumerator USB_IFACE_CLASS_VENDOR
enumerator USB_IFACE_SUBCLASS_VENDOR
enumerator USB_IFACE_PROTOCOL_VENDOR
struct usb_req_setup
#include <usb.h>

Public Members

uint8_t bmRequestType
uint8_t bRequest
uint16_t wValue
uint16_t wIndex
uint16_t wLength
struct usb_desc_generic
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint8_t data[]
struct usb_desc_device
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint16_t bcdUSB
uint8_t bDeviceClass
uint8_t bDeviceSubClass
uint8_t bDeviceProtocol
uint8_t bMaxPacketSize0
uint16_t idVendor
uint16_t idProduct
uint16_t bcdDevice
uint8_t iManufacturer
uint8_t iProduct
uint8_t iSerialNumber
uint8_t bNumConfigurations
struct usb_desc_device_qualifier
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint16_t bcdUSB
uint8_t bDeviceClass
uint8_t bDeviceSubClass
uint8_t bDeviceProtocol
uint8_t bMaxPacketSize0
uint8_t bNumConfigurations
uint8_t bReserved
struct usb_desc_configuration
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint16_t wTotalLength
uint8_t bNumInterfaces
uint8_t bConfigurationValue
uint8_t iConfiguration
uint8_t bmAttributes
uint8_t bMaxPower
struct usb_desc_interface
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint8_t bInterfaceNumber
uint8_t bAlternateSetting
uint8_t bNumEndpoints
uint8_t bInterfaceClass
uint8_t bInterfaceSubClass
uint8_t bInterfaceProtocol
uint8_t iInterface
struct usb_desc_endpoint
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint8_t bEndpointAddress
uint8_t bmAttributes
uint16_t wMaxPacketSize
uint8_t bInterval
struct usb_desc_langid
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint16_t wLANGID[]
struct usb_desc_string
#include <usb.h>

Public Members

uint8_t bLength
uint8_t bDescriptorType
uint8_t bString[]