70 #include <libusb-1.0/libusb.h>
72 typedef int libUSB_init(libusb_context** ctx);
73 typedef void libUSB_exit(libusb_context* ctx);
74 typedef int libUSB_open(libusb_device* dev, libusb_device_handle** handle);
75 typedef void libUSB_close(libusb_device_handle* dev_handle);
76 typedef int libUSB_kernel_driver_active(libusb_device_handle* dev,
int interface_number);
77 typedef int libUSB_attach_kernel_driver(libusb_device_handle* dev,
int interface_number);
78 typedef int libUSB_detach_kernel_driver(libusb_device_handle* dev,
int interface_number);
79 typedef libusb_device* libUSB_ref_device(libusb_device* dev);
80 typedef void libUSB_unref_device(libusb_device* dev);
81 typedef int libUSB_claim_interface(libusb_device_handle* dev,
int interface_number);
82 typedef int libUSB_release_interface(libusb_device_handle* dev,
int interface_number);
83 typedef int libUSB_get_active_config_descriptor(libusb_device* dev,
struct libusb_config_descriptor** config);
84 typedef void libUSB_free_config_descriptor(
struct libusb_config_descriptor* config);
85 typedef uint8_t libUSB_get_bus_number(libusb_device* dev);
86 typedef libusb_device* libUSB_get_device(libusb_device_handle* dev_handle);
87 typedef uint8_t libUSB_get_device_address(libusb_device* dev);
88 typedef int libUSB_get_device_descriptor(libusb_device* dev,
struct libusb_device_descriptor* desc);
89 typedef ssize_t libUSB_get_device_list(libusb_context* ctx, libusb_device*** list);
90 typedef void libUSB_free_device_list(libusb_device** list,
int unref_devices);
91 typedef int libUSB_get_string_descriptor_ascii(libusb_device_handle* dev, uint8_t desc_index,
unsigned char* data,
int length);
92 typedef int libUSB_bulk_transfer(libusb_device_handle* dev_handle,
unsigned char endpoint,
unsigned char* data,
int length,
int* actual_length,
unsigned int timeout);
93 typedef void libUSB_set_debug(libusb_context* ctx,
int level);
107 libUSB_kernel_driver_active kernel_driver_active;
108 libUSB_attach_kernel_driver attach_kernel_driver;
109 libUSB_detach_kernel_driver detach_kernel_driver;
110 libUSB_ref_device ref_device;
111 libUSB_unref_device unref_device;
112 libUSB_claim_interface claim_interface;
113 libUSB_release_interface release_interface;
114 libUSB_get_active_config_descriptor get_active_config_descriptor;
115 libUSB_free_config_descriptor free_config_descriptor;
116 libUSB_get_bus_number get_bus_number;
117 libUSB_get_device get_device;
118 libUSB_get_device_address get_device_address;
119 libUSB_get_device_descriptor get_device_descriptor;
120 libUSB_get_device_list get_device_list;
121 libUSB_free_device_list free_device_list;
122 libUSB_get_string_descriptor_ascii get_string_descriptor_ascii;
123 libUSB_bulk_transfer bulk_transfer;
124 libUSB_set_debug set_debug;
133 libUSB_kernel_driver_active* kernel_driver_active;
134 libUSB_attach_kernel_driver* attach_kernel_driver;
135 libUSB_detach_kernel_driver* detach_kernel_driver;
136 libUSB_ref_device* ref_device;
137 libUSB_unref_device* unref_device;
138 libUSB_claim_interface* claim_interface;
139 libUSB_release_interface* release_interface;
140 libUSB_get_active_config_descriptor* get_active_config_descriptor;
141 libUSB_free_config_descriptor* free_config_descriptor;
142 libUSB_get_bus_number* get_bus_number;
143 libUSB_get_device* get_device;
144 libUSB_get_device_address* get_device_address;
145 libUSB_get_device_descriptor* get_device_descriptor;
146 libUSB_get_device_list* get_device_list;
147 libUSB_free_device_list* free_device_list;
148 libUSB_get_string_descriptor_ascii* get_string_descriptor_ascii;
149 libUSB_bulk_transfer* bulk_transfer;
150 libUSB_set_debug* set_debug;
155 void tryLoadLibrary();
159 #endif // HAVE_LIBUSB