Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #838
Difficulty: Medium
Both SMTP and HTTP are valid application layer protocols used as transport for SOAP.
True or False?
Linux & Unix Commands - Search Man Pages

struct_usb_composite_dev(9) [centos man page]

struct_usb_composite_dev - represents one composite usb gadget SYNOPSIS
struct usb_composite_dev { struct usb_gadget * gadget; struct usb_request * req; struct usb_configuration * config; }; MEMBERS
gadget read-only, abstracts the gadget's usb peripheral controller req used for control responses; buffer is pre-allocated config the currently active configuration DESCRIPTION
One of these devices is allocated and initialized before the associated device driver's bind is called. OPEN ISSUE
it appears that some WUSB devices will need to be built by combining a normal (wired) gadget with a wireless one. This revision of the gadget framework should probably try to make sure doing that won't hurt too much. ONE NOTION FOR HOW TO HANDLE WIRELESS USB DEVICES INVOLVES
(a) a second gadget here, discovery mechanism TBD, but likely needing separate "register/unregister WUSB gadget" calls; (b) updates to usb_gadget to include flags "is it wireless", "is it wired", plus (presumably in a wrapper structure) bandgroup and PHY info; (c) presumably a wireless_ep wrapping a usb_ep, and reporting wireless-specific parameters like maxburst and maxsequence; (d) configurations that are specific to wireless links; (e) function drivers that understand wireless configs and will support wireless for (additional) function instances; (f) a function to support association setup (like CBAF), not necessarily requiring a wireless adapter; (g) composite device setup that can create one or more wireless configs, including appropriate association setup support; (h) more, TBD. AUTHOR
David Brownell <> Author. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT USB_COMPOSITE(9)

Check Out this Related Man Page

struct_usb_gadget - represents a usb slave device SYNOPSIS
struct usb_gadget { const struct usb_gadget_ops * ops; struct usb_ep * ep0; struct list_head ep_list; enum usb_device_speed speed; unsigned is_dualspeed:1; unsigned is_otg:1; unsigned is_a_peripheral:1; unsigned b_hnp_enable:1; unsigned a_hnp_support:1; unsigned a_alt_hnp_support:1; const char * name; struct device dev; }; MEMBERS
ops Function pointers used to access hardware-specific operations. ep0 Endpoint zero, used when reading or writing responses to driver setup requests ep_list List of other endpoints supported by the device. speed Speed of current connection to USB host. is_dualspeed True if the controller supports both high and full speed operation. If it does, the gadget driver must also support both. is_otg True if the USB device port uses a Mini-AB jack, so that the gadget driver must provide a USB OTG descriptor. is_a_peripheral False unless is_otg, the "A" end of a USB cable is in the Mini-AB jack, and HNP has been used to switch roles so that the "A" device currently acts as A-Peripheral, not A-Host. b_hnp_enable OTG device feature flag, indicating that the A-Host enabled HNP support. a_hnp_support OTG device feature flag, indicating that the A-Host supports HNP at this port. a_alt_hnp_support OTG device feature flag, indicating that the A-Host only supports HNP on a different root port. name Identifies the controller hardware type. Used in diagnostics and sometimes configuration. dev Driver model state for this abstract device. DESCRIPTION
Gadgets have a mostly-portable "gadget driver" implementing device functions, handling all usb configurations and interfaces. Gadget drivers talk to hardware-specific code indirectly, through ops vectors. That insulates the gadget driver from hardware details, and packages the hardware endpoints through generic i/o queues. The "usb_gadget" and "usb_ep" interfaces provide that insulation from the hardware. Except for the driver data, all fields in this structure are read-only to the gadget driver. That driver data is part of the "driver model" infrastructure in 2.6 (and later) kernels, and for earlier systems is grouped in a similar structure that's not known to the rest of the kernel. Values of the three OTG device feature flags are updated before the setup call corresponding to USB_REQ_SET_CONFIGURATION, and before driver suspend calls. They are valid only when is_otg, and when the device is acting as a B-Peripheral (so is_a_peripheral is false). AUTHOR
David Brownell <> Author. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT USB_GADGET(9)

Featured Tech Videos