Set up a URB for a vendor-specific transfer
#include <sys/usbdi.h> int usbd_setup_vendor( struct usbd_urb *urb, uint32_t flags, uint16_t request, uint16_t rtype, uint16_t value, uint16_t index, void *addr, uint32_t len );
You can optionally OR in the following:
ORed with one of the following:
libusbdi
This routine sets up a URB for a vendor-specific transfer.
For this release of the USB DDK, vendor requests are synchronous only. Therefore, the func parameter in usbd_io() must be NULL. |
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | Yes |
To ensure that the correct physical address will be used, you must use the buffer allocated by usbd_alloc() for the addr parameter.
usbd_descriptor(), usbd_feature(), usbd_io(), usbd_setup_bulk(), usbd_setup_control(), usbd_setup_interrupt(), usbd_setup_isochronous(), usbd_status()