struct usb_host_endpoint — host-side endpoint descriptor and queue
struct usb_host_endpoint { struct usb_endpoint_descriptor desc; struct list_head urb_list; void * hcpriv; struct ep_device * ep_dev; unsigned char * extra; int extralen; int enabled; };
descriptor for this endpoint, wMaxPacketSize in native byteorder
urbs queued to this endpoint; maintained by usbcore
for use by HCD; typically holds hardware dma queue head (QH) with one or more transfer descriptors (TDs) per urb
ep_device for sysfs info
descriptors following this endpoint in the configuration
how many bytes of “extra” are valid
URBs may be submitted to this endpoint
USB requests are always queued to a given endpoint, identified by a descriptor within an active interface in a given USB configuration.