diff options
-rw-r--r-- | TODO.md | 1 | ||||
-rw-r--r-- | src/lib.rs | 13 |
2 files changed, 4 insertions, 10 deletions
@@ -1,6 +1,5 @@ - Add support and tests for the Nitrokey Storage. - Add support for the currently unsupported commands: - - `NK_login_enum` - `NK_set_unencrypted_volume_rorw_pin_type_user` - `NK_lock_device` - `NK_factory_reset` @@ -679,17 +679,12 @@ pub fn connect() -> Result<UnauthenticatedDevice, CommandError> { /// } /// ``` pub fn connect_model(model: Model) -> Result<UnauthenticatedDevice, CommandError> { - let model_string = match model { - Model::Storage => "S", - Model::Pro => "P", + let model = match model { + Model::Storage => nitrokey_sys::NK_device_model_NK_STORAGE, + Model::Pro => nitrokey_sys::NK_device_model_NK_PRO, }; - let model_cstring = CString::new(model_string); - if model_cstring.is_err() { - return Err(CommandError::InvalidString); - } - let model = model_cstring.unwrap(); unsafe { - return match nitrokey_sys::NK_login(model.as_ptr()) { + return match nitrokey_sys::NK_login_enum(model) { 1 => Ok(UnauthenticatedDevice {}), rv => Err(CommandError::from(rv)), }; |