Chapter 4. Host-Side Data Types and Macros

Table of Contents

struct usb_host_endpoint - host-side endpoint descriptor and queue
struct usb_interface - what usb device drivers talk to
struct usb_interface_cache - long-term representation of a device interface
struct usb_host_config - representation of a device's configuration
usb_interface_claimed - returns true iff an interface is claimed
usb_make_path - returns stable device path in the usb tree
USB_DEVICE - macro used to describe a specific usb device
USB_DEVICE_VER - macro used to describe a specific usb device with a
USB_DEVICE_INFO - macro used to describe a class of usb devices
USB_INTERFACE_INFO - macro used to describe a class of usb interfaces
struct usb_driver - identifies USB driver to usbcore
struct usb_class_driver - identifies a USB driver that wants to use the USB major number
struct urb - USB Request Block
usb_fill_control_urb - initializes a control urb
usb_fill_bulk_urb - macro to help initialize a bulk urb
usb_fill_int_urb - macro to help initialize a interrupt urb
struct usb_sg_request - support for scatter/gather I/O

The host side API exposes several layers to drivers, some of which are more necessary than others. These support lifecycle models for host side drivers and devices, and support passing buffers through usbcore to some HCD that performs the I/O for the device driver.