radare2/libr/io
Riccardo Schirone 64d16fc506 Some code cleanup and asserts in RBin ##refactor
* libr/bin: no need to allocate RBinOptions on the heap
* bin: start using r_return_* around, that's just the beginning
* bin: remove io_owned since it's not used anywhere
* io: make r_io_bind return nothing
* bin: remove unused functions and simplify r_bin_load_io
r_bin_load_io was calling r_bin_load_io2 with UT64_MAX as sz parameter,
but r_bin_load_io2 just returns false if (st64)sz is less than 0, so
that call is actually useless and can be removed.
* bin/bin: fix some preconditions
* bin/open: fix precondition to check for bin and filename too
2018-10-21 01:27:15 +02:00
..
p API cleanup and support RCorebind in RSocket.R2Pipe ##refactor (#11875) 2018-10-20 11:57:54 +02:00
cache.c
desc.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
fd.c
io_private.h
io.c Some code cleanup and asserts in RBin ##refactor 2018-10-21 01:27:15 +02:00
ioutils.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
Makefile Fix static build problem with ptrace-wrap 2018-09-09 05:59:24 +02:00
map.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
meson.build ptrace-wrap (#11723) 2018-10-12 12:20:18 +02:00
p_cache.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
plugin.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
README
section.c Fix #11112 - Rename {srwx,flags,perms} to perm. (-21 LOC) 2018-09-22 11:31:45 +02:00
undo.c
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
}