usbd_setup_isochronous
![]() |
![]() |
![]() |
![]() |
usbd_setup_isochronous()
Set up a URB for an isochronous transfer
Synopsis:
#include <sys/usbdi.h>
int usbd_setup_isochronous( struct usbd_urb *urb,
_uint32 flags,
_int32 frame,
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 either or both of the following:
- URB_ISOCH_ASAP—allow transfer as soon as possible (overrides frame).
- URB_SHORT_XFER_OK—allow short transfers.
- frame
- The device frame number. This is ignored if URB_ISOCH_ASAP is set.
- 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.
Library:
libusbdi
Description:
This routine sets up a URB for an isochronous transfer.
Returns:
- EOK
- Success.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
See also:
usbd_descriptor(), usbd_feature(), usbd_io(), usbd_setup_bulk(), usbd_setup_control(), usbd_setup_interrupt(), usbd_setup_vendor(), usbd_status()
![]() |
![]() |
![]() |
![]() |

![[Previous]](prev.gif)
![[Contents]](contents.gif)
![[Index]](keyword_index.gif)
![[Next]](next.gif)
