radare2/libr/io
2021-03-12 17:56:46 +01:00
..
p Implement slurp:// uri handler plugin ##io (#18424) 2021-03-08 12:08:39 +01:00
io_cache.c Fix memleak in test_anal_block & test_io (#18153) 2021-01-02 09:37:23 +01:00
io_desc.c Implement first/last/next/prev fd APIs ##io 2020-11-01 11:33:31 +01:00
io_fd.c Implement first/last/next/prev fd APIs ##io 2020-11-01 11:33:31 +01:00
io_map.c Rename r_io_map_get to r_io_map_get_at ##io 2021-03-12 17:56:46 +01:00
io_memory.c Reuse code in memory-based io plugins ##refactor 2021-01-13 01:22:42 +01:00
io_memory.h Reuse code in memory-based io plugins ##refactor 2021-01-13 01:22:42 +01:00
io_plugin.c Variadic argument fixes 2020-11-10 11:11:45 +08:00
io_private.h Fix warning not addressed in cef191cde3 (#17456) 2020-08-26 11:01:56 +08:00
io.c Rename r_io_map_get to r_io_map_get_at ##io 2021-03-12 17:56:46 +01:00
ioutils.c Rename r_io_map_get to r_io_map_get_at ##io 2021-03-12 17:56:46 +01:00
Makefile Reuse code in memory-based io plugins ##refactor 2021-01-13 01:22:42 +01:00
meson.build Reuse code in memory-based io plugins ##refactor 2021-01-13 01:22:42 +01:00
p_cache.c Add RIO on write event ##io 2020-11-01 02:12:14 +01:00
README Add initial XCore capstone disassembler and code analysis plugins 2014-05-27 23:08:59 +02:00
undo.c Rename r_io_map_get to r_io_map_get_at ##io 2021-03-12 17:56:46 +01:00
undo.h Use void in prototypes (#7974) 2017-07-20 14:50:13 +02:00

RIO design
==========

rio api allows to seamlessly access to underlying IO backends
and define rules on top of it to act as an mmu.

What do io.va means?
--------------------
- obey sections

- Plugins 

Actions
-------
 - open
 - read
 - seek
 - write
 - close

Layers
------
 - cache    caches write ops and modifies reads
 - map      allows to map a certain file at a given offset
 - sections like maps, but provide more information for virtual addressing

Features
--------
 - undo
 - buffer
 - desc

fn read(io: IO) {
	ut64 offset;
	if io.offset
}