struct usb_ctrlrequest — SETUP data for a USB device control request
struct usb_ctrlrequest { __u8 bRequestType; __u8 bRequest; __le16 wValue; __le16 wIndex; __le16 wLength; };
matches the USB bmRequestType field
matches the USB bRequest field
matches the USB wValue field (le16 byte order)
matches the USB wIndex field (le16 byte order)
matches the USB wLength field (le16 byte order)
This structure is used to send control requests to a USB device. It matches the different fields of the USB 2.0 Spec section 9.3, table 9-2. See the USB spec for a fuller description of the different fields, and what they are used for.
Note that the driver for any interface can issue control requests. For most devices, interfaces don't coordinate with each other, so such requests may be made at any time.