summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTimur Alperovich <timuralp@swiftstack.com>2016-03-07 15:02:53 -0800
committerTimur Alperovich <timuralp@swiftstack.com>2016-03-08 22:06:19 -0800
commitc7a94df0724af30b26e3856f9c14344fc9b73a09 (patch)
tree62d1f0b4d5de236303a9c7f659eb48f916ed0f50 /include
parent1785a5894151a8422020516797655be4024dc12b (diff)
downloadliberasurecode-c7a94df0724af30b26e3856f9c14344fc9b73a09.tar.gz
Add a method to check if a backend is present.
Uses dlopen to check if a backend is present. This may be used by consumers who need to check which backends are present on a system. Issue #23
Diffstat (limited to 'include')
-rw-r--r--include/erasurecode/erasurecode.h9
-rw-r--r--include/erasurecode/erasurecode_backend.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/include/erasurecode/erasurecode.h b/include/erasurecode/erasurecode.h
index 793b829..f8621a4 100644
--- a/include/erasurecode/erasurecode.h
+++ b/include/erasurecode/erasurecode.h
@@ -93,6 +93,15 @@ struct ec_args {
/* liberasurecode frontend API functions */
/**
+ * Checks if a given backend is available.
+ *
+ * @param backend_id - one of the supported backends.
+ *
+ * @returns 1 if a backend is available; 0 otherwise
+ */
+int liberasurecode_backend_available(const ec_backend_id_t backend_id);
+
+/**
* Create a liberasurecode instance and return a descriptor
* for use with EC operations (encode, decode, reconstruct)
*
diff --git a/include/erasurecode/erasurecode_backend.h b/include/erasurecode/erasurecode_backend.h
index d62c6fb..4199344 100644
--- a/include/erasurecode/erasurecode_backend.h
+++ b/include/erasurecode/erasurecode_backend.h
@@ -142,7 +142,7 @@ int liberasurecode_backend_instance_unregister(ec_backend_t instance);
/* Generic dlopen/dlclose routines */
-int liberasurecode_backend_open(ec_backend_t instance);
+void* liberasurecode_backend_open(ec_backend_t instance);
int liberasurecode_backend_close(ec_backend_t instance);