blksz/
blksz.rs

1extern crate io_block;
2use io_block::os::BlockDev;
3use io_block::BlockSize;
4
5fn show_blk<T: AsRef<::std::path::Path>>(p: T) -> Result<(), ::std::io::Error> {
6    let f = std::fs::File::open(p.as_ref())?;
7    let b = BlockDev::from_file(f)?;
8    println!(
9        "{:?}: block-size-logical: {:?}",
10        p.as_ref(),
11        b.block_size_logical()
12    );
13    println!("{:?}: block-count: {:?}", p.as_ref(), b.block_count());
14    println!(
15        "{:?}: block-size-physical: {:?}",
16        p.as_ref(),
17        b.block_size_physical()
18    );
19    Ok(())
20}
21
22fn main() {
23    for arg in std::env::args_os().skip(1) {
24        match show_blk(arg) {
25            Err(e) => println!("Error: {:?}", e),
26            _ => {}
27        }
28    }
29}