struct_usb_interface man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

STRUCT USB_INTERFACE(9) Host-Side Data Types and Macro STRUCT USB_INTERFACE(9)

NAME
       struct_usb_interface - what usb device drivers talk to

SYNOPSIS
       struct 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;
       };

MEMBERS
       altsetting
	   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.

DESCRIPTION
       USB 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
Kernel Hackers Manual 2.6.	 November 2013	       STRUCT USB_INTERFACE(9)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net