libusb_device_handle
struct libusb_device_handle;
typedef struct libusb_device_handle libusb_device_handle;
libusb_device_handle *dev_handle;
int libusb_clear_halt(libusb_device_handle *devh, uint8_t endpoint);
int libusb_open(libusb_device * dev, libusb_device_handle ** devh);
libusb_device_handle *libusb_open_device_with_vid_pid(libusb_context * ctx, uint16_t vendor_id, uint16_t product_id);
void libusb_close(libusb_device_handle * devh);
libusb_device *libusb_get_device(libusb_device_handle * devh);
int libusb_get_configuration(libusb_device_handle * devh, int *config);
int libusb_set_configuration(libusb_device_handle * devh, int configuration);
int libusb_claim_interface(libusb_device_handle * devh, int interface_number);
int libusb_release_interface(libusb_device_handle * devh, int interface_number);
int libusb_reset_device(libusb_device_handle * devh);
int libusb_check_connected(libusb_device_handle * devh);
int libusb_kernel_driver_active(libusb_device_handle * devh, int interface);
int libusb_get_driver_np(libusb_device_handle * devh, int interface, char *name, int namelen);
int libusb_get_driver(libusb_device_handle * devh, int interface, char *name, int namelen);
int libusb_detach_kernel_driver_np(libusb_device_handle * devh, int interface);
int libusb_detach_kernel_driver(libusb_device_handle * devh, int interface);
int libusb_attach_kernel_driver(libusb_device_handle * devh, int interface);
int libusb_set_auto_detach_kernel_driver(libusb_device_handle *dev, int enable);
int libusb_set_interface_alt_setting(libusb_device_handle * devh, int interface_number, int alternate_setting);
int libusb_get_string_descriptor(libusb_device_handle * devh, uint8_t desc_index, uint16_t langid, unsigned char *data, int length);
int libusb_get_string_descriptor_ascii(libusb_device_handle * devh, uint8_t desc_index, uint8_t *data, int length);
int libusb_get_descriptor(libusb_device_handle * devh, uint8_t desc_type, uint8_t desc_index, uint8_t *data, int length);
void libusb_fill_control_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t *buf, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
void libusb_fill_bulk_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
void libusb_fill_interrupt_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
void libusb_fill_iso_transfer(struct libusb_transfer *transfer, libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf, int length, int npacket, libusb_transfer_cb_fn callback, void *user_data, uint32_t timeout);
int libusb_control_transfer(libusb_device_handle * devh, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, uint8_t *data, uint16_t wLength, uint32_t timeout);
int libusb_bulk_transfer(libusb_device_handle * devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, uint32_t timeout);
int libusb_interrupt_transfer(libusb_device_handle * devh, uint8_t endpoint, uint8_t *data, int length, int *transferred, uint32_t timeout);
libusb_open(libusb_device *dev, libusb_device_handle **devh)
libusb_device_handle *
libusb_set_auto_detach_kernel_driver(libusb_device_handle *dev, int enable)
libusb_get_string_descriptor(libusb_device_handle *pdev,
libusb_get_string_descriptor_ascii(libusb_device_handle *pdev,
libusb_get_descriptor(libusb_device_handle * devh, uint8_t desc_type,
libusb_control_transfer(libusb_device_handle *devh,
libusb10_do_transfer(libusb_device_handle *devh,
libusb_bulk_transfer(libusb_device_handle *devh,
libusb_interrupt_transfer(libusb_device_handle *devh,
libusb_device_handle *devh, uint8_t *buf,
libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,
libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,
libusb_device_handle *devh, uint8_t endpoint, uint8_t *buf,