doc/io-fixing.md
r_io/r_core-file fixingr_io should be used for io related stuff, io is NOT a core-task
r_io_pread and r_io_pwriteThere is no need for a huge documentation!!! But code with fundamental importance often needs a few lines on what it should do, its concept and sometimes a few lines of the code itself need some kind of 'justification' or explanation. libr/io/vio.c is a hardcore example for this RIO-code has fundamental importance, because everything will fail if io does not work correctly. This is needed to make bug-fixing easier, faster and better.
libr/io/io.c
libr/core/file.c
r_io (middle)r_io_open_at (easy) ; this should open a file, add a RIODesc and a RIOMap that maps the file to an offset that is passed as an argr_io_open creating a new map (easy) ; this should open a file, add a RIODesc and a RIOMap that maps the file to 0
r_core_file_open too (hard?)r_io_open_no_map (easy) ; this should open a file and add a RIODesc. the file can only be accessed via r_io_pread and r_io_pwriter_io_close destroy all maps that belong to the file that should be closed (easy)
r_core_file_close too (hard?)r_io_reopen (easy); keep the maps for a fd and reopen it, possibly with different permissions
r_core_file_reopen too (hard?)