radare2/libr/io
pancake 62c2128b6f
Better use of the R_SOCKET_PROTO_DEFAULT and add _NONE (#17644)
* Better use of the R_SOCKET_PROTO_DEFAULT and add _NONE ##http

* Fix regressions in: r2 -C and =+ ##r2pipe

Introduced in 04edfa82c1

* Implement sleep command ##shell

* Add tests for the webserver and remoting

* Implement daemon directive in rarun2, fix http test ##rarun2

* Fix socket timeout on Windows (patch by @GustavoLCR) ##socket

* Missing http.root is not a reason to not start the webserver ##http

* Fix r2 -C, =!=0, replace curl with r2 in the webserver test ##http

* Honor anal.in/from/to in aae, optimize db/formats/mach0/thumb ##anal

* Bug fixes and performance improvements

Co-authored-by: pancake <pancake@nopcode.org>
2020-09-25 19:51:23 +08:00
..
p Better use of the R_SOCKET_PROTO_DEFAULT and add _NONE (#17644) 2020-09-25 19:51:23 +08: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 #14024 - Make r_io_map_get() faster (#17324) ##io 2020-07-31 10:04:57 +02:00
io_plugin.c Move r2r diffchar code into r_util (#17316) 2020-07-20 00:44:27 +08:00
io_private.h Fix warning not addressed in cef191cde3 (#17456) 2020-08-26 11:01:56 +08:00
io.c Fix warning not addressed in cef191cde3 (#17456) 2020-08-26 11:01:56 +08:00
ioutils.c Initial refactoring of the rap:// protocol (-75 LOC) ##socket (#16534) 2020-04-12 16:40:55 +02:00
Makefile Add network support for WinDbg/KD (KDNET) ##debug (#17340) 2020-08-26 10:24:20 +08:00
meson.build Set RPATH/RUNPATH on r2 libs too if local (#17639) 2020-09-15 09:16:14 +02:00
p_cache.c Update SDB with boolified SdbForeachCallback (#17040) 2020-06-11 11:25:23 +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
}