radare2/libr/io
2020-03-15 23:34:38 +01:00
..
p Make size arg of r_file_slurp() size_t (#16221) 2020-03-15 23:34:38 +01:00
cache.c Minor cleanup in IO 2019-09-11 02:25:38 +02:00
desc.c Some coverity fixes (#15643) 2019-12-16 04:36:46 -06:00
fd.c Do not use the elvis operator for bool expressions (#16073) 2020-02-28 15:19:37 +01:00
io_private.h Kill RIOSection ##refactor 2019-01-31 10:53:34 -06:00
io.c Fix memory leak due to not freed uri 2020-02-21 23:58:24 +01:00
ioutils.c Minor cleanup in IO 2019-09-11 02:25:38 +02:00
Makefile Added break to gdbserver vCont and refactored the code to use locks (#15433) 2019-11-10 19:03:56 +01:00
map.c When esil.stack.addr is -1 set it to the next unallocated address ##esil 2020-02-24 01:16:14 +01:00
meson.build Implement w32dbg_wrap 2019-10-28 05:56:10 +01:00
p_cache.c
plugin.c Implement 'cols' RTable.query to filter by column names ##print 2019-08-28 23:25:31 +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
}