Functions
|
int
|
libusb_alloc_streams
(
libusb_device_handle
*dev_handle, uint32_t num_streams, unsigned char *endpoints, int num_endpoints)
|
在指定的端点上分配最多 num_streams 个 USB 批量流。
|
int
|
libusb_free_streams
(
libusb_device_handle
*dev_handle, unsigned char *endpoints, int num_endpoints)
|
释放流。
|
unsigned char *
|
libusb_dev_mem_alloc
(
libusb_device_handle
*dev_handle, size_t length)
|
尝试分配适合针对给定设备进行传输的 DMA 内存块。
|
int
|
libusb_dev_mem_free
(
libusb_device_handle
*dev_handle, unsigned char *buffer, size_t length)
|
释放DMA内存块。
|
struct
libusb_transfer
*
|
libusb_alloc_transfer
(int iso_packets)
|
使用指定数量的同步数据包描述符分配 libusb 传输。
|
void
|
libusb_free_transfer
(struct
libusb_transfer
*transfer)
|
释放libusb传输。
|
int
|
libusb_submit_transfer
(struct
libusb_transfer
*transfer)
|
提交一次传输。
|
int
|
libusb_cancel_transfer
(struct
libusb_transfer
*transfer)
|
取消传输。
|
void
|
libusb_transfer_set_stream_id
(struct
libusb_transfer
*transfer, uint32_t stream_id)
|
设置传输批量流ID。
|
uint32_t
|
libusb_transfer_get_stream_id
(struct
libusb_transfer
*transfer)
|
获取传输批量流ID。
|
static unsigned char *
|
libusb_control_transfer_get_data
(struct
libusb_transfer
*transfer)
|
获取控制传输的数据部分。
|
static struct
libusb_control_setup
*
|
libusb_control_transfer_get_setup
(struct
libusb_transfer
*transfer)
|
获取控制传输的控制Setup包。
|
static void
|
libusb_fill_control_setup
(unsigned char *buffer, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint16_t wLength)
|
辅助函数用于填充Setup包(数据缓冲区的前 8 个字节)以进行控制传输。
|
static void
|
libusb_fill_control_transfer
(struct
libusb_transfer
*transfer,
libusb_device_handle
*dev_handle, unsigned char *buffer,
libusb_transfer_cb_fn
callback, void *user_data, unsigned int timeout)
|
用于填充控制传输所需的 libusb_transfer 字段的辅助函数。
|
static void
|
libusb_fill_bulk_transfer
(struct
libusb_transfer
*transfer,
libusb_device_handle
*dev_handle, unsigned char endpoint, unsigned char *buffer, int length,
libusb_transfer_cb_fn
callback, void *user_data, unsigned int timeout)
|
用于填充批量传输所需的 libusb_transfer 字段的辅助函数。
|
static void
|
libusb_fill_bulk_stream_transfer
(struct
libusb_transfer
*transfer,
libusb_device_handle
*dev_handle, unsigned char endpoint, uint32_t stream_id, unsigned char *buffer, int length,
libusb_transfer_cb_fn
callback, void *user_data, unsigned int timeout)
|
使用批量流填充批量传输所需的 libusb_transfer 字段的辅助函数。
|
static void
|
libusb_fill_interrupt_transfer
(struct
libusb_transfer
*transfer,
libusb_device_handle
*dev_handle, unsigned char endpoint, unsigned char *buffer, int length,
libusb_transfer_cb_fn
callback, void *user_data, unsigned int timeout)
|
用于填充中断传输所需的 libusb_transfer 字段的辅助函数。
|
static void
|
libusb_fill_iso_transfer
(struct
libusb_transfer
*transfer,
libusb_device_handle
*dev_handle, unsigned char endpoint, unsigned char *buffer, int length, int num_iso_packets,
libusb_transfer_cb_fn
callback, void *user_data, unsigned int timeout)
|
用于填充同步传输所需的 libusb_transfer 字段的辅助函数。
|
static void
|
libusb_set_iso_packet_lengths
(struct
libusb_transfer
*transfer, unsigned int length)
|
根据传输结构中的 num_iso_packets 字段设置同步传输中所有数据包长度的便捷功能。
|
static unsigned char *
|
libusb_get_iso_packet_buffer
(struct
libusb_transfer
*transfer, unsigned int packet)
|
定位同步数据包在同步传输缓冲区内的位置的便捷功能。
|
static unsigned char *
|
libusb_get_iso_packet_buffer_simple
(struct
libusb_transfer
*transfer, unsigned int packet)
|
定位同步数据包在同步传输缓冲区内的位置的便捷功能,用于每个数据包大小相同的传输。
|