Perform a synchronous bulk transfer.
int32_t UsbBulkXfer(
int32_t udev,
uint32_t pipe,
void *data,
uint32_t len,
uint32_t * actual_length,
uint32_t flags,
uint32_t timeout
);
Parameters
-
udev
- Device handle from UsbOpenDevice.
pipe
- Value describing the device, endpoint number, type, and transfer direction.
data
- User data buffer.
len
- Length in bytes of expected transfer.
actual_length
- Pointer to a location which receives the count of actual bytes transfered.
flags
- Transfer flags. One of the following:
USB_FORCE_SHORT_XFER - force a short transmit last
USB_SHORT_XFER_OK - allow short reads
USB_DELAY_STATUS_STAGE - insert delay before STATUS
USB_MULTI_SHORT_OK - allow multiple short frames
timeout
- Timeout in milliseconds for the transfer. Use USB_WAIT_FOREVER to wait forever.
Return Values
USB_ERR_NORMAL_COMPLETION |
Success. The operation was completed. |
USB_ERR_NO_STACK |
The USB stack is not ready. |
USB_ERR_MEMORY |
Memory could not be allocated for the operation. |
USB_ERR_TIMEOUT |
The device did not respond. |
Requirements
Versions |
Defined in |
Include |
Link to |
INtime 5.0 |
intime/rt/include/usbif3.h |
usbif3.h |
usbif3.lib |
See Also