Core: Introduce LIBUSBX_API_VERSION macro

* This macro can be used to detect if the version of libusbx being
  compiled against has a specific API feature, as well as to detect
  whether compilation occurs against libusb or libusbx.
This commit is contained in:
Pete Batard
2012-09-15 23:57:21 +01:00
parent 75b94b24cf
commit 9d368fc477
2 changed files with 24 additions and 1 deletions
+23
View File
@@ -107,6 +107,29 @@ typedef unsigned __int32 uint32_t;
#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:
* #if defined(LIBUSBX_API_VERSION) && (LIBUSBX_API_VERSION >= 0x01001234)
* // Use one of the newer features from the libusbx API
* #endif
*
* 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 0x01000100
#ifdef __cplusplus
extern "C" {
#endif
+1 -1
View File
@@ -1 +1 @@
#define LIBUSB_NANO 10567
#define LIBUSB_NANO 10568