aboutsummaryrefslogtreecommitdiff
path: root/NK_C_API.cc
diff options
context:
space:
mode:
authorSzczepan Zalega <szczepan@nitrokey.com>2016-11-02 21:52:40 +0100
committerSzczepan Zalega <szczepan@nitrokey.com>2016-11-26 18:56:28 +0100
commit7d943d3e8717ba47af4b53787cc4c29ad6ee2f90 (patch)
tree40b42184ef943539c472459e6f8533c600cb3808 /NK_C_API.cc
parent0a15620115f4f6d56ec99777e1996497d7175bc2 (diff)
downloadlibnitrokey-7d943d3e8717ba47af4b53787cc4c29ad6ee2f90.tar.gz
libnitrokey-7d943d3e8717ba47af4b53787cc4c29ad6ee2f90.tar.bz2
Python bindings and tests for most of Storage functionality
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'NK_C_API.cc')
-rw-r--r--NK_C_API.cc90
1 files changed, 90 insertions, 0 deletions
diff --git a/NK_C_API.cc b/NK_C_API.cc
index 7110fca..fc6d3c5 100644
--- a/NK_C_API.cc
+++ b/NK_C_API.cc
@@ -375,5 +375,95 @@ extern int NK_login_auto() {
});
}
+// storage commands
+
+extern int NK_send_startup(uint64_t seconds_from_epoch){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->send_startup(seconds_from_epoch);
+ });
+}
+
+extern int NK_unlock_encrypted_volume(const char* user_pin){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->unlock_encrypted_volume(user_pin);
+ });
+}
+
+extern int NK_unlock_hidden_volume(const char* hidden_volume_password){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->unlock_hidden_volume(hidden_volume_password);
+ });
+}
+
+extern int NK_create_hidden_volume(int slot_nr, int start_percent, int end_percent,
+ const char* hidden_volume_password){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->create_hidden_volume( slot_nr, start_percent, end_percent,
+ hidden_volume_password);
+ });
+}
+
+extern int NK_set_unencrypted_read_only(const char* user_pin){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->set_unencrypted_read_only(user_pin);
+ });
+}
+
+extern int NK_set_unencrypted_read_write(const char* user_pin){
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->set_unencrypted_read_write(user_pin);
+ });
+}
+
+extern int NK_export_firmware(const char* admin_pin) {
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->export_firmware(admin_pin) ;
+ });
+}
+
+extern int NK_clear_new_sd_card_warning(const char* admin_pin) {
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->clear_new_sd_card_warning(admin_pin);
+ });
+}
+
+extern int NK_fill_SD_card_with_random_data(const char* admin_pin) {
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->fill_SD_card_with_random_data(admin_pin);
+ });
+}
+
+extern int NK_change_update_password(const char* current_update_password,
+ const char* new_update_password) {
+ auto m = NitrokeyManager::instance();
+ return get_without_result([&](){
+ m->change_update_password(current_update_password, new_update_password);
+ });
+}
+
+extern const char* NK_get_status_storage() {
+ auto m = NitrokeyManager::instance();
+ return get_with_string_result([&](){
+ return m->get_status_storage();
+ });
+}
+
+extern const char* NK_get_SD_usage_data() {
+ auto m = NitrokeyManager::instance();
+ return get_with_string_result([&](){
+ return m->get_SD_usage_data();
+ });
+}
+
+
}