radare2/libr/io
Riccardo Schirone 7572f315ea
meson improvements (#10617)
* meson.build: fix meson build when not on git
* meson.build: make capstone a dependency
* meson.build: make r_magic library optional
* meson.build: capstone include is already in the dependency
* meson.build: use dependencies instead of manual linking + includes
* meson.build: add travis
* flag/meson.build: include sdb dependency
* travis-script: print messages based on install system
* io/meson.build: add sdb as dependency
* syscall/meson.build: missing sdb dependency
* {parse,config}/meson.build: add sdb dependency
* travis.yml: pass INSTALL_SYSTEM var to docker
* {bin/shlr}/meson.build: add sdb_dep to r2java and bin
* install meson and ninja-build in r2-travis docker
* travis.yml: allow meson build to fail for now
* anal/meson.build: add sdb and java dependencies
* egg/meson.build: add sdb dependency
* travis.yml: meson build env should be also in the includes list
* core/meson.build: add java dep
* meson.build: use dependencies also to create main r2 dependency
* rasm2/meson.build: replace link_with with dependencies
* rasm2/meson.build: add sdb as dependency
* meson.builds: convert link_with to dependencies and fix tabs
* travis-script: change meson install prefix and set PKG_CONFIG_PATH
* travis-script: add lib64 to LD_LIBRARY_PATH
2018-07-09 16:58:38 +02:00
..
p Fixed some covs (#10621) 2018-07-05 11:48:56 +02:00
cache.c Kill the R_ITV defines (-8LOC) 2018-06-15 01:20:39 +02:00
desc.c Create map when reusing descriptors 2018-07-08 02:11:01 +02:00
fd.c fix returnvalue for getbase^ 2017-09-01 01:10:32 +00:00
io.c Implement named breakpoints with support for expressions 2018-06-19 12:27:57 +02:00
iobuf.c More build fixes for android 2017-08-19 20:05:21 +02:00
ioutils.c Make REUSE_NULL_MAPS a compile time option 2018-07-08 02:11:01 +02:00
Makefile Fix static build 2017-09-12 22:31:54 +02:00
map.c Fix #10444 - aav, /v enforces the map information, considering null:// (#10508) 2018-07-09 16:32:34 +02:00
meson.build meson improvements (#10617) 2018-07-09 16:58:38 +02:00
p_cache.c Kill the R_ITV defines (-8LOC) 2018-06-15 01:20:39 +02:00
plugin.c implement pure io-plugin rw in R_API 2018-05-31 23:53:54 +00:00
README
section.c Reuse null:// memmaps from rio.section from rcorebin for 'op' 2018-07-08 02:11:01 +02:00
undo.c Improve r2k-linux \? commands and revert io.undo patch 2018-04-03 02:02:48 +02: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
}