struct_usb_configuration 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_CONFIGURA(9)	    Kernel Mode Gadget API     STRUCT USB_CONFIGURA(9)

NAME
       struct_usb_configuration - represents one gadget configuration

SYNOPSIS
       struct usb_configuration {
	 const char * label;
	 struct usb_gadget_strings ** strings;
	 const struct usb_descriptor_header ** descriptors;
	 int (* bind) (struct usb_configuration *);
	 void (* unbind) (struct usb_configuration *);
	 int (* setup) (struct usb_configuration *,const struct usb_ctrlrequest *);
	 u8 bConfigurationValue;
	 u8 iConfiguration;
	 u8 bmAttributes;
	 u8 bMaxPower;
	 struct usb_composite_dev * cdev;
       };

MEMBERS
       label
	   For diagnostics, describes the configuration.

       strings
	   Tables of strings, keyed by identifiers assigned during bind() and
	   by language IDs provided in control requests.

       descriptors
	   Table of descriptors preceding all function descriptors. Examples
	   include OTG and vendor-specific descriptors.

       bind
	   Called from usb_add_config() to allocate resources unique to this
	   configuration and to call usb_add_function() for each function
	   used.

       unbind
	   Reverses bind; called as a side effect of unregistering the driver
	   which added this configuration.

       setup
	   Used to delegate control requests that aren´t handled by standard
	   device infrastructure or directed at a specific interface.

       bConfigurationValue
	   Copied into configuration descriptor.

       iConfiguration
	   Copied into configuration descriptor.

       bmAttributes
	   Copied into configuration descriptor.

       bMaxPower
	   Copied into configuration descriptor.

       cdev
	   assigned by usb_add_config() before calling bind(); this is the
	   device associated with this configuration.

DESCRIPTION
       Configurations are building blocks for gadget drivers structured around
       function drivers. Simple USB gadgets require only one function and one
       configuration, and handle dual-speed hardware by always providing the
       same functionality. Slightly more complex gadgets may have more than
       one single-function configuration at a given speed; or have
       configurations that only work at one speed.

       Composite devices are, by definition, ones with configurations which
       include more than one function.

       The lifecycle of a usb_configuration includes allocation,
       initialization of the fields described above, and calling
       usb_add_config() to set up internal data and bind it to a specific
       device. The configuration´s bind() method is then used to initialize
       all the functions and then call usb_add_function() for them.

       Those functions would normally be independant of each other, but that´s
       not mandatory. CDC WMC devices are an example where functions often
       depend on other functions, with some functions subsidiary to others.
       Such interdependency may be managed in any way, so long as all of the
       descriptors complete by the time the composite driver returns from its
       bind routine.

AUTHOR
       David Brownell <dbrownell@users.sourceforge.net>
	   Author.

COPYRIGHT
Kernel Hackers Manual 2.6.	 November 2013	       STRUCT USB_CONFIGURA(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