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; }
static int ewf__read(RIO *io, RIODesc *fd, ut8 *buf, int count) { return libewf_handle_read_buffer (RIOEWF_HANDLE (fd), buf, count, NULL); }
static int ewf__write(RIO *io, RIODesc *fd, const ut8 *buf, int count) { return libewf_handle_write_buffer (RIOEWF_HANDLE (fd), (void*)buf, count, NULL); }
static int ewf__write(RIO *io, RIODesc *fd, const ut8 *buf, int count) { return libewf_write_buffer (RIOEWF_HANDLE (fd), buf, count); }