All the functions are inline because of speed reasons and because they are used only from 2 places. You also have to define:
- int handle_io(struct fd_map* fm, int idx) (see below) (this could be trivially replaced by a callback pointer entry attached to the io_wait handler if more flexibility rather then performance is needed)
- fd_type - define to some enum of you choice and define also FD_TYPE_DEFINED (if you don't do it fd_type will be defined to int). 0 has a special not set/not init. meaning (a lot of sanity checks and the sigio_rt code are based on this assumption)
- local_malloc (defaults to pkg_malloc)
- local_free (defaults to pkg_free)