use std::fs::File;
use std::io::Result;
pub fn read_at(file: &File, buf: &mut [u8], offset: u64) -> Result<usize> {
#[cfg(unix)]
{
use std::os::unix::fs::FileExt;
file.read_at(buf, offset)
}
#[cfg(windows)]
{
use std::os::windows::fs::FileExt;
file.seek_read(buf, offset)
}
#[cfg(not(any(unix, windows)))]
{
use std::io::{Read, Seek, SeekFrom};
file.seek(SeekFrom::Start(offset))?;
file.read(buf)
}
}