use std::fs::File;
use std::io::Result;
use std::os::unix::fs::FileExt;
pub fn write_at(file: &File, mut buffer: &[u8], mut offset: u64) -> Result<usize> {
let total = buffer.len();
while !buffer.is_empty() {
let n = file.write_at(buffer, offset)?;
buffer = &buffer[n..];
offset += n as u64;
}
Ok(total)
}