1STRUCT USB_HOST_ENDP(9) Host-Side Data Types and Macro STRUCT USB_HOST_ENDP(9)
2
3
4
6 struct_usb_host_endpoint - host-side endpoint descriptor and queue
7
9 struct usb_host_endpoint {
10 struct usb_endpoint_descriptor desc;
11 struct usb_ss_ep_comp_descriptor ss_ep_comp;
12 struct usb_ssp_isoc_ep_comp_descriptor ssp_isoc_ep_comp;
13 struct list_head urb_list;
14 void * hcpriv;
15 struct ep_device * ep_dev;
16 unsigned char * extra;
17 int extralen;
18 int enabled;
19 int streams;
20 };
21
23 desc
24 descriptor for this endpoint, wMaxPacketSize in native byteorder
25
26 ss_ep_comp
27 SuperSpeed companion descriptor for this endpoint
28
29 ssp_isoc_ep_comp
30 SuperSpeedPlus isoc companion descriptor for this endpoint
31
32 urb_list
33 urbs queued to this endpoint; maintained by usbcore
34
35 hcpriv
36 for use by HCD; typically holds hardware dma queue head (QH) with
37 one or more transfer descriptors (TDs) per urb
38
39 ep_dev
40 ep_device for sysfs info
41
42 extra
43 descriptors following this endpoint in the configuration
44
45 extralen
46 how many bytes of “extra” are valid
47
48 enabled
49 URBs may be submitted to this endpoint
50
51 streams
52 number of USB-3 streams allocated on the endpoint
53
55 USB requests are always queued to a given endpoint, identified by a
56 descriptor within an active interface in a given USB configuration.
57
59Kernel Hackers Manual 3.10 June 2019 STRUCT USB_HOST_ENDP(9)