radare2/libr/io
Riccardo Schirone 72f97959e8
Fix Tests after Reports by asan (#16776)
* Fix memory leak in IO
* Fix memory leak in cmd_api
* Remove unused variables in test_table
* Fix memory leak in test_flags
* Fix memory leak in test_list
* Fix memory leaks in test_anal_var
2020-05-08 21:45:01 +02:00
..
p Fix regression loading large files (>2GB) on 32bit systems ##io (#16648) 2020-04-28 22:09:30 +02:00
io_cache.c Avoid duplicated module filenames to fix static.sh ##build (#16403) 2020-04-02 14:30:27 +02:00
io_desc.c Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +02:00
io_fd.c Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +02:00
io_map.c Fix Tests after Reports by asan (#16776) 2020-05-08 21:45:01 +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 Boolify r_io_shift 2020-04-13 20:05:03 +02:00
ioutils.c Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +02:00
Makefile Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +02:00
meson.build Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +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

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
}