R_IO ==== IO - manages basic IO DESC - file descriptor (stores seek, io_handler, ..) HANDLE - determines io backend by io plugins SECTION - allows virtual base addressing over the IO MAP - allows virtual maps at random address // TODO: - Can share storage UNDO - records all write ops allowing undo, redo, reset operations r_io_undo_* CACHE - caches write operations to emulate fake reads r_io_cache_* ------------------------------------------- NOTES: each plugin handle must provide a 'optimal' read size.. or io must be configured to this var io = new Radare.Io(); int fd = io.open("/bin/ls"); foreach (Io.Handle handle in io.handle_list()) { stdout.printf(" %s\n", handle.name); }