Add wimlib_get_version()
authorEric Biggers <ebiggers3@gmail.com>
Fri, 17 Jan 2014 03:19:05 +0000 (21:19 -0600)
committerEric Biggers <ebiggers3@gmail.com>
Fri, 17 Jan 2014 03:19:05 +0000 (21:19 -0600)
This allows an application to query the version number at runtime.

include/wimlib.h
src/wim.c

index 5b164b6..d039895 100644 (file)
@@ -2677,6 +2677,19 @@ wimlib_get_image_description(const WIMStruct *wim, int image);
 extern const wimlib_tchar *
 wimlib_get_image_name(const WIMStruct *wim, int image);
 
+/**
+ * @ingroup G_general
+ *
+ * Returns the version of wimlib as a 32-bit number whose top 12 bits contain
+ * the major version, the next 10 bits contain the minor version, and the low 10
+ * bits contain the patch version.
+ *
+ * In other words, the returned value is equal to <code>((WIMLIB_MAJOR_VERSION
+ * << 22) | (WIMLIB_MINOR_VERSION << 10) | WIMLIB_PATCH_VERSION)</code> for the
+ * corresponding header file.
+ */
+extern uint32_t
+wimlib_get_version(void);
 
 /**
  * @ingroup G_wim_information
index febc68a..292f4cd 100644 (file)
--- a/src/wim.c
+++ b/src/wim.c
@@ -40,6 +40,7 @@
 #include "wimlib/xml.h"
 #include "wimlib/compressor_ops.h"
 #include "wimlib/decompressor_ops.h"
+#include "wimlib/version.h"
 
 #ifdef __WIN32__
 #  include "wimlib/win32.h" /* for realpath() replacement */
@@ -978,6 +979,13 @@ test_locale_ctype_utf8(void)
 }
 
 /* API function documented in wimlib.h  */
+WIMLIBAPI u32
+wimlib_get_version(void)
+{
+       return WIMLIB_VERSION_CODE;
+}
+
+/* API function documented in wimlib.h  */
 WIMLIBAPI int
 wimlib_global_init(int init_flags)
 {