diff --git a/man3/termios.3 b/man3/termios.3 index 3f38c90b1..0151e9e3a 100644 --- a/man3/termios.3 +++ b/man3/termios.3 @@ -36,8 +36,6 @@ .\" Added a section on canonical and noncanonical mode. .\" Enhanced the discussion of "raw" mode for cfmakeraw(). .\" Document CMSPAR. -.\" 2015-11-04, Olivier TARTROU : -.\" Reworked description of PARMRK from https://www.gnu.org/software/libc/manual/html_node/Input-Modes.html#Input-Modes .\" .TH TERMIOS 3 2015-03-02 "Linux" "Linux Programmer's Manual" .SH NAME @@ -136,14 +134,18 @@ Ignore framing errors and parity errors. .TP .B PARMRK If this bit is set, input bytes with parity or framing errors are -marked when passed to the program. This bit is meaningful only when +marked when passed to the program. +This bit is meaningful only when \fBINPCK\fP is set and \fBIGNPAR\fP is not set. The way erroneous bytes are marked is with two preceding bytes, -\\377 and \\0. Thus, the program actually reads three bytes for one +\\377 and \\0. +Thus, the program actually reads three bytes for one erroneous byte received from the terminal. -If a valid byte has the value \\377, and \fBISTRIP\fP (see below) is -not set, the program might confuse it with the prefix that marks a -parity error. So a valid byte \\377 is passed to the program as two +If a valid byte has the value \\377, +and \fBISTRIP\fP (see below) is not set, +the program might confuse it with the prefix that marks a +parity error. +Therefore, a valid byte \\377 is passed to the program as two bytes, \\377 \\377, in this case. If neither \fBIGNPAR\fP nor \fBPARMRK\fP