
usbd
_
io() © 2007, QNX Software Systems GmbH & Co. KG.
Submit a previously set up URB to the USB stack
Synopsis:
#include <sys/usbdi.h>
int usbd_io( struct usbd_urb *urb,
struct usbd_pipe *pipe,
void (*func)(struct usbd_urb *,
struct usbd_pipe *, void *),
void *handle,
_uint32 timeout );
Arguments:
urb A pointer to a USB Request Block.
pipe An opaque handle returned by usbd
_
open
_
pipe().
func Callback at I/O completion, given URB, pipe, plus handle.
handle User data.
timeout A value (in milliseconds) or
USBD_TIME_DEFAULT or
USBD_TIME_INFINITY.
Library:
libusbdi
Description:
This routine submits a previously set up URB to the USB stack. The URB would have
been set up from one of these functions:
• usbd
_
setup
_
bulk()
• usbd
_
setup
_
control()
• usbd
_
setup
_
interrupt()
• usbd
_
setup
_
isochronous()
• usbd
_
setup
_
vendor()
For this release of the USB DDK, vendor requests are synchronous only. Therefore,
the func parameter in usbd
_
io() must be NULL.
The usbd
_
io() function is the one that actually makes the data transfer happen; the
setup functions simply set up the URB for the data transfer.
54 Chapter 4 • USB Library Reference September 10, 2007
Comentários a estes Manuais