radare2/libr/io
Florian Märkl 9a2effd5ed
Use RPVector for io->maps - speedup map traversal ##io
- The 64K section bin now loads in 15s instead of 26s
2020-04-07 12:43:41 +02:00
..
p r_buffer: do not move seek when using _at APIs (#16401) ##util 2020-04-04 10:31:48 +02:00
desc.c Use RPVector for io->maps - speedup map traversal ##io 2020-04-07 12:43:41 +02:00
fd.c Do not use the elvis operator for bool expressions (#16073) 2020-02-28 15:19:37 +01:00
io_cache.c Avoid duplicated module filenames to fix static.sh ##build (#16403) 2020-04-02 14:30:27 +02:00
io_plugin.c Avoid duplicated module filenames to fix static.sh ##build (#16403) 2020-04-02 14:30:27 +02:00
io_private.h Kill RIOSection ##refactor 2019-01-31 10:53:34 -06:00
io.c Use RPVector for io->maps - speedup map traversal ##io 2020-04-07 12:43:41 +02:00
ioutils.c Minor cleanup in IO 2019-09-11 02:25:38 +02:00
Makefile Avoid duplicated module filenames to fix static.sh ##build (#16403) 2020-04-02 14:30:27 +02:00
map.c Use RPVector for io->maps - speedup map traversal ##io 2020-04-07 12:43:41 +02:00
meson.build Avoid duplicated module filenames to fix static.sh ##build (#16403) 2020-04-02 14:30:27 +02:00
p_cache.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
README
undo.c Fix some warnings (#15549) 2019-12-08 12:49:58 +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
}