|
USBIP C library 0.7.0
Virtual USB devices & host drivers over USB/IP
|
The 8-byte SETUP packet that begins every control transfer (host byte order in the API). More...
#include <usbip.h>
Data Fields | |
| uint8_t | bmRequestType |
| Direction | type | recipient bitmask (see above) | |
| uint8_t | bRequest |
| Request code (e.g. | |
| uint16_t | wValue |
| Request-specific parameter (often a type/index) | |
| uint16_t | wIndex |
| Request-specific parameter (often iface/endpoint) | |
| uint16_t | wLength |
| Number of data bytes in the (optional) data stage | |
The 8-byte SETUP packet that begins every control transfer (host byte order in the API).
bmRequestType is a bitmask: bit 7 = direction (0 OUT, 1 IN), bits 6-5 = type (0 standard, 1 class, 2 vendor), bits 4-0 = recipient (0 device, 1 interface, 2 endpoint) - e.g. 0x80 = IN/standard/device, 0x21 = OUT/class/interface. The core answers standard requests; a class/vendor handler (usbip_function_on_control()) sees the rest.
| uint8_t usb_setup::bmRequestType |
Direction | type | recipient bitmask (see above)
| uint8_t usb_setup::bRequest |
Request code (e.g.
GET_DESCRIPTOR = 0x06)
| uint16_t usb_setup::wValue |
Request-specific parameter (often a type/index)
| uint16_t usb_setup::wIndex |
Request-specific parameter (often iface/endpoint)
| uint16_t usb_setup::wLength |
Number of data bytes in the (optional) data stage