#[derive(Eq, PartialEq, Hash)]
pub struct UniqueID {
device: u64,
inode: u64,
}
#[cfg(not(windows))]
pub fn generate_unique_id(metadata: &std::fs::Metadata) -> Option<UniqueID> {
use std::os::unix::fs::MetadataExt;
if metadata.is_file() && metadata.nlink() > 1 {
Some(UniqueID {
device: metadata.dev(),
inode: metadata.ino(),
})
} else {
None
}
}
#[cfg(windows)]
pub fn generate_unique_id(_metadata: &std::fs::Metadata) -> Option<UniqueID> {
None
}