From c7a94df0724af30b26e3856f9c14344fc9b73a09 Mon Sep 17 00:00:00 2001 From: Timur Alperovich Date: Mon, 7 Mar 2016 15:02:53 -0800 Subject: 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 --- include/erasurecode/erasurecode.h | 9 +++++++++ include/erasurecode/erasurecode_backend.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'include') 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 @@ -92,6 +92,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); -- cgit v1.2.1