STRUCT USB_INTERFACE - Online Linux Manual PageSection : 9
Updated : June 2018
Source : Kernel Hackers Manual 2​.6​.
Note : Host-Side Data Types and Macro

NAMEstruct_usb_interface − what usb device drivers talk to

SYNOPSISstruct usb_interface { struct usb_host_interface * altsetting; struct usb_host_interface * cur_altsetting; unsigned num_altsetting; struct usb_interface_assoc_descriptor * intf_assoc; int minor; enum usb_interface_condition condition; unsigned is_active:1; unsigned sysfs_files_created:1; unsigned ep_devs_created:1; unsigned unregistering:1; unsigned needs_remote_wakeup:1; unsigned needs_altsetting0:1; unsigned needs_binding:1; unsigned reset_running:1; struct device dev; struct device * usb_dev; atomic_t pm_usage_cnt; struct work_struct reset_ws; };

MEMBERSaltsetting array of interface structures, one for each alternate setting that may be selected​. Each one includes a set of endpoint configurations​. They will be in no particular order​. cur_altsetting the current altsetting​. num_altsetting number of altsettings defined​. intf_assoc interface association descriptor minor the minor number assigned to this interface, if this interface is bound to a driver that uses the USB major number​. If this interface does not use the USB major, this field should be unused​. The driver should set this value in the probe function of the driver, after it has been assigned a minor number from the USB core by calling usb_register_dev​. condition binding state of the interface: not bound, binding (in probe), bound to a driver, or unbinding (in disconnect) is_active flag set when the interface is bound and not suspended​. sysfs_files_created sysfs attributes exist ep_devs_created endpoint child pseudo−devices exist unregistering flag set when the interface is being unregistered needs_remote_wakeup flag set when the driver requires remote−wakeup capability during autosuspend​. needs_altsetting0 flag set when a set−interface request for altsetting 0 has been deferred​. needs_binding flag set when the driver should be re−probed or unbound following a reset or suspend operation it doesn´t support​. reset_running set to 1 if the interface is currently running a queued reset so that usb_cancel_queued_reset doesn´t try to remove from the workqueue when running inside the worker thread​. See __usb_queue_reset_device​. dev driver model´s view of this device usb_dev if an interface is bound to the USB major, this will point to the sysfs representation for that device​. pm_usage_cnt PM usage counter for this interface; autosuspend is not allowed unless the counter is 0​. reset_ws Used for scheduling resets from atomic context​.

DESCRIPTIONUSB device drivers attach to interfaces on a physical device​. Each interface encapsulates a single high level function, such as feeding an audio stream to a speaker or reporting a change in a volume control​. Many USB devices only have one interface​. The protocol used to talk to an interface´s endpoints can be defined in a usb class specification, or by a product´s vendor​. The (default) control endpoint is part of every interface, but is never listed among the interface´s descriptors​. The driver that is bound to the interface can use standard driver model calls such as dev_get_drvdata on the dev member of this structure​. Each interface may have alternate settings​. The initial configuration of a device sets altsetting 0, but the device driver can change that setting using usb_set_interface​. Alternate settings are often used to control the use of periodic endpoints, such as by having different endpoints use different amounts of reserved USB bandwidth​. All standards−conformant USB devices that use isochronous endpoints will use them in non−default settings​. The USB specification says that alternate setting numbers must run from 0 to one less than the total number of alternate settings​. But some devices manage to mess this up, and the structures aren´t necessarily stored in numerical order anyhow​. Use usb_altnum_to_altsetting to look up an alternate setting in the altsetting array based on its number​.

COPYRIGHT
0
Johanes Gumabo
Data Size   :   13,033 byte
man-struct_usb_interface.9Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 238,959
Visitor ID   :     :  
Visitor IP   :   18.227.209.89   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.