mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-22 15:21:18 +00:00

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