summaryrefslogtreecommitdiff
path: root/src/features.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2021-03-27 16:10:53 +0100
committerRobin Krahl <robin.krahl@ireas.org>2021-03-27 16:10:53 +0100
commit434e61c231e142b6f5f8d81eb25f4ef97686d85a (patch)
treedb884ec48a50772e29b99cc42ff6b0cca4a79228 /src/features.rs
downloadnitrokey-hid-master.tar.gz
nitrokey-hid-master.tar.bz2
Initial commitHEADmaster
Diffstat (limited to 'src/features.rs')
-rw-r--r--src/features.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/features.rs b/src/features.rs
new file mode 100644
index 0000000..1ec5dff
--- /dev/null
+++ b/src/features.rs
@@ -0,0 +1,20 @@
+use crate::{Error, Model};
+
+#[derive(Clone, Debug, Eq, PartialEq, serde::Deserialize)]
+pub struct Status {
+ pub firmware_version_minor: u8,
+ pub firmware_version_major: u8,
+ pub serial_number: u32,
+ pub config_num_lock: u8,
+ pub config_caps_lock: u8,
+ pub config_scroll_lock: u8,
+ pub config_enable_user_password: u8,
+ _unused: u8,
+}
+
+pub trait Basic {
+ fn get_model(&self) -> Model;
+ fn get_status(&self) -> Result<Status, Error>;
+ fn get_user_retry_count(&self) -> Result<u8, Error>;
+ fn get_admin_retry_count(&self) -> Result<u8, Error>;
+}