diff --git a/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll b/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll new file mode 100644 index 0000000..821e2a8 Binary files /dev/null and b/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll differ diff --git a/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll.a b/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll.a index 73c39aa..8375764 100644 Binary files a/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll.a and b/LibusbJava/libusb/MinGW32/dll/libusb-1.0.dll.a differ diff --git a/LibusbJava/libusb/MinGW32/static/libusb-1.0.a b/LibusbJava/libusb/MinGW32/static/libusb-1.0.a index db10df8..f73df27 100644 Binary files a/LibusbJava/libusb/MinGW32/static/libusb-1.0.a and b/LibusbJava/libusb/MinGW32/static/libusb-1.0.a differ diff --git a/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll b/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll new file mode 100644 index 0000000..b88dd62 Binary files /dev/null and b/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll differ diff --git a/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll.a b/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll.a index 2746bc4..849c8e8 100644 Binary files a/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll.a and b/LibusbJava/libusb/MinGW64/dll/libusb-1.0.dll.a differ diff --git a/LibusbJava/libusb/MinGW64/static/libusb-1.0.a b/LibusbJava/libusb/MinGW64/static/libusb-1.0.a index 917d303..d3a758d 100644 Binary files a/LibusbJava/libusb/MinGW64/static/libusb-1.0.a and b/LibusbJava/libusb/MinGW64/static/libusb-1.0.a differ diff --git a/LibusbJava/libusb/include/libusb.h b/LibusbJava/libusb/include/libusb.h index d320886..1984ae5 100644 --- a/LibusbJava/libusb/include/libusb.h +++ b/LibusbJava/libusb/include/libusb.h @@ -1,7 +1,9 @@ /* - * Public libusb header file - * Copyright (C) 2007-2008 Daniel Drake - * Copyright (c) 2001 Johannes Erdfelt + * Public libusbx header file + * Copyright © 2001 Johannes Erdfelt + * Copyright © 2007-2008 Daniel Drake + * Copyright © 2012 Pete Batard + * For more information, please visit: http://libusbx.org * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,12 +20,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef __LIBUSB_H__ -#define __LIBUSB_H__ +#ifndef LIBUSB_H +#define LIBUSB_H #ifdef _MSC_VER /* on MS environments, the inline keyword is available in C++ only */ +#if !defined(__cplusplus) #define inline __inline +#endif /* ssize_t is also not available (copy/paste from MinGW) */ #ifndef _SSIZE_T_DEFINED #define _SSIZE_T_DEFINED @@ -40,6 +44,7 @@ #if defined(_MSC_VER) && (_MSC_VER < 1600) && (!defined(_STDINT)) && (!defined(_STDINT_H)) typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; +typedef unsigned __int32 uint32_t; #else #include #endif @@ -53,7 +58,7 @@ typedef unsigned __int16 uint16_t; #endif /* 'interface' might be defined as a macro on Windows, so we need to - * undefine it so as not to break the current libusb API, because + * undefine it so as not to break the current libusbx API, because * libusb_config_descriptor has an 'interface' member * As this can be problematic if you include windows.h after libusb.h * in your sources, we force windows.h to be included first. */ @@ -66,14 +71,14 @@ typedef unsigned __int16 uint16_t; /** \def LIBUSB_CALL * \ingroup misc - * libusb's Windows calling convention. + * libusbx's Windows calling convention. * * Under Windows, the selection of available compilers and configurations * means that, unlike other platforms, there is not one true calling * convention (calling convention: the manner in which parameters are * passed to funcions in the generated assembly code). * - * Matching the Windows API itself, libusb uses the WINAPI convention (which + * Matching the Windows API itself, libusbx uses the WINAPI convention (which * translates to the stdcall convention) and guarantees that the * library is compiled in this way. The public header file also includes * appropriate annotations so that your own software will use the right @@ -81,7 +86,7 @@ typedef unsigned __int16 uint16_t; * your codebase. * * The one consideration that you must apply in your software is to mark - * all functions which you use as libusb callbacks with this LIBUSB_CALL + * all functions which you use as libusbx callbacks with this LIBUSB_CALL * annotation, so that they too get compiled for the correct calling * convention. * @@ -89,19 +94,44 @@ typedef unsigned __int16 uint16_t; * means that you can apply it to your code without worrying about * cross-platform compatibility. */ -/* LIBUSB_CALL must be defined on both definition and declaration of libusb +/* LIBUSB_CALL must be defined on both definition and declaration of libusbx * functions. You'd think that declaration would be enough, but cygwin will * complain about conflicting types unless both are marked this way. * The placement of this macro is important too; it must appear after the * return type, before the function name. See internal documentation for * API_EXPORTED. */ -#if defined(_WIN32) +#if defined(_WIN32) || defined(__CYGWIN__) #define LIBUSB_CALL WINAPI #else #define LIBUSB_CALL #endif +/** \def LIBUSBX_API_VERSION + * \ingroup misc + * libusbx's API version. + * + * Since version 1.0.13, to help with feature detection, libusbx defines + * a LIBUSBX_API_VERSION macro that gets increased every time there is a + * significant change to the API, such as the introduction of a new call, + * the definition of a new macro/enum member, or any other element that + * libusbx applications may want to detect at compilation time. + * + * The macro is typically used in an application as follows: + * \code + * #if defined(LIBUSBX_API_VERSION) && (LIBUSBX_API_VERSION >= 0x01001234) + * // Use one of the newer features from the libusbx API + * #endif + * \endcode + * + * Another feature of LIBUSBX_API_VERSION is that it can be used to detect + * whether you are compiling against the libusb or the libusbx library. + * + * Internally, LIBUSBX_API_VERSION is defined as follows: + * (libusbx major << 24) | (libusbx minor << 16) | (16 bit incremental) + */ +#define LIBUSBX_API_VERSION 0x010000FF + #ifdef __cplusplus extern "C" { #endif @@ -155,11 +185,15 @@ enum libusb_class_code { /** Human Interface Device class */ LIBUSB_CLASS_HID = 3, - /** Printer dclass */ + /** Physical */ + LIBUSB_CLASS_PHYSICAL = 5, + + /** Printer class */ LIBUSB_CLASS_PRINTER = 7, - /** Picture transfer protocol class */ - LIBUSB_CLASS_PTP = 6, + /** Image class */ + LIBUSB_CLASS_PTP = 6, /* legacy name from libusb-0.1 usb.h */ + LIBUSB_CLASS_IMAGE = 6, /** Mass storage class */ LIBUSB_CLASS_MASS_STORAGE = 8, @@ -170,6 +204,21 @@ enum libusb_class_code { /** Data class */ LIBUSB_CLASS_DATA = 10, + /** Smart Card */ + LIBUSB_CLASS_SMART_CARD = 0x0b, + + /** Content Security */ + LIBUSB_CLASS_CONTENT_SECURITY = 0x0d, + + /** Video */ + LIBUSB_CLASS_VIDEO = 0x0e, + + /** Personal Healthcare */ + LIBUSB_CLASS_PERSONAL_HEALTHCARE = 0x0f, + + /** Diagnostic Device */ + LIBUSB_CLASS_DIAGNOSTIC_DEVICE = 0xdc, + /** Wireless class */ LIBUSB_CLASS_WIRELESS = 0xe0, @@ -208,7 +257,10 @@ enum libusb_descriptor_type { LIBUSB_DT_PHYSICAL = 0x23, /** Hub descriptor */ - LIBUSB_DT_HUB = 0x29 + LIBUSB_DT_HUB = 0x29, + + /** SuperSpeed Hub descriptor */ + LIBUSB_DT_SUPERSPEED_HUB = 0x2A, }; /* Descriptor sizes per descriptor type */ @@ -255,7 +307,7 @@ enum libusb_transfer_type { }; /** \ingroup misc - * Standard requests, as defined in table 9-3 of the USB2 specifications */ + * Standard requests, as defined in table 9-5 of the USB 3.0 specifications */ enum libusb_standard_request { /** Request status of the specific recipient */ LIBUSB_REQUEST_GET_STATUS = 0x00, @@ -292,7 +344,14 @@ enum libusb_standard_request { LIBUSB_REQUEST_SET_INTERFACE = 0x0B, /** Set then report an endpoint's synchronization frame */ - LIBUSB_REQUEST_SYNCH_FRAME = 0x0C + LIBUSB_REQUEST_SYNCH_FRAME = 0x0C, + + /** Sets both the U1 and U2 Exit Latency */ + LIBUSB_REQUEST_SET_SEL = 0x30, + + /** Delay from the time a host transmits a packet to the time it is + * received by the device. */ + LIBUSB_SET_ISOCH_DELAY = 0x31, }; /** \ingroup misc @@ -328,7 +387,7 @@ enum libusb_request_recipient { LIBUSB_RECIPIENT_ENDPOINT = 0x02, /** Other */ - LIBUSB_RECIPIENT_OTHER = 0x03 + LIBUSB_RECIPIENT_OTHER = 0x03, }; #define LIBUSB_ISO_SYNC_TYPE_MASK 0x0C @@ -367,12 +426,12 @@ enum libusb_iso_usage_type { LIBUSB_ISO_USAGE_TYPE_FEEDBACK = 1, /** Implicit feedback Data endpoint */ - LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2 + LIBUSB_ISO_USAGE_TYPE_IMPLICIT = 2, }; /** \ingroup desc * A structure representing the standard USB device descriptor. This - * descriptor is documented in section 9.6.1 of the USB 2.0 specification. + * descriptor is documented in section 9.6.1 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_device_descriptor { @@ -426,7 +485,7 @@ struct libusb_device_descriptor { /** \ingroup desc * A structure representing the standard USB endpoint descriptor. This - * descriptor is documented in section 9.6.3 of the USB 2.0 specification. + * descriptor is documented in section 9.6.6 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_endpoint_descriptor { @@ -466,7 +525,7 @@ struct libusb_endpoint_descriptor { /** For audio devices only: the address if the synch endpoint */ uint8_t bSynchAddress; - /** Extra descriptors. If libusb encounters unknown endpoint descriptors, + /** Extra descriptors. If libusbx encounters unknown endpoint descriptors, * it will store them here, should you wish to parse them. */ const unsigned char *extra; @@ -476,7 +535,7 @@ struct libusb_endpoint_descriptor { /** \ingroup desc * A structure representing the standard USB interface descriptor. This - * descriptor is documented in section 9.6.5 of the USB 2.0 specification. + * descriptor is documented in section 9.6.5 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_interface_descriptor { @@ -516,7 +575,7 @@ struct libusb_interface_descriptor { * by the bNumEndpoints field. */ const struct libusb_endpoint_descriptor *endpoint; - /** Extra descriptors. If libusb encounters unknown interface descriptors, + /** Extra descriptors. If libusbx encounters unknown interface descriptors, * it will store them here, should you wish to parse them. */ const unsigned char *extra; @@ -538,7 +597,7 @@ struct libusb_interface { /** \ingroup desc * A structure representing the standard USB configuration descriptor. This - * descriptor is documented in section 9.6.3 of the USB 2.0 specification. + * descriptor is documented in section 9.6.3 of the USB 3.0 specification. * All multiple-byte fields are represented in host-endian format. */ struct libusb_config_descriptor { @@ -574,7 +633,7 @@ struct libusb_config_descriptor { * this array is determined by the bNumInterfaces field. */ const struct libusb_interface *interface; - /** Extra descriptors. If libusb encounters unknown configuration + /** Extra descriptors. If libusbx encounters unknown configuration * descriptors, it will store them here, should you wish to parse them. */ const unsigned char *extra; @@ -612,33 +671,46 @@ struct libusb_control_setup { #define LIBUSB_CONTROL_SETUP_SIZE (sizeof(struct libusb_control_setup)) -/* libusb */ +/* libusbx */ struct libusb_context; struct libusb_device; struct libusb_device_handle; /** \ingroup lib - * Structure providing the version of libusb being used + * Structure providing the version of the libusbx runtime */ struct libusb_version { - uint16_t major; - uint16_t minor; - uint16_t micro; - uint16_t nano; + /** Library major version. */ + const uint16_t major; + + /** Library minor version. */ + const uint16_t minor; + + /** Library micro version. */ + const uint16_t micro; + + /** Library nano version. */ + const uint16_t nano; + + /** Library release candidate suffix string, e.g. "-rc4". */ + const char *rc; + + /** For ABI compatibility only. */ + const char* describe; }; /** \ingroup lib - * Structure representing a libusb session. The concept of individual libusb + * Structure representing a libusbx session. The concept of individual libusbx * sessions allows for your program to use two libraries (or dynamically * load two modules) which both independently use libusb. This will prevent - * interference between the individual libusb users - for example + * interference between the individual libusbx users - for example * libusb_set_debug() will not affect the other user of the library, and * libusb_exit() will not destroy resources that the other user is still * using. * * Sessions are created by libusb_init() and destroyed through libusb_exit(). - * If your application is guaranteed to only ever include a single libusb + * If your application is guaranteed to only ever include a single libusbx * user (i.e. you), you do not have to worry about contexts: pass NULL in * every function call where a context is required. The default context * will be used. @@ -675,12 +747,31 @@ typedef struct libusb_device libusb_device; */ typedef struct libusb_device_handle libusb_device_handle; +/** \ingroup dev + * Speed codes. Indicates the speed at which the device is operating. + */ +enum libusb_speed { + /** The OS doesn't report or know the device speed. */ + LIBUSB_SPEED_UNKNOWN = 0, + + /** The device is operating at low speed (1.5MBit/s). */ + LIBUSB_SPEED_LOW = 1, + + /** The device is operating at full speed (12MBit/s). */ + LIBUSB_SPEED_FULL = 2, + + /** The device is operating at high speed (480MBit/s). */ + LIBUSB_SPEED_HIGH = 3, + + /** The device is operating at super speed (5000MBit/s). */ + LIBUSB_SPEED_SUPER = 4, +}; /** \ingroup misc - * Error codes. Most libusb functions return 0 on success or one of these + * Error codes. Most libusbx functions return 0 on success or one of these * codes on failure. - * You can use libusb_strerror() to retrieve a short string description of - * a libusb_error enumeration value. + * You can call \ref libusb_error_name() to retrieve a string representation + * of an error code. */ enum libusb_error { /** Success (no error) */ @@ -722,11 +813,11 @@ enum libusb_error { /** Operation not supported or unimplemented on this platform */ LIBUSB_ERROR_NOT_SUPPORTED = -12, - /** Other error */ - LIBUSB_ERROR_OTHER = -99 + /* NB! Remember to update libusb_error_name() + when adding new error codes here. */ - /* IMPORTANT: when adding new values to this enum, remember to - update the libusb_strerror() function implementation! */ + /** Other error */ + LIBUSB_ERROR_OTHER = -99, }; /** \ingroup asyncio @@ -753,7 +844,10 @@ enum libusb_transfer_status { LIBUSB_TRANSFER_NO_DEVICE, /** Device sent more data than requested */ - LIBUSB_TRANSFER_OVERFLOW + LIBUSB_TRANSFER_OVERFLOW, + + /* NB! Remember to update libusb_error_name() + when adding new status codes here. */ }; /** \ingroup asyncio @@ -769,7 +863,32 @@ enum libusb_transfer_flags { * If this flag is set, it is illegal to call libusb_free_transfer() * from your transfer callback, as this will result in a double-free * when this flag is acted upon. */ - LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2 + LIBUSB_TRANSFER_FREE_TRANSFER = 1<<2, + + /** Terminate transfers that are a multiple of the endpoint's + * wMaxPacketSize with an extra zero length packet. This is useful + * when a device protocol mandates that each logical request is + * terminated by an incomplete packet (i.e. the logical requests are + * not separated by other means). + * + * This flag only affects host-to-device transfers to bulk and interrupt + * endpoints. In other situations, it is ignored. + * + * This flag only affects transfers with a length that is a multiple of + * the endpoint's wMaxPacketSize. On transfers of other lengths, this + * flag has no effect. Therefore, if you are working with a device that + * needs a ZLP whenever the end of the logical request falls on a packet + * boundary, then it is sensible to set this flag on every + * transfer (you do not have to worry about only setting it on transfers + * that end on the boundary). + * + * This flag is currently only supported on Linux. + * On other systems, libusb_submit_transfer() will return + * LIBUSB_ERROR_NOT_SUPPORTED for every transfer where this flag is set. + * + * Available since libusb-1.0.9. + */ + LIBUSB_TRANSFER_ADD_ZERO_PACKET = 1 << 3, }; /** \ingroup asyncio @@ -791,7 +910,7 @@ struct libusb_transfer; * Asynchronous transfer callback function type. When submitting asynchronous * transfers, you pass a pointer to a callback function of this type via the * \ref libusb_transfer::callback "callback" member of the libusb_transfer - * structure. libusb will call this function later, when the transfer has + * structure. libusbx will call this function later, when the transfer has * completed or failed. See \ref asyncio for more information. * \param transfer The libusb_transfer struct the callback function is being * notified about. @@ -862,11 +981,40 @@ struct libusb_transfer { ; }; +/** \ingroup misc + * Capabilities supported by this instance of libusb. Test if the loaded + * library supports a given capability by calling + * \ref libusb_has_capability(). + */ +enum libusb_capability { + /** The libusb_has_capability() API is available. */ + LIBUSB_CAP_HAS_CAPABILITY = 0, +}; + +/** \ingroup lib + * Log message levels. + * - LIBUSB_LOG_LEVEL_NONE (0) : no messages ever printed by the library (default) + * - LIBUSB_LOG_LEVEL_ERROR (1) : error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_WARNING (2) : warning and error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_INFO (3) : informational messages are printed to stdout, warning + * and error messages are printed to stderr + * - LIBUSB_LOG_LEVEL_DEBUG (4) : debug and informational messages are printed to stdout, + * warnings and errors to stderr + */ +enum libusb_log_level { + LIBUSB_LOG_LEVEL_NONE = 0, + LIBUSB_LOG_LEVEL_ERROR, + LIBUSB_LOG_LEVEL_WARNING, + LIBUSB_LOG_LEVEL_INFO, + LIBUSB_LOG_LEVEL_DEBUG, +}; + int LIBUSB_CALL libusb_init(libusb_context **ctx); void LIBUSB_CALL libusb_exit(libusb_context *ctx); void LIBUSB_CALL libusb_set_debug(libusb_context *ctx, int level); -const char * LIBUSB_CALL libusb_strerror(enum libusb_error errcode); -const struct libusb_version * LIBUSB_CALL libusb_getversion(void); +const struct libusb_version * LIBUSB_CALL libusb_get_version(void); +int LIBUSB_CALL libusb_has_capability(uint32_t capability); +const char * LIBUSB_CALL libusb_error_name(int errcode); ssize_t LIBUSB_CALL libusb_get_device_list(libusb_context *ctx, libusb_device ***list); @@ -892,6 +1040,7 @@ uint8_t LIBUSB_CALL libusb_get_port_number(libusb_device *dev); libusb_device * LIBUSB_CALL libusb_get_parent(libusb_device *dev); int LIBUSB_CALL libusb_get_port_path(libusb_context *ctx, libusb_device *dev, uint8_t* path, uint8_t path_length); uint8_t LIBUSB_CALL libusb_get_device_address(libusb_device *dev); +int LIBUSB_CALL libusb_get_device_speed(libusb_device *dev); int LIBUSB_CALL libusb_get_max_packet_size(libusb_device *dev, unsigned char endpoint); int LIBUSB_CALL libusb_get_max_iso_packet_size(libusb_device *dev, @@ -1276,7 +1425,7 @@ static inline int libusb_get_string_descriptor(libusb_device_handle *dev, uint8_t desc_index, uint16_t langid, unsigned char *data, int length) { return libusb_control_transfer(dev, LIBUSB_ENDPOINT_IN, - LIBUSB_REQUEST_GET_DESCRIPTOR, (LIBUSB_DT_STRING << 8) | desc_index, + LIBUSB_REQUEST_GET_DESCRIPTOR, (uint16_t)((LIBUSB_DT_STRING << 8) | desc_index), langid, data, (uint16_t) length, 1000); } @@ -1296,7 +1445,10 @@ int LIBUSB_CALL libusb_wait_for_event(libusb_context *ctx, struct timeval *tv); int LIBUSB_CALL libusb_handle_events_timeout(libusb_context *ctx, struct timeval *tv); +int LIBUSB_CALL libusb_handle_events_timeout_completed(libusb_context *ctx, + struct timeval *tv, int *completed); int LIBUSB_CALL libusb_handle_events(libusb_context *ctx); +int LIBUSB_CALL libusb_handle_events_completed(libusb_context *ctx, int *completed); int LIBUSB_CALL libusb_handle_events_locked(libusb_context *ctx, struct timeval *tv); int LIBUSB_CALL libusb_pollfds_handle_timeouts(libusb_context *ctx); diff --git a/LibusbJava/libusb/libusb-1.0.def b/LibusbJava/libusb/libusb-1.0.def index b2f3861..6ce2111 100644 --- a/LibusbJava/libusb/libusb-1.0.def +++ b/LibusbJava/libusb/libusb-1.0.def @@ -1,592 +1,126 @@ -LIBRARY -EXPORTS - libusb_alloc_transfer - libusb_alloc_transfer@0 = libusb_alloc_transfer - libusb_alloc_transfer@12 = libusb_alloc_transfer - libusb_alloc_transfer@16 = libusb_alloc_transfer - libusb_alloc_transfer@20 = libusb_alloc_transfer - libusb_alloc_transfer@24 = libusb_alloc_transfer - libusb_alloc_transfer@28 = libusb_alloc_transfer - libusb_alloc_transfer@32 = libusb_alloc_transfer - libusb_alloc_transfer@4 = libusb_alloc_transfer - libusb_alloc_transfer@8 = libusb_alloc_transfer - libusb_attach_kernel_driver - libusb_attach_kernel_driver@0 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@12 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@16 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@20 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@24 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@28 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@32 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@4 = libusb_attach_kernel_driver - libusb_attach_kernel_driver@8 = libusb_attach_kernel_driver - libusb_bulk_transfer - libusb_bulk_transfer@0 = libusb_bulk_transfer - libusb_bulk_transfer@12 = libusb_bulk_transfer - libusb_bulk_transfer@16 = libusb_bulk_transfer - libusb_bulk_transfer@20 = libusb_bulk_transfer - libusb_bulk_transfer@24 = libusb_bulk_transfer - libusb_bulk_transfer@28 = libusb_bulk_transfer - libusb_bulk_transfer@32 = libusb_bulk_transfer - libusb_bulk_transfer@4 = libusb_bulk_transfer - libusb_bulk_transfer@8 = libusb_bulk_transfer - libusb_cancel_transfer - libusb_cancel_transfer@0 = libusb_cancel_transfer - libusb_cancel_transfer@12 = libusb_cancel_transfer - libusb_cancel_transfer@16 = libusb_cancel_transfer - libusb_cancel_transfer@20 = libusb_cancel_transfer - libusb_cancel_transfer@24 = libusb_cancel_transfer - libusb_cancel_transfer@28 = libusb_cancel_transfer - libusb_cancel_transfer@32 = libusb_cancel_transfer - libusb_cancel_transfer@4 = libusb_cancel_transfer - libusb_cancel_transfer@8 = libusb_cancel_transfer - libusb_claim_interface - libusb_claim_interface@0 = libusb_claim_interface - libusb_claim_interface@12 = libusb_claim_interface - libusb_claim_interface@16 = libusb_claim_interface - libusb_claim_interface@20 = libusb_claim_interface - libusb_claim_interface@24 = libusb_claim_interface - libusb_claim_interface@28 = libusb_claim_interface - libusb_claim_interface@32 = libusb_claim_interface - libusb_claim_interface@4 = libusb_claim_interface - libusb_claim_interface@8 = libusb_claim_interface - libusb_clear_halt - libusb_clear_halt@0 = libusb_clear_halt - libusb_clear_halt@12 = libusb_clear_halt - libusb_clear_halt@16 = libusb_clear_halt - libusb_clear_halt@20 = libusb_clear_halt - libusb_clear_halt@24 = libusb_clear_halt - libusb_clear_halt@28 = libusb_clear_halt - libusb_clear_halt@32 = libusb_clear_halt - libusb_clear_halt@4 = libusb_clear_halt - libusb_clear_halt@8 = libusb_clear_halt - libusb_close - libusb_close@0 = libusb_close - libusb_close@12 = libusb_close - libusb_close@16 = libusb_close - libusb_close@20 = libusb_close - libusb_close@24 = libusb_close - libusb_close@28 = libusb_close - libusb_close@32 = libusb_close - libusb_close@4 = libusb_close - libusb_close@8 = libusb_close - libusb_control_transfer - libusb_control_transfer@0 = libusb_control_transfer - libusb_control_transfer@12 = libusb_control_transfer - libusb_control_transfer@16 = libusb_control_transfer - libusb_control_transfer@20 = libusb_control_transfer - libusb_control_transfer@24 = libusb_control_transfer - libusb_control_transfer@28 = libusb_control_transfer - libusb_control_transfer@32 = libusb_control_transfer - libusb_control_transfer@4 = libusb_control_transfer - libusb_control_transfer@8 = libusb_control_transfer - libusb_detach_kernel_driver - libusb_detach_kernel_driver@0 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@12 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@16 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@20 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@24 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@28 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@32 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@4 = libusb_detach_kernel_driver - libusb_detach_kernel_driver@8 = libusb_detach_kernel_driver - libusb_event_handler_active - libusb_event_handler_active@0 = libusb_event_handler_active - libusb_event_handler_active@12 = libusb_event_handler_active - libusb_event_handler_active@16 = libusb_event_handler_active - libusb_event_handler_active@20 = libusb_event_handler_active - libusb_event_handler_active@24 = libusb_event_handler_active - libusb_event_handler_active@28 = libusb_event_handler_active - libusb_event_handler_active@32 = libusb_event_handler_active - libusb_event_handler_active@4 = libusb_event_handler_active - libusb_event_handler_active@8 = libusb_event_handler_active - libusb_event_handling_ok - libusb_event_handling_ok@0 = libusb_event_handling_ok - libusb_event_handling_ok@12 = libusb_event_handling_ok - libusb_event_handling_ok@16 = libusb_event_handling_ok - libusb_event_handling_ok@20 = libusb_event_handling_ok - libusb_event_handling_ok@24 = libusb_event_handling_ok - libusb_event_handling_ok@28 = libusb_event_handling_ok - libusb_event_handling_ok@32 = libusb_event_handling_ok - libusb_event_handling_ok@4 = libusb_event_handling_ok - libusb_event_handling_ok@8 = libusb_event_handling_ok - libusb_exit - libusb_exit@0 = libusb_exit - libusb_exit@12 = libusb_exit - libusb_exit@16 = libusb_exit - libusb_exit@20 = libusb_exit - libusb_exit@24 = libusb_exit - libusb_exit@28 = libusb_exit - libusb_exit@32 = libusb_exit - libusb_exit@4 = libusb_exit - libusb_exit@8 = libusb_exit - libusb_free_config_descriptor - libusb_free_config_descriptor@0 = libusb_free_config_descriptor - libusb_free_config_descriptor@12 = libusb_free_config_descriptor - libusb_free_config_descriptor@16 = libusb_free_config_descriptor - libusb_free_config_descriptor@20 = libusb_free_config_descriptor - libusb_free_config_descriptor@24 = libusb_free_config_descriptor - libusb_free_config_descriptor@28 = libusb_free_config_descriptor - libusb_free_config_descriptor@32 = libusb_free_config_descriptor - libusb_free_config_descriptor@4 = libusb_free_config_descriptor - libusb_free_config_descriptor@8 = libusb_free_config_descriptor - libusb_free_device_list - libusb_free_device_list@0 = libusb_free_device_list - libusb_free_device_list@12 = libusb_free_device_list - libusb_free_device_list@16 = libusb_free_device_list - libusb_free_device_list@20 = libusb_free_device_list - libusb_free_device_list@24 = libusb_free_device_list - libusb_free_device_list@28 = libusb_free_device_list - libusb_free_device_list@32 = libusb_free_device_list - libusb_free_device_list@4 = libusb_free_device_list - libusb_free_device_list@8 = libusb_free_device_list - libusb_free_transfer - libusb_free_transfer@0 = libusb_free_transfer - libusb_free_transfer@12 = libusb_free_transfer - libusb_free_transfer@16 = libusb_free_transfer - libusb_free_transfer@20 = libusb_free_transfer - libusb_free_transfer@24 = libusb_free_transfer - libusb_free_transfer@28 = libusb_free_transfer - libusb_free_transfer@32 = libusb_free_transfer - libusb_free_transfer@4 = libusb_free_transfer - libusb_free_transfer@8 = libusb_free_transfer - libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@0 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@12 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@16 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@20 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@24 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@28 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@32 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@4 = libusb_get_active_config_descriptor - libusb_get_active_config_descriptor@8 = libusb_get_active_config_descriptor - libusb_get_bus_number - libusb_get_bus_number@0 = libusb_get_bus_number - libusb_get_bus_number@12 = libusb_get_bus_number - libusb_get_bus_number@16 = libusb_get_bus_number - libusb_get_bus_number@20 = libusb_get_bus_number - libusb_get_bus_number@24 = libusb_get_bus_number - libusb_get_bus_number@28 = libusb_get_bus_number - libusb_get_bus_number@32 = libusb_get_bus_number - libusb_get_bus_number@4 = libusb_get_bus_number - libusb_get_bus_number@8 = libusb_get_bus_number - libusb_get_config_descriptor - libusb_get_config_descriptor@0 = libusb_get_config_descriptor - libusb_get_config_descriptor@12 = libusb_get_config_descriptor - libusb_get_config_descriptor@16 = libusb_get_config_descriptor - libusb_get_config_descriptor@20 = libusb_get_config_descriptor - libusb_get_config_descriptor@24 = libusb_get_config_descriptor - libusb_get_config_descriptor@28 = libusb_get_config_descriptor - libusb_get_config_descriptor@32 = libusb_get_config_descriptor - libusb_get_config_descriptor@4 = libusb_get_config_descriptor - libusb_get_config_descriptor@8 = libusb_get_config_descriptor - libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@0 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@12 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@16 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@20 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@24 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@28 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@32 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@4 = libusb_get_config_descriptor_by_value - libusb_get_config_descriptor_by_value@8 = libusb_get_config_descriptor_by_value - libusb_get_configuration - libusb_get_configuration@0 = libusb_get_configuration - libusb_get_configuration@12 = libusb_get_configuration - libusb_get_configuration@16 = libusb_get_configuration - libusb_get_configuration@20 = libusb_get_configuration - libusb_get_configuration@24 = libusb_get_configuration - libusb_get_configuration@28 = libusb_get_configuration - libusb_get_configuration@32 = libusb_get_configuration - libusb_get_configuration@4 = libusb_get_configuration - libusb_get_configuration@8 = libusb_get_configuration - libusb_get_device - libusb_get_device@0 = libusb_get_device - libusb_get_device@12 = libusb_get_device - libusb_get_device@16 = libusb_get_device - libusb_get_device@20 = libusb_get_device - libusb_get_device@24 = libusb_get_device - libusb_get_device@28 = libusb_get_device - libusb_get_device@32 = libusb_get_device - libusb_get_device@4 = libusb_get_device - libusb_get_device@8 = libusb_get_device - libusb_get_device_address - libusb_get_device_address@0 = libusb_get_device_address - libusb_get_device_address@12 = libusb_get_device_address - libusb_get_device_address@16 = libusb_get_device_address - libusb_get_device_address@20 = libusb_get_device_address - libusb_get_device_address@24 = libusb_get_device_address - libusb_get_device_address@28 = libusb_get_device_address - libusb_get_device_address@32 = libusb_get_device_address - libusb_get_device_address@4 = libusb_get_device_address - libusb_get_device_address@8 = libusb_get_device_address - libusb_get_device_descriptor - libusb_get_device_descriptor@0 = libusb_get_device_descriptor - libusb_get_device_descriptor@12 = libusb_get_device_descriptor - libusb_get_device_descriptor@16 = libusb_get_device_descriptor - libusb_get_device_descriptor@20 = libusb_get_device_descriptor - libusb_get_device_descriptor@24 = libusb_get_device_descriptor - libusb_get_device_descriptor@28 = libusb_get_device_descriptor - libusb_get_device_descriptor@32 = libusb_get_device_descriptor - libusb_get_device_descriptor@4 = libusb_get_device_descriptor - libusb_get_device_descriptor@8 = libusb_get_device_descriptor - libusb_get_device_list - libusb_get_device_list@0 = libusb_get_device_list - libusb_get_device_list@12 = libusb_get_device_list - libusb_get_device_list@16 = libusb_get_device_list - libusb_get_device_list@20 = libusb_get_device_list - libusb_get_device_list@24 = libusb_get_device_list - libusb_get_device_list@28 = libusb_get_device_list - libusb_get_device_list@32 = libusb_get_device_list - libusb_get_device_list@4 = libusb_get_device_list - libusb_get_device_list@8 = libusb_get_device_list - libusb_get_device_speed - libusb_get_device_speed@0 = libusb_get_device_speed - libusb_get_device_speed@12 = libusb_get_device_speed - libusb_get_device_speed@16 = libusb_get_device_speed - libusb_get_device_speed@20 = libusb_get_device_speed - libusb_get_device_speed@24 = libusb_get_device_speed - libusb_get_device_speed@28 = libusb_get_device_speed - libusb_get_device_speed@32 = libusb_get_device_speed - libusb_get_device_speed@4 = libusb_get_device_speed - libusb_get_device_speed@8 = libusb_get_device_speed - libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@0 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@12 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@16 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@20 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@24 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@28 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@32 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@4 = libusb_get_max_iso_packet_size - libusb_get_max_iso_packet_size@8 = libusb_get_max_iso_packet_size - libusb_get_max_packet_size - libusb_get_max_packet_size@0 = libusb_get_max_packet_size - libusb_get_max_packet_size@12 = libusb_get_max_packet_size - libusb_get_max_packet_size@16 = libusb_get_max_packet_size - libusb_get_max_packet_size@20 = libusb_get_max_packet_size - libusb_get_max_packet_size@24 = libusb_get_max_packet_size - libusb_get_max_packet_size@28 = libusb_get_max_packet_size - libusb_get_max_packet_size@32 = libusb_get_max_packet_size - libusb_get_max_packet_size@4 = libusb_get_max_packet_size - libusb_get_max_packet_size@8 = libusb_get_max_packet_size - libusb_get_next_timeout - libusb_get_next_timeout@0 = libusb_get_next_timeout - libusb_get_next_timeout@12 = libusb_get_next_timeout - libusb_get_next_timeout@16 = libusb_get_next_timeout - libusb_get_next_timeout@20 = libusb_get_next_timeout - libusb_get_next_timeout@24 = libusb_get_next_timeout - libusb_get_next_timeout@28 = libusb_get_next_timeout - libusb_get_next_timeout@32 = libusb_get_next_timeout - libusb_get_next_timeout@4 = libusb_get_next_timeout - libusb_get_next_timeout@8 = libusb_get_next_timeout - libusb_get_parent - libusb_get_parent@0 = libusb_get_parent - libusb_get_parent@12 = libusb_get_parent - libusb_get_parent@16 = libusb_get_parent - libusb_get_parent@20 = libusb_get_parent - libusb_get_parent@24 = libusb_get_parent - libusb_get_parent@28 = libusb_get_parent - libusb_get_parent@32 = libusb_get_parent - libusb_get_parent@4 = libusb_get_parent - libusb_get_parent@8 = libusb_get_parent - libusb_get_pollfds - libusb_get_pollfds@0 = libusb_get_pollfds - libusb_get_pollfds@12 = libusb_get_pollfds - libusb_get_pollfds@16 = libusb_get_pollfds - libusb_get_pollfds@20 = libusb_get_pollfds - libusb_get_pollfds@24 = libusb_get_pollfds - libusb_get_pollfds@28 = libusb_get_pollfds - libusb_get_pollfds@32 = libusb_get_pollfds - libusb_get_pollfds@4 = libusb_get_pollfds - libusb_get_pollfds@8 = libusb_get_pollfds - libusb_get_port_number - libusb_get_port_number@0 = libusb_get_port_number - libusb_get_port_number@12 = libusb_get_port_number - libusb_get_port_number@16 = libusb_get_port_number - libusb_get_port_number@20 = libusb_get_port_number - libusb_get_port_number@24 = libusb_get_port_number - libusb_get_port_number@28 = libusb_get_port_number - libusb_get_port_number@32 = libusb_get_port_number - libusb_get_port_number@4 = libusb_get_port_number - libusb_get_port_number@8 = libusb_get_port_number - libusb_get_port_path - libusb_get_port_path@0 = libusb_get_port_path - libusb_get_port_path@12 = libusb_get_port_path - libusb_get_port_path@16 = libusb_get_port_path - libusb_get_port_path@20 = libusb_get_port_path - libusb_get_port_path@24 = libusb_get_port_path - libusb_get_port_path@28 = libusb_get_port_path - libusb_get_port_path@32 = libusb_get_port_path - libusb_get_port_path@4 = libusb_get_port_path - libusb_get_port_path@8 = libusb_get_port_path - libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@0 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@12 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@16 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@20 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@24 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@28 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@32 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@4 = libusb_get_string_descriptor_ascii - libusb_get_string_descriptor_ascii@8 = libusb_get_string_descriptor_ascii - libusb_getversion - libusb_getversion@0 = libusb_getversion - libusb_getversion@12 = libusb_getversion - libusb_getversion@16 = libusb_getversion - libusb_getversion@20 = libusb_getversion - libusb_getversion@24 = libusb_getversion - libusb_getversion@28 = libusb_getversion - libusb_getversion@32 = libusb_getversion - libusb_getversion@4 = libusb_getversion - libusb_getversion@8 = libusb_getversion - libusb_handle_events - libusb_handle_events@0 = libusb_handle_events - libusb_handle_events@12 = libusb_handle_events - libusb_handle_events@16 = libusb_handle_events - libusb_handle_events@20 = libusb_handle_events - libusb_handle_events@24 = libusb_handle_events - libusb_handle_events@28 = libusb_handle_events - libusb_handle_events@32 = libusb_handle_events - libusb_handle_events@4 = libusb_handle_events - libusb_handle_events@8 = libusb_handle_events - libusb_handle_events_locked - libusb_handle_events_locked@0 = libusb_handle_events_locked - libusb_handle_events_locked@12 = libusb_handle_events_locked - libusb_handle_events_locked@16 = libusb_handle_events_locked - libusb_handle_events_locked@20 = libusb_handle_events_locked - libusb_handle_events_locked@24 = libusb_handle_events_locked - libusb_handle_events_locked@28 = libusb_handle_events_locked - libusb_handle_events_locked@32 = libusb_handle_events_locked - libusb_handle_events_locked@4 = libusb_handle_events_locked - libusb_handle_events_locked@8 = libusb_handle_events_locked - libusb_handle_events_timeout - libusb_handle_events_timeout@0 = libusb_handle_events_timeout - libusb_handle_events_timeout@12 = libusb_handle_events_timeout - libusb_handle_events_timeout@16 = libusb_handle_events_timeout - libusb_handle_events_timeout@20 = libusb_handle_events_timeout - libusb_handle_events_timeout@24 = libusb_handle_events_timeout - libusb_handle_events_timeout@28 = libusb_handle_events_timeout - libusb_handle_events_timeout@32 = libusb_handle_events_timeout - libusb_handle_events_timeout@4 = libusb_handle_events_timeout - libusb_handle_events_timeout@8 = libusb_handle_events_timeout - libusb_init - libusb_init@0 = libusb_init - libusb_init@12 = libusb_init - libusb_init@16 = libusb_init - libusb_init@20 = libusb_init - libusb_init@24 = libusb_init - libusb_init@28 = libusb_init - libusb_init@32 = libusb_init - libusb_init@4 = libusb_init - libusb_init@8 = libusb_init - libusb_interrupt_transfer - libusb_interrupt_transfer@0 = libusb_interrupt_transfer - libusb_interrupt_transfer@12 = libusb_interrupt_transfer - libusb_interrupt_transfer@16 = libusb_interrupt_transfer - libusb_interrupt_transfer@20 = libusb_interrupt_transfer - libusb_interrupt_transfer@24 = libusb_interrupt_transfer - libusb_interrupt_transfer@28 = libusb_interrupt_transfer - libusb_interrupt_transfer@32 = libusb_interrupt_transfer - libusb_interrupt_transfer@4 = libusb_interrupt_transfer - libusb_interrupt_transfer@8 = libusb_interrupt_transfer - libusb_kernel_driver_active - libusb_kernel_driver_active@0 = libusb_kernel_driver_active - libusb_kernel_driver_active@12 = libusb_kernel_driver_active - libusb_kernel_driver_active@16 = libusb_kernel_driver_active - libusb_kernel_driver_active@20 = libusb_kernel_driver_active - libusb_kernel_driver_active@24 = libusb_kernel_driver_active - libusb_kernel_driver_active@28 = libusb_kernel_driver_active - libusb_kernel_driver_active@32 = libusb_kernel_driver_active - libusb_kernel_driver_active@4 = libusb_kernel_driver_active - libusb_kernel_driver_active@8 = libusb_kernel_driver_active - libusb_lock_event_waiters - libusb_lock_event_waiters@0 = libusb_lock_event_waiters - libusb_lock_event_waiters@12 = libusb_lock_event_waiters - libusb_lock_event_waiters@16 = libusb_lock_event_waiters - libusb_lock_event_waiters@20 = libusb_lock_event_waiters - libusb_lock_event_waiters@24 = libusb_lock_event_waiters - libusb_lock_event_waiters@28 = libusb_lock_event_waiters - libusb_lock_event_waiters@32 = libusb_lock_event_waiters - libusb_lock_event_waiters@4 = libusb_lock_event_waiters - libusb_lock_event_waiters@8 = libusb_lock_event_waiters - libusb_lock_events - libusb_lock_events@0 = libusb_lock_events - libusb_lock_events@12 = libusb_lock_events - libusb_lock_events@16 = libusb_lock_events - libusb_lock_events@20 = libusb_lock_events - libusb_lock_events@24 = libusb_lock_events - libusb_lock_events@28 = libusb_lock_events - libusb_lock_events@32 = libusb_lock_events - libusb_lock_events@4 = libusb_lock_events - libusb_lock_events@8 = libusb_lock_events - libusb_open - libusb_open@0 = libusb_open - libusb_open@12 = libusb_open - libusb_open@16 = libusb_open - libusb_open@20 = libusb_open - libusb_open@24 = libusb_open - libusb_open@28 = libusb_open - libusb_open@32 = libusb_open - libusb_open@4 = libusb_open - libusb_open@8 = libusb_open - libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@0 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@12 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@16 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@20 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@24 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@28 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@32 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@4 = libusb_open_device_with_vid_pid - libusb_open_device_with_vid_pid@8 = libusb_open_device_with_vid_pid - libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@0 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@12 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@16 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@20 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@24 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@28 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@32 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@4 = libusb_pollfds_handle_timeouts - libusb_pollfds_handle_timeouts@8 = libusb_pollfds_handle_timeouts - libusb_ref_device - libusb_ref_device@0 = libusb_ref_device - libusb_ref_device@12 = libusb_ref_device - libusb_ref_device@16 = libusb_ref_device - libusb_ref_device@20 = libusb_ref_device - libusb_ref_device@24 = libusb_ref_device - libusb_ref_device@28 = libusb_ref_device - libusb_ref_device@32 = libusb_ref_device - libusb_ref_device@4 = libusb_ref_device - libusb_ref_device@8 = libusb_ref_device - libusb_release_interface - libusb_release_interface@0 = libusb_release_interface - libusb_release_interface@12 = libusb_release_interface - libusb_release_interface@16 = libusb_release_interface - libusb_release_interface@20 = libusb_release_interface - libusb_release_interface@24 = libusb_release_interface - libusb_release_interface@28 = libusb_release_interface - libusb_release_interface@32 = libusb_release_interface - libusb_release_interface@4 = libusb_release_interface - libusb_release_interface@8 = libusb_release_interface - libusb_reset_device - libusb_reset_device@0 = libusb_reset_device - libusb_reset_device@12 = libusb_reset_device - libusb_reset_device@16 = libusb_reset_device - libusb_reset_device@20 = libusb_reset_device - libusb_reset_device@24 = libusb_reset_device - libusb_reset_device@28 = libusb_reset_device - libusb_reset_device@32 = libusb_reset_device - libusb_reset_device@4 = libusb_reset_device - libusb_reset_device@8 = libusb_reset_device - libusb_set_configuration - libusb_set_configuration@0 = libusb_set_configuration - libusb_set_configuration@12 = libusb_set_configuration - libusb_set_configuration@16 = libusb_set_configuration - libusb_set_configuration@20 = libusb_set_configuration - libusb_set_configuration@24 = libusb_set_configuration - libusb_set_configuration@28 = libusb_set_configuration - libusb_set_configuration@32 = libusb_set_configuration - libusb_set_configuration@4 = libusb_set_configuration - libusb_set_configuration@8 = libusb_set_configuration - libusb_set_debug - libusb_set_debug@0 = libusb_set_debug - libusb_set_debug@12 = libusb_set_debug - libusb_set_debug@16 = libusb_set_debug - libusb_set_debug@20 = libusb_set_debug - libusb_set_debug@24 = libusb_set_debug - libusb_set_debug@28 = libusb_set_debug - libusb_set_debug@32 = libusb_set_debug - libusb_set_debug@4 = libusb_set_debug - libusb_set_debug@8 = libusb_set_debug - libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@0 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@12 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@16 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@20 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@24 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@28 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@32 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@4 = libusb_set_interface_alt_setting - libusb_set_interface_alt_setting@8 = libusb_set_interface_alt_setting - libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@0 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@12 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@16 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@20 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@24 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@28 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@32 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@4 = libusb_set_pollfd_notifiers - libusb_set_pollfd_notifiers@8 = libusb_set_pollfd_notifiers - libusb_strerror - libusb_strerror@0 = libusb_strerror - libusb_strerror@12 = libusb_strerror - libusb_strerror@16 = libusb_strerror - libusb_strerror@20 = libusb_strerror - libusb_strerror@24 = libusb_strerror - libusb_strerror@28 = libusb_strerror - libusb_strerror@32 = libusb_strerror - libusb_strerror@4 = libusb_strerror - libusb_strerror@8 = libusb_strerror - libusb_submit_transfer - libusb_submit_transfer@0 = libusb_submit_transfer - libusb_submit_transfer@12 = libusb_submit_transfer - libusb_submit_transfer@16 = libusb_submit_transfer - libusb_submit_transfer@20 = libusb_submit_transfer - libusb_submit_transfer@24 = libusb_submit_transfer - libusb_submit_transfer@28 = libusb_submit_transfer - libusb_submit_transfer@32 = libusb_submit_transfer - libusb_submit_transfer@4 = libusb_submit_transfer - libusb_submit_transfer@8 = libusb_submit_transfer - libusb_try_lock_events - libusb_try_lock_events@0 = libusb_try_lock_events - libusb_try_lock_events@12 = libusb_try_lock_events - libusb_try_lock_events@16 = libusb_try_lock_events - libusb_try_lock_events@20 = libusb_try_lock_events - libusb_try_lock_events@24 = libusb_try_lock_events - libusb_try_lock_events@28 = libusb_try_lock_events - libusb_try_lock_events@32 = libusb_try_lock_events - libusb_try_lock_events@4 = libusb_try_lock_events - libusb_try_lock_events@8 = libusb_try_lock_events - libusb_unlock_event_waiters - libusb_unlock_event_waiters@0 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@12 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@16 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@20 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@24 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@28 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@32 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@4 = libusb_unlock_event_waiters - libusb_unlock_event_waiters@8 = libusb_unlock_event_waiters - libusb_unlock_events - libusb_unlock_events@0 = libusb_unlock_events - libusb_unlock_events@12 = libusb_unlock_events - libusb_unlock_events@16 = libusb_unlock_events - libusb_unlock_events@20 = libusb_unlock_events - libusb_unlock_events@24 = libusb_unlock_events - libusb_unlock_events@28 = libusb_unlock_events - libusb_unlock_events@32 = libusb_unlock_events - libusb_unlock_events@4 = libusb_unlock_events - libusb_unlock_events@8 = libusb_unlock_events - libusb_unref_device - libusb_unref_device@0 = libusb_unref_device - libusb_unref_device@12 = libusb_unref_device - libusb_unref_device@16 = libusb_unref_device - libusb_unref_device@20 = libusb_unref_device - libusb_unref_device@24 = libusb_unref_device - libusb_unref_device@28 = libusb_unref_device - libusb_unref_device@32 = libusb_unref_device - libusb_unref_device@4 = libusb_unref_device - libusb_unref_device@8 = libusb_unref_device - libusb_wait_for_event - libusb_wait_for_event@0 = libusb_wait_for_event - libusb_wait_for_event@12 = libusb_wait_for_event - libusb_wait_for_event@16 = libusb_wait_for_event - libusb_wait_for_event@20 = libusb_wait_for_event - libusb_wait_for_event@24 = libusb_wait_for_event - libusb_wait_for_event@28 = libusb_wait_for_event - libusb_wait_for_event@32 = libusb_wait_for_event - libusb_wait_for_event@4 = libusb_wait_for_event - libusb_wait_for_event@8 = libusb_wait_for_event +LIBRARY "libusb-1.0.dll" +EXPORTS + libusb_alloc_transfer + libusb_alloc_transfer@4 = libusb_alloc_transfer + libusb_attach_kernel_driver + libusb_attach_kernel_driver@8 = libusb_attach_kernel_driver + libusb_bulk_transfer + libusb_bulk_transfer@24 = libusb_bulk_transfer + libusb_cancel_transfer + libusb_cancel_transfer@4 = libusb_cancel_transfer + libusb_claim_interface + libusb_claim_interface@8 = libusb_claim_interface + libusb_clear_halt + libusb_clear_halt@8 = libusb_clear_halt + libusb_close + libusb_close@4 = libusb_close + libusb_control_transfer + libusb_control_transfer@32 = libusb_control_transfer + libusb_detach_kernel_driver + libusb_detach_kernel_driver@8 = libusb_detach_kernel_driver + libusb_error_name + libusb_error_name@4 = libusb_error_name + libusb_event_handler_active + libusb_event_handler_active@4 = libusb_event_handler_active + libusb_event_handling_ok + libusb_event_handling_ok@4 = libusb_event_handling_ok + libusb_exit + libusb_exit@4 = libusb_exit + libusb_free_config_descriptor + libusb_free_config_descriptor@4 = libusb_free_config_descriptor + libusb_free_device_list + libusb_free_device_list@8 = libusb_free_device_list + libusb_free_transfer + libusb_free_transfer@4 = libusb_free_transfer + libusb_get_active_config_descriptor + libusb_get_active_config_descriptor@8 = libusb_get_active_config_descriptor + libusb_get_bus_number + libusb_get_bus_number@4 = libusb_get_bus_number + libusb_get_config_descriptor + libusb_get_config_descriptor@12 = libusb_get_config_descriptor + libusb_get_config_descriptor_by_value + libusb_get_config_descriptor_by_value@12 = libusb_get_config_descriptor_by_value + libusb_get_configuration + libusb_get_configuration@8 = libusb_get_configuration + libusb_get_device + libusb_get_device@4 = libusb_get_device + libusb_get_device_address + libusb_get_device_address@4 = libusb_get_device_address + libusb_get_device_descriptor + libusb_get_device_descriptor@8 = libusb_get_device_descriptor + libusb_get_device_list + libusb_get_device_list@8 = libusb_get_device_list + libusb_get_device_speed + libusb_get_device_speed@4 = libusb_get_device_speed + libusb_get_max_iso_packet_size + libusb_get_max_iso_packet_size@8 = libusb_get_max_iso_packet_size + libusb_get_max_packet_size + libusb_get_max_packet_size@8 = libusb_get_max_packet_size + libusb_get_next_timeout + libusb_get_next_timeout@8 = libusb_get_next_timeout + libusb_get_parent + libusb_get_parent@4 = libusb_get_parent + libusb_get_pollfds + libusb_get_pollfds@4 = libusb_get_pollfds + libusb_get_port_number + libusb_get_port_number@4 = libusb_get_port_number + libusb_get_port_path + libusb_get_port_path@16 = libusb_get_port_path + libusb_get_string_descriptor_ascii + libusb_get_string_descriptor_ascii@16 = libusb_get_string_descriptor_ascii + libusb_get_version + libusb_get_version@0 = libusb_get_version + libusb_handle_events + libusb_handle_events@4 = libusb_handle_events + libusb_handle_events_completed + libusb_handle_events_completed@8 = libusb_handle_events_completed + libusb_handle_events_locked + libusb_handle_events_locked@8 = libusb_handle_events_locked + libusb_handle_events_timeout + libusb_handle_events_timeout@8 = libusb_handle_events_timeout + libusb_handle_events_timeout_completed + libusb_handle_events_timeout_completed@12 = libusb_handle_events_timeout_completed + libusb_has_capability + libusb_has_capability@4 = libusb_has_capability + libusb_init + libusb_init@4 = libusb_init + libusb_interrupt_transfer + libusb_interrupt_transfer@24 = libusb_interrupt_transfer + libusb_kernel_driver_active + libusb_kernel_driver_active@8 = libusb_kernel_driver_active + libusb_lock_event_waiters + libusb_lock_event_waiters@4 = libusb_lock_event_waiters + libusb_lock_events + libusb_lock_events@4 = libusb_lock_events + libusb_open + libusb_open@8 = libusb_open + libusb_open_device_with_vid_pid + libusb_open_device_with_vid_pid@12 = libusb_open_device_with_vid_pid + libusb_pollfds_handle_timeouts + libusb_pollfds_handle_timeouts@4 = libusb_pollfds_handle_timeouts + libusb_ref_device + libusb_ref_device@4 = libusb_ref_device + libusb_release_interface + libusb_release_interface@8 = libusb_release_interface + libusb_reset_device + libusb_reset_device@4 = libusb_reset_device + libusb_set_configuration + libusb_set_configuration@8 = libusb_set_configuration + libusb_set_debug + libusb_set_debug@8 = libusb_set_debug + libusb_set_interface_alt_setting + libusb_set_interface_alt_setting@12 = libusb_set_interface_alt_setting + libusb_set_pollfd_notifiers + libusb_set_pollfd_notifiers@16 = libusb_set_pollfd_notifiers + libusb_submit_transfer + libusb_submit_transfer@4 = libusb_submit_transfer + libusb_try_lock_events + libusb_try_lock_events@4 = libusb_try_lock_events + libusb_unlock_event_waiters + libusb_unlock_event_waiters@4 = libusb_unlock_event_waiters + libusb_unlock_events + libusb_unlock_events@4 = libusb_unlock_events + libusb_unref_device + libusb_unref_device@4 = libusb_unref_device + libusb_wait_for_event + libusb_wait_for_event@8 = libusb_wait_for_event