sd-readahead.c and sd-readahead.h provide a reference implementation for APIs for controlling boot-time read-ahead, as implemented by the read-ahead subsystem of the systemd(1) init system.
See sd_readahead(3) for more information about the function implemented.
This interface is provided by the reference implementation of APIs for controlling boot-time read-ahead and distributed with the systemd package. The algorithms it implements are simple, and can easily be reimplemented in daemons if it is important to support this interface without using the reference implementation. See the respective function man pages for details.
In addition, for details about the algorithms check the liberally licensed reference implementation sources: m[blue]http://cgit.freedesktop.org/systemd/systemd/plain/src/readahead/sd-readahead.cm and m[blue]http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-readahead.hm
These APIs are implemented in the reference implementation's drop-in sd-readahead.c and sd-readahead.h files. It is recommended that applications consuming these APIs copy the implementation into their source tree, either verbatim or in excerpts. These interfaces are currently not available in a dynamic library.
The functions provided by this interface become NOPs when -DDISABLE_SYSTEMD is set during compilation. In addition, if sd-readhead.c is compiled on non-Linux systems it becomes NOPs.