1STRUCT USB_INTERFACE(9) Host-Side Data Types and Macro STRUCT USB_INTERFACE(9)
2
3
4
6 struct_usb_interface_cache - long-term representation of a device
7 interface
8
10 struct usb_interface_cache {
11 unsigned num_altsetting;
12 struct kref ref;
13 struct usb_host_interface altsetting[0];
14 };
15
17 num_altsetting
18 number of altsettings defined.
19
20 ref
21 reference counter.
22
23 altsetting[0]
24 variable-length array of interface structures, one for each
25 alternate setting that may be selected. Each one includes a set of
26 endpoint configurations. They will be in no particular order.
27
29 These structures persist for the lifetime of a usb_device, unlike
30 struct usb_interface (which persists only as long as its configuration
31 is installed). The altsetting arrays can be accessed through these
32 structures at any time, permitting comparison of configurations and
33 providing support for the /sys/kernel/debug/usb/devices pseudo-file.
34
36Kernel Hackers Manual 3.10 June 2019 STRUCT USB_INTERFACE(9)