33 int dynlibusb_init(
void) {
37 usb.shared_object_handle =
plugin_load(
"libusb0.dll");
38 if ( ! usb.shared_object_handle ) {
43 usb._x = plugin_get_address(usb.shared_object_handle, "usb_" ## #_x); \
44 if (usb._x == NULL) { \
59 READ(set_configuration);
60 READ(claim_interface);
61 READ(release_interface);
80 void dynlibusb_uninit(
void) {
83 if (usb.shared_object_handle == NULL) {
89 memset(&usb, 0,
sizeof usb);
Allow for libusb (0.1) to be loaded dynamically (Currently, this is used on Windows only) ...
Shared library / DLL for accessing the driver Functions for obtaining the addresses of plugin functio...
void plugin_unload(SHARED_OBJECT_HANDLE handle)
@@@
SHARED_OBJECT_HANDLE plugin_load(const char *name)
@@@
DLL interface for accessing the driver.
Define makros and functions which account for differences between the different architectures.