aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/version_c.cpp
diff options
context:
space:
mode:
authorNicholas Corgan <nicholas.corgan@ni.com>2019-04-29 20:22:39 -0500
committerMartin Braun <martin.braun@ettus.com>2019-05-02 08:36:44 -0700
commit918e4ff20c4e843b5b32d27274fbe558ec1b0000 (patch)
tree445f6ab9c2b7cfaaafeed2b606fe1ac3b63f0c2f /host/lib/version_c.cpp
parent436df1087b0f26ee9a3990e3a575c94e43c34293 (diff)
downloaduhd-918e4ff20c4e843b5b32d27274fbe558ec1b0000.tar.gz
uhd-918e4ff20c4e843b5b32d27274fbe558ec1b0000.tar.bz2
uhd-918e4ff20c4e843b5b32d27274fbe558ec1b0000.zip
C: Add uhd_get_abi_string, uhd_get_version_string
Clients that include the UHD C headers have access to the version and ABI #defines, but this is not available to clients that dynamically load the library. This commit adds publicly exported functions to provide this information.
Diffstat (limited to 'host/lib/version_c.cpp')
-rw-r--r--host/lib/version_c.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/host/lib/version_c.cpp b/host/lib/version_c.cpp
new file mode 100644
index 000000000..2897a6407
--- /dev/null
+++ b/host/lib/version_c.cpp
@@ -0,0 +1,34 @@
+//
+// Copyright 2019 Ettus Research, a National Instruments Brand
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+//
+
+#include <uhd/version.h>
+#include <uhd/version.hpp>
+
+#include <string.h>
+
+uhd_error uhd_get_abi_string(
+ char* abi_string_out,
+ size_t buffer_len
+){
+ UHD_SAFE_C(
+ const std::string cpp_abi_string = uhd::get_abi_string();
+
+ memset(abi_string_out, 0, buffer_len);
+ strncpy(abi_string_out, cpp_abi_string.c_str(), buffer_len);
+ )
+}
+
+uhd_error uhd_get_version_string(
+ char* version_out,
+ size_t buffer_len
+){
+ UHD_SAFE_C(
+ const std::string cpp_version = uhd::get_version_string();
+
+ memset(version_out, 0, buffer_len);
+ strncpy(version_out, cpp_version.c_str(), buffer_len);
+ )
+}