libusb
1.0.27
A cross-platform user library to access USB devices
|
The generic USB transfer structure. More...
#include <libusb.h>
Data Fields | |
libusb_device_handle * | dev_handle |
Handle of the device that this transfer will be submitted to. | |
uint8_t | flags |
A bitwise OR combination of libusb_transfer_flags. | |
unsigned char | endpoint |
Address of the endpoint where this transfer will be sent. | |
unsigned char | type |
Type of the transfer from libusb_transfer_type. | |
unsigned int | timeout |
Timeout for this transfer in milliseconds. More... | |
enum libusb_transfer_status | status |
The status of the transfer. More... | |
int | length |
Length of the data buffer. More... | |
int | actual_length |
Actual length of data that was transferred. More... | |
libusb_transfer_cb_fn | callback |
Callback function. More... | |
void * | user_data |
User context data. More... | |
unsigned char * | buffer |
Data buffer. | |
int | num_iso_packets |
Number of isochronous packets. More... | |
struct libusb_iso_packet_descriptor | iso_packet_desc [LIBUSB_FLEXIBLE_ARRAY] |
Isochronous packet descriptors, for isochronous transfers only. | |
The generic USB transfer structure.
The user populates this structure and then submits it in order to request a transfer. After the transfer has completed, the library populates the transfer with the results and passes it back to the user.
unsigned int libusb_transfer::timeout |
Timeout for this transfer in milliseconds.
A value of 0 indicates no timeout.
enum libusb_transfer_status libusb_transfer::status |
The status of the transfer.
Read-only, and only for use within transfer callback function.
If this is an isochronous transfer, this field may read COMPLETED even if there were errors in the frames. Use the status field in each packet to determine if errors occurred.
int libusb_transfer::length |
Length of the data buffer.
Must be non-negative.
int libusb_transfer::actual_length |
Actual length of data that was transferred.
Read-only, and only for use within transfer callback function. Not valid for isochronous endpoint transfers.
libusb_transfer_cb_fn libusb_transfer::callback |
Callback function.
This will be invoked when the transfer completes, fails, or is cancelled.
void* libusb_transfer::user_data |
User context data.
Useful for associating specific data to a transfer that can be accessed from within the callback function.
This field may be set manually or is taken as the user_data
parameter of the following functions:
int libusb_transfer::num_iso_packets |
Number of isochronous packets.
Only used for I/O with isochronous endpoints. Must be non-negative.