2009-02-05 22:08:46 +01:00
|
|
|
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_*
|
2009-09-02 00:10:51 +00:00
|
|
|
|
|
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
NOTES: each plugin handle must provide a 'optimal' read size.. or io must be configured to this
|
|
|
|
|
2009-09-05 23:58:02 +00:00
|
|
|
var io = new Radare.Io();
|
2009-09-02 00:10:51 +00:00
|
|
|
int fd = io.open("/bin/ls");
|
|
|
|
|
2010-05-26 01:42:22 +02:00
|
|
|
foreach (Io.Plugin handle in io.handle_list()) {
|
2009-09-05 23:58:02 +00:00
|
|
|
stdout.printf(" %s\n", handle.name);
|
|
|
|
}
|