rizin/librz/io
GustavoLCR 170ab3eb3b
Remove windows.h include from rz_types.h (#2410)
* Create `rz_windows.h`
* Move `RzThread` structure definitions to internal header
* Create and use `rz_th_get_user()` API to avoid exposing `RzThread` layout in external header
* Make `rz_th_self()` an IPI
* Use `_wmkdir()` in `rz_sys_mkdir()` on Windows
* Remove unused `winkd_break_read` function
* Remove `RzIORap` definition from `rz_io.h`
* Remove include of `Windows.h` from `rz_types.h`
* Use `rz_windows.h` when necessary
* Remove `RzCoreRtrHost` definition from `rz_core.h`
* Remove `rz_socket.h` include from `rz_core.h`
2022-03-16 13:54:41 +01:00
..
p Remove windows.h include from rz_types.h (#2410) 2022-03-16 13:54:41 +01:00
io.c Remove windows.h include from rz_types.h (#2410) 2022-03-16 13:54:41 +01:00
io_cache.c Convert 'wc' commands to rzshell (#2297) 2022-02-10 15:48:57 +01:00
io_desc.c Convert 'we' commands to rzshell (#2325) 2022-02-16 09:31:50 +00:00
io_fd.c Format according to clang-format-13 2021-11-25 15:44:28 +08:00
io_map.c Implement getting a backtrace from a Windows Kernel Dump for x64 (#2387) 2022-03-15 10:45:02 +01:00
io_memory.c SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00
io_memory.h Add some SPDX headers (#1469) 2021-08-17 18:27:03 +02:00
io_plugin.c Print the rizin plugin info in json ##print ##json 2021-05-17 13:38:11 +08:00
io_private.h Add some SPDX headers (#1469) 2021-08-17 18:27:03 +02:00
ioutils.c Format according to clang-format-13 2021-11-25 15:44:28 +08:00
meson.build DMP: Add dmp RzIO plugin 2022-03-03 21:52:41 +08:00
p_cache.c Format according to clang-format-13 2021-11-25 15:44:28 +08:00
README
serialize_io.c SPDX Copyright text for all files based on history 2021-03-05 19:39:15 +08:00

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
}