This section describes the terminal flags and fields that control how
output characters are translated and padded for display. All of these
are contained in the c_oflag
member of the struct termios
structure.
The c_oflag
member itself is an integer, and you change the flags
and fields using the operators &
, |
, and ^
. Don’t
try to specify the entire value for c_oflag
—instead, change
only specific flags and leave the rest untouched (see Setting Terminal Modes Properly).
tcflag_t
OPOST ¶If this bit is set, output data is processed in some unspecified way so
that it is displayed appropriately on the terminal device. This
typically includes mapping newline characters ('\n'
) onto
carriage return and linefeed pairs.
If this bit isn’t set, the characters are transmitted as-is.
The following three bits are effective only if OPOST
is set.
tcflag_t
ONLCR ¶If this bit is set, convert the newline character on output into a pair of characters, carriage return followed by linefeed.
tcflag_t
OXTABS ¶If this bit is set, convert tab characters on output into the appropriate
number of spaces to emulate a tab stop every eight columns. This bit
exists only on BSD systems and GNU/Hurd systems; on
GNU/Linux systems it is available as XTABS
.
tcflag_t
ONOEOT ¶If this bit is set, discard C-d characters (code 004
) on
output. These characters cause many dial-up terminals to disconnect.
This bit exists only on BSD systems and GNU/Hurd systems.