From 46a94679152da263e3e805ec2073359ae60ce6ab Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Mon, 14 Jan 2019 20:52:25 +0100 Subject: Add NK_get_SD_usage_data function to C API The NK_get_SD_usage_data function returns the minimum and maximum write level for the SD card. This function cannot be tested due to the missing struct support in the Python tests. --- NK_C_API.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'NK_C_API.cc') diff --git a/NK_C_API.cc b/NK_C_API.cc index 7d0a10e..5e95303 100644 --- a/NK_C_API.cc +++ b/NK_C_API.cc @@ -687,6 +687,23 @@ extern "C" { return 0; } + NK_C_API int NK_get_SD_usage_data(struct NK_SD_usage_data* out) { + if (out == nullptr) + return -1; + auto m = NitrokeyManager::instance(); + auto result = get_with_status([&]() { + return m->get_SD_usage_data(); + }, std::make_pair(0, 0)); + auto error_code = std::get<0>(result); + if (error_code != 0) + return error_code; + + auto data = std::get<1>(result); + out->write_level_min = std::get<0>(data); + out->write_level_max = std::get<1>(data); + + return 0; + } NK_C_API char* NK_get_SD_usage_data_as_string() { auto m = NitrokeyManager::instance(); -- cgit v1.2.1