pancake 1dd4042505 * Lot of work on refactoring r_io
- Added desc.c to handle file descriptors (avoid dupped, register handlers, ..)
  - Fix some bugs and optimize io paths
  - Added resolution methods
  - Maps are incomplete but better interfaced. Needs more work
  - Added io/t/map.c test program (not yet working)
* Some fixups in many vapi files
  - Fix broken ones (syntax parsing error)
  - Complete them a bit more
* Initial working version of a demo of list.h vala interface
  - Implemented as a Generic class
  - Designed as an Iterator, so 'foreach' can be used to iterate
  - Added example program iterating from vala and generating a list in C
2009-09-05 23:58:02 +00:00
..
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-09-05 23:58:02 +00:00
2009-07-08 13:49:55 +02:00
2009-07-08 13:49:55 +02: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_*

-------------------------------------------

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);
}