
usbd
_
setup
_
vendor() © 2007, QNX Software Systems GmbH & Co. KG.
Set up a URB for a vendor-specific transfer
Synopsis:
#include <sys/usbdi.h>
int usbd_setup_vendor( struct usbd_urb *urb,
_uint32 flags,
_uint16 request,
_uint16 rtype,
_uint16 value,
_uint16 index,
void *addr,
_uint32 len );
Arguments:
urb An opaque handle (from usbd
_
alloc
_
urb()).
flags One of the following:
•
URB_DIR_IN—specify incoming (device-to-PC) transfer.
•
URB_DIR_OUT—specify outgoing (PC-to-device) transfer.
•
URB_DIR_NONE—don’t specify the direction.
You can optionally OR in the following:
•
URB_SHORT_XFER_OK—allow short transfers.
request A device-specific request.
rtype The type of request; one of the following:
•
USB_RECIPIENT_DEVICE
• USB_RECIPIENT_INTERFACE
• USB_RECIPIENT_ENDPOINT
• USB_RECIPIENT_OTHER
ORed with one of the following:
•
USB_TYPE_STANDARD
• USB_TYPE_CLASS
• USB_TYPE_VENDOR
value This varies, depending on the request. It’s used for passing a parameter to
the device.
index This varies, depending on the request. It’s used for passing a parameter to
the device.
addr The address for the start of the transfer. You must use the buffer allocated
by usbd
_
alloc().
len The length (in bytes) of the data transfer.
78 Chapter 4 • USB Library Reference September 10, 2007
Comentários a estes Manuais