diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2020-01-14 18:11:02 +0100 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2020-01-14 18:11:02 +0100 |
commit | 62d37c8d4e7d1caca21f23978198b721efc5973b (patch) | |
tree | cae2b5f81bb1245caef37cba80f934878978878c /examples/list-devices.rs | |
parent | 528e56a0ff759ea81b61eea368cf53b5540dc89a (diff) | |
parent | 43664ca3c449008e2859feb94e3142db3fa98625 (diff) | |
download | nitrokey-rs-62d37c8d4e7d1caca21f23978198b721efc5973b.tar.gz nitrokey-rs-62d37c8d4e7d1caca21f23978198b721efc5973b.tar.bz2 |
Merge branch 'release-0.5.0'
Diffstat (limited to 'examples/list-devices.rs')
-rw-r--r-- | examples/list-devices.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/list-devices.rs b/examples/list-devices.rs new file mode 100644 index 0000000..9c14533 --- /dev/null +++ b/examples/list-devices.rs @@ -0,0 +1,26 @@ +// Copyright (C) 2020 Robin Krahl <robin.krahl@ireas.org> +// SPDX-License-Identifier: CC-0 + +//! Enumerates all connected Nitrokey devices and prints some information about them. + +use nitrokey::Device as _; + +fn main() -> Result<(), nitrokey::Error> { + let mut manager = nitrokey::take()?; + let device_infos = nitrokey::list_devices()?; + if device_infos.is_empty() { + println!("No Nitrokey device found"); + } else { + println!("path\t\tmodel\tfirmware version\tserial number"); + for device_info in device_infos { + let device = manager.connect_path(device_info.path.clone())?; + let model = device.get_model(); + let status = device.get_status()?; + println!( + "{}\t{}\t{}\t\t\t{:08x}", + device_info.path, model, status.firmware_version, status.serial_number + ); + } + } + Ok(()) +} |