libusb_transfer Struct Reference
[Asynchronous device I/O]

The generic USB transfer structure. More...

#include <libusb.h>


Data Fields

libusb_device_handledev_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 endpoint from libusb_transfer_type.
unsigned int timeout
 Timeout for this transfer in millseconds.
enum libusb_transfer_status status
 The status of the transfer.
int length
 Length of the data buffer.
int actual_length
 Actual length of data that was transferred.
libusb_transfer_cb_fn callback
 Callback function.
void * user_data
 User context data to pass to the callback function.
unsigned char * buffer
 Data buffer.
int num_iso_packets
 Number of isochronous packets.
struct libusb_iso_packet_descriptor iso_packet_desc [0]
 Isochronous packet descriptors, for isochronous transfers only.


Detailed Description

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.


Field Documentation

A bitwise OR combination of libusb_transfer_flags.

Address of the endpoint where this transfer will be sent.

Timeout for this transfer in millseconds.

A value of 0 indicates no timeout.

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.

Actual length of data that was transferred.

Read-only, and only for use within transfer callback function. Not valid for isochronous endpoint transfers.

Callback function.

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

User context data to pass to the callback function.

Number of isochronous packets.

Only used for I/O with isochronous endpoints.

Isochronous packet descriptors, for isochronous transfers only.


The documentation for this struct was generated from the following file:

Generated on Thu Oct 14 14:56:36 2010 for libusb by  doxygen 1.5.9