libusb_transfer

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.

Members

Variables

actual_length
int 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.

buffer
char* buffer;

Data buffer

callback
libusb_transfer_cb_fn callback;

Callback function. This will be invoked when the transfer completes, * fails, or is cancelled.

dev_handle
libusb_device_handle* dev_handle;

Handle of the device that this transfer will be submitted to

endpoint
char endpoint;

Address of the endpoint where this transfer will be sent.

flags
ubyte flags;

A bitwise OR combination of \ref libusb_transfer_flags.

iso_packet_desc
libusb_iso_packet_descriptor[] iso_packet_desc;

Isochronous packet descriptors, for isochronous transfers only.

length
int length;

Length of the data buffer

num_iso_packets
int num_iso_packets;

Number of isochronous packets. Only used for I/O with isochronous * endpoints.

status
libusb_transfer_status 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 * \ref libusb_iso_packet_descriptor::status "status" field in each packet * to determine if errors occurred.

timeout
uint timeout;

Timeout for this transfer in millseconds. A value of 0 indicates no * timeout.

type
char type;

Type of the endpoint from \ref libusb_transfer_type

user_data
void* user_data;

User context data to pass to the callback function.

Meta