static int ewf__close(RIODesc *fd) { if (RIOEWF_IS_VALID (fd)) { libewf_handle_close (RIOEWF_HANDLE (fd), NULL); return 0; } return -1; }
static ut64 ewf__lseek(RIO *io, RIODesc *fd, ut64 offset, int whence) { if (RIOEWF_IS_VALID (fd)) { size64_t media_size; switch (whence) { case SEEK_SET: /* ignore */ break; case SEEK_CUR: offset += io->seek; break; case SEEK_END: libewf_get_media_size (RIOEWF_HANDLE (fd), &media_size); offset = media_size - offset; break; } libewf_seek_offset (RIOEWF_HANDLE (fd), offset); return offset; } return (ut64)-1; }