From 4230103ff633904c69cc18d861bf42781f57bb64 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 17 Mar 2018 14:55:46 +0100 Subject: lib: Allow disabling partial read This allows disabling partial reads. It adds a flag FLOWFRNOPART that disables partial reads. Partial read is different from partial delivery (FRCTFPARTIAL), which allows delivery of fragments of an incomplete packet and thus potentially corrupted data. FLOWFRNOPART will never deliver corrupted data (unless FRCTFPARTIAL is also set). If FLOWFRNOPART is set and the buffer provided to flow_read is too small for the SDU, that SDU will be discarded and -EMSGSIZE is returned; Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- doc/man/fccntl.3 | 2 ++ doc/man/flow_read.3 | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/man/fccntl.3 b/doc/man/fccntl.3 index 34e63e7d..bec506ec 100644 --- a/doc/man/fccntl.3 +++ b/doc/man/fccntl.3 @@ -58,6 +58,8 @@ argument. Supported flags are: \fIFLOWFNONBLOCK\fR - set I/O to non-blocking read/write. +\fIFLOWFRNOPART\fR - disable partial reading. + \fIFLOWFDEFAULT\fR - set flow defaults (blocking, read-write). .RE diff --git a/doc/man/flow_read.3 b/doc/man/flow_read.3 index 0110d0a2..20f5b976 100644 --- a/doc/man/flow_read.3 +++ b/doc/man/flow_read.3 @@ -33,15 +33,14 @@ On success, \fBflow_read\fR() returns the number of bytes read. On failure, a negative value indicating the error will be returned. If the number of bytes read equals count, a subsequent call to \fBflow_read\fR() should be performed to check if there were more -bytes to read. This call to \fBflow_read\fR will return 0 if there -was no more data and mark the end of the datagram. +bytes to read. This call to \fBflow_read\fR will return 0 if there was +no more data and mark the end of the datagram. On success, \fBflow_write\fR() returns 0. On failure, a negative value indicating the error will be returned. Passing a NULL pointer for \fIbuf\fR returns 0 with no other effects. .SH ERRORS - .B -EINVAL An invalid argument was passed. -- cgit v1.2.3