Added a macro similar to the GLib's GLIB_CHECK_VERSION so that one can
simply do something like:
#if LIBVIR_CHECK_VERSION(1,1,3)
/* Call function here that appeared in 1.1.3 and newer */
virSomeNewFunction();
#endif
---
v3: rename from LIBVIRT_CHECK_VERSION to LIBVIR_CHECK_VERSION
v2: Change from Linux kernel style macro to GLib style macro
---
include/libvirt/libvirt.h.in | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index d656634..146a59b 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -1466,6 +1466,22 @@ VIR_EXPORT_VAR virConnectAuthPtr virConnectAuthPtrDefault;
#define LIBVIR_VERSION_NUMBER @LIBVIRT_VERSION_NUMBER@
+/**
+ * LIBVIR_CHECK_VERSION:
+ * @major: major component of the version number
+ * @minor: minor component of the version number
+ * @micro: micro component of the version number
+ *
+ * Macro for developers to easily check what version of the library
+ * their code is compiling against.
+ * e.g.
+ * #if LIBVIR_CHECK_VERSION(1,1,3)
+ * // some code that only works in 1.1.3 and newer
+ * #endif
+ */
+#define LIBVIR_CHECK_VERSION(major, minor, micro) \
+ ((major) * 1000000 + (minor) * 1000 + (micro) <= LIBVIR_VERSION_NUMBER)
+
int virGetVersion (unsigned long *libVer,
const char *type,
unsigned long *typeVer);
--
1.8.3.2