.nf
.B "#include <mLib/sel.h>"
+.B "enum {"
+.B "\h'4n'SEL_READ = ...,"
+.B "\h'4n'SEL_WRITE = ...,"
+.B "\h'4n'SEL_EXC = ...,"
+.B "\h'4n'SEL_MODES = ..."
+.B "};"
+
+.B "typedef struct { ...\& } sel_state;"
+.B "typedef struct { ...\& } sel_timer;"
+.B "typedef struct { ...\& } sel_hook;"
+
+.B "typedef struct {"
+.B "\h'4n'int fd;"
+.B "\h'4n'..."
+.B "} sel_file;"
+
+.B "typedef struct {"
+.B "\h'4n'int maxfd;"
+.B "\h'4n'fd_set fd[SEL_MODES];"
+.B "\h'4n'struct timeval tv, *tvp;"
+.B "\h'4n'struct timeval now;"
+.B "} sel_args;"
+
+.BI "typedef void (*sel_hookfn)(sel_state *" s ", sel_args *" a ", void *" p );
+
.BI "void sel_init(sel_state *" s );
.ds mT \fBvoid sel_initfile(