diff options
Diffstat (limited to 'src/features.rs')
-rw-r--r-- | src/features.rs | 20 |
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>; +} |