use std::cell::RefCell; use std::rc::Weak; use syscall::error::Result; use pty::Pty; pub trait Resource { fn boxed_clone(&self) -> Box; fn pty(&self) -> Weak>; fn path(&self, buf: &mut [u8]) -> Result; fn read(&self, buf: &mut [u8]) -> Result; fn write(&self, buf: &[u8]) -> Result; fn sync(&self) -> Result; fn fcntl(&mut self, cmd: usize, arg: usize) -> Result; fn fevent(&self) -> Result<()>; fn fevent_count(&self) -> Option; }