* @package Mammut\IO */ interface iIO { const INPUT = 'in'; const OUTPUT = 'out'; public function open(); public function isOpen(); /** * * @return array an array of supported input types */ public function getIOTypes(); /** * go to a specific position in the io handler. * 0 is the beginning, -1 the end * * @param int $pos * the new position * @throws IOException if seek is not supported * @throws \OutOfBoundsException on invalid seek values */ public function seek($pos); public function getSize(); public function isSeekSupported(); public function close(); }