use std::io;
#[cfg(windows)]
pub mod windows;
#[cfg(unix)]
pub mod unix;
pub trait TapeDevice : io::Write + io::Read {
fn read_block(&mut self, buf: &mut Vec<u8>) -> io::Result<()>;
fn write_filemark(&mut self, blocking: bool) -> io::Result<()>;
fn seek_blocks(&mut self, pos: io::SeekFrom) -> io::Result<()>;
fn tell_blocks(&mut self) -> io::Result<u64>;
fn seek_filemarks(&mut self, pos: io::SeekFrom) -> io::Result<()>;
fn seek_setmarks(&mut self, pos: io::SeekFrom) -> io::Result<()>;
fn seek_partition(&mut self, id: u32) -> io::Result<()>;
}