use blkid_sys::*;
pub struct Topology(pub(crate) blkid_topology);
impl Topology {
pub fn alignment_offset(&self) -> u64 {
unsafe { blkid_topology_get_alignment_offset(self.0) }.try_into().unwrap()
}
pub fn minimum_io_size(&self) -> u64 {
unsafe { blkid_topology_get_minimum_io_size(self.0) }.try_into().unwrap()
}
pub fn optimal_io_size(&self) -> u64 {
unsafe { blkid_topology_get_optimal_io_size(self.0) }.try_into().unwrap()
}
pub fn logical_sector_size(&self) -> u64 {
unsafe { blkid_topology_get_logical_sector_size(self.0) }.try_into().unwrap()
}
pub fn physical_sector_size(&self) -> u64 {
unsafe { blkid_topology_get_physical_sector_size(self.0) }.try_into().unwrap()
}
#[cfg(blkid = "2.36")]
pub fn dax(&self) -> bool {
unsafe { blkid_topology_get_dax(self.0) == 1 }
}
}