extern crate sg;
use sg::{Device, Task};
use std::ffi::OsStr;
use std::time::Duration;
fn run_tur(path: &OsStr) -> std::io::Result<()> {
let cdb = [0; 6];
let mut task = Task::new();
task.set_timeout(Duration::from_secs(20));
task.set_cdb(&cdb);
let device = Device::open(path)?;
assert_eq!(device.send(&[task])?, 1);
let mut tasks = Vec::new();
assert_eq!(device.receive(&mut tasks)?, 1);
println!("{}", tasks[0].ok());
Ok(())
}
fn main() {
let mut args = std::env::args_os();
if args.len() != 2 {
eprintln!("Usage: {:?} DEV", args.next().unwrap());
return;
}
if let Err(e) = run_tur(&args.next_back().unwrap()) {
eprintln!("Error: {}", e);
std::process::exit(1);
}
}