Macro for testing the version you are compiling with

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
This commit is contained in:
Doug Goldstein 2013-11-13 10:46:03 -06:00
parent 784bb73eaa
commit 6ce83e91e6

View File

@ -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);