.nf
.B "#include <mLib/lbuf.h>"
+.B "enum {"
+.B "\h'4n'LBUF_CRLF,"
+.B "\h'4n'LBUF_STRICTCRLF,"
+.B "\h'4n'..."
+.B "};"
+.B "#define LBUF_ENABLE ..."
+
+.B "typedef struct {"
+.B "\h'4n'unsigned f;"
+.B "\h'4n'..."
+.B "} lbuf;"
+
+.B "typedef void lbuf_func(char *" s ", size_t " len ", void *" p );
+
.BI "void lbuf_flush(lbuf *" b ", char *" p ", size_t " len );
.BI "void lbuf_close(lbuf *" b );
.BI "size_t lbuf_free(lbuf *" b ", char **" p );
line completely.
.SS "Line-handler functions"
Completed lines, as already said, are passed to the caller's
-line-handler function. This function has the signature
-.IP
-.B "void"
-.IB func "(char *" s ", size_t " len ", void *" p );
-.PP
-It is given three arguments: the address
+line-handler function. It is given three arguments: the address
.I s
of the line which has just been read; the length
.I len