From 9d368fc4774344d81ab02840f3a8478301bfb6fa Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Sat, 15 Sep 2012 23:57:21 +0100 Subject: [PATCH] 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. --- libusb/libusb.h | 23 +++++++++++++++++++++++ libusb/version_nano.h | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/libusb/libusb.h b/libusb/libusb.h index b166126..fd1a210 100644 --- a/libusb/libusb.h +++ b/libusb/libusb.h @@ -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 diff --git a/libusb/version_nano.h b/libusb/version_nano.h index dc44fe4..b4791e4 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 10567 +#define LIBUSB_NANO 10568 -- 2.11.4.GIT