Design Environment
The SEF library runs on a Linux®️ host. It supports user mode or kernel mode. The library and
driver do not yet support forked processes. The SEF library API is defined by SEFAPI.h
and
implemented in libsef.a. It is platform-agnostic and is usable by any code that can use a C interface.
The library I/O path functions come in both synchronous and asynchronous versions, which typically
have identical functionality and semantics. When this is not true, the API will call out how the
synchronous and asynchronous versions differ. Note that callbacks from the library are made from
a static internal thread pool and so should not block for long periods of time. It is not allowed to
call synchronous functions from a callback thread.