![]()  | 
![]()  | 
![]()  | 
![]()  | 
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()
![]()  | 
![]()  | 
![]()  | 
![]()  |