Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       termios.h - define values for termios

SYNOPSIS

       #include <termios.h>

DESCRIPTION

       The  <termios.h>  header contains the definitions used by the terminal I/O interfaces (see
       General Terminal Interface for the structures and names defined).

   The termios Structure
       The following data types shall be defined through typedef:

       cc_t   Used for terminal special characters.

       speed_t
              Used for terminal baud rates.

       tcflag_t
              Used for terminal modes.

       The above types shall be all unsigned integer types.

       The implementation shall support one or more programming environments in which the  widths
       of  cc_t,  speed_t,  and tcflag_t are no greater than the width of type long. The names of
       these programming environments can be obtained using the confstr() function or the getconf
       utility.

       The termios structure shall be defined, and shall include at least the following members:

              tcflag_t  c_iflag     Input modes.
              tcflag_t  c_oflag     Output modes.
              tcflag_t  c_cflag     Control modes.
              tcflag_t  c_lflag     Local modes.
              cc_t      c_cc[NCCS]  Control characters.

       A definition shall be provided for:

       NCCS   Size of the array c_cc for control characters.

       The following subscript names for the array c_cc shall be defined:

                                   Subscript Usage
                         Canonical Mode   Non-Canonical Mode   Description
                         VEOF                                  EOF character.
                         VEOL                                  EOL character.
                         VERASE                                ERASE character.
                         VINTR            VINTR                INTR character.
                         VKILL                                 KILL character.
                                          VMIN                 MIN value.
                         VQUIT            VQUIT                QUIT character.
                         VSTART           VSTART               START character.
                         VSTOP            VSTOP                STOP character.
                         VSUSP            VSUSP                SUSP character.
                                          VTIME                TIME value.

       The  subscript  values shall be unique, except that the VMIN and VTIME subscripts may have
       the same values as the VEOF and VEOL subscripts, respectively.

       The following flags shall be provided.

   Input Modes
       The c_iflag field describes the basic terminal input control:

       BRKINT Signal interrupt on break.

       ICRNL  Map CR to NL on input.

       IGNBRK Ignore break condition.

       IGNCR  Ignore CR.

       IGNPAR Ignore characters with parity errors.

       INLCR  Map NL to CR on input.

       INPCK  Enable input parity check.

       ISTRIP Strip character.

       IXANY  Enable any character to restart output.

       IXOFF  Enable start/stop input control.

       IXON   Enable start/stop output control.

       PARMRK Mark parity errors.

   Output Modes
       The c_oflag field specifies the system treatment of output:

       OPOST  Post-process output.

       ONLCR  Map NL to CR-NL on output.

       OCRNL  Map CR to NL on output.

       ONOCR  No CR output at column 0.

       ONLRET NL performs CR function.

       OFILL  Use fill characters for delay.

       NLDLY  Select newline delays:

       NL0
              Newline type 0.

       NL1
              Newline type 1.

       CRDLY  Select carriage-return delays:

       CR0
              Carriage-return delay type 0.

       CR1
              Carriage-return delay type 1.

       CR2
              Carriage-return delay type 2.

       CR3
              Carriage-return delay type 3.

       TABDLY Select horizontal-tab delays:

       TAB0
              Horizontal-tab delay type 0.

       TAB1
              Horizontal-tab delay type 1.

       TAB2
              Horizontal-tab delay type 2.

       TAB3
              Expand tabs to spaces.

       BSDLY  Select backspace delays:

       BS0
              Backspace-delay type 0.

       BS1
              Backspace-delay type 1.

       VTDLY  Select vertical-tab delays:

       VT0
              Vertical-tab delay type 0.

       VT1
              Vertical-tab delay type 1.

       FFDLY  Select form-feed delays:

       FF0
              Form-feed delay type 0.

       FF1
              Form-feed delay type 1.

   Baud Rate Selection
       The input and output baud rates are stored in the termios structure.  These are the  valid
       values  for  objects  of  type speed_t. The following values shall be defined, but not all
       baud rates need be supported by the underlying hardware.

       B0     Hang up

       B50    50 baud

       B75    75 baud

       B110   110 baud

       B134   134.5 baud

       B150   150 baud

       B200   200 baud

       B300   300 baud

       B600   600 baud

       B1200  1200 baud

       B1800  1800 baud

       B2400  2400 baud

       B4800  4800 baud

       B9600  9600 baud

       B19200 19200 baud

       B38400 38400 baud

   Control Modes
       The c_cflag field describes the hardware control of the terminal; not all values specified
       are required to be supported by the underlying hardware:

       CSIZE  Character size:

       CS5
              5 bits

       CS6
              6 bits

       CS7
              7 bits

       CS8
              8 bits

       CSTOPB Send two stop bits, else one.

       CREAD  Enable receiver.

       PARENB Parity enable.

       PARODD Odd parity, else even.

       HUPCL  Hang up on last close.

       CLOCAL Ignore modem status lines.

       The  implementation  shall support the functionality associated with the symbols CS7, CS8,
       CSTOPB, PARODD, and PARENB.

   Local Modes
       The c_lflag field of the argument structure is used to control various terminal functions:

       ECHO   Enable echo.

       ECHOE  Echo erase character as error-correcting backspace.

       ECHOK  Echo KILL.

       ECHONL Echo NL.

       ICANON Canonical input (erase and kill processing).

       IEXTEN Enable extended input character processing.

       ISIG   Enable signals.

       NOFLSH Disable flush after interrupt or quit.

       TOSTOP Send SIGTTOU for background output.

   Attribute Selection
       The following symbolic constants for use with tcsetattr() are defined:

       TCSANOW
              Change attributes immediately.

       TCSADRAIN
              Change attributes when output has drained.

       TCSAFLUSH
              Change attributes when output has drained; also flush pending input.

   Line Control
       The following symbolic constants for use with tcflush() shall be defined:

       TCIFLUSH
              Flush pending input.

       TCIOFLUSH
              Flush both pending input and untransmitted output.

       TCOFLUSH
              Flush untransmitted output.

       The following symbolic constants for use with tcflow() shall be defined:

       TCIOFF Transmit a STOP character, intended to suspend input data.

       TCION  Transmit a START character, intended to restart input data.

       TCOOFF Suspend output.

       TCOON  Restart output.

       The following shall be declared as functions and may also be defined as  macros.  Function
       prototypes shall be provided.

              speed_t cfgetispeed(const struct termios *);
              speed_t cfgetospeed(const struct termios *);
              int     cfsetispeed(struct termios *, speed_t);
              int     cfsetospeed(struct termios *, speed_t);
              int     tcdrain(int);
              int     tcflow(int, int);
              int     tcflush(int, int);
              int     tcgetattr(int, struct termios *);

              pid_t   tcgetsid(int);

              int     tcsendbreak(int, int);
              int     tcsetattr(int, int, const struct termios *);

       The following sections are informative.

APPLICATION USAGE

       The  following names are reserved for XSI-conformant systems to use as an extension to the
       above; therefore strictly conforming applications shall not use them:

                                     CBAUD     EXTB       VDSUSP
                                     DEFECHO   FLUSHO     VLNEXT
                                     ECHOCTL   LOBLK      VREPRINT
                                     ECHOKE    PENDIN     VSTATUS

                                     ECHOPRT   SWTCH      VWERASE
                                     EXTA      VDISCARD

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       The  System  Interfaces  volume  of  IEEE Std 1003.1-2001,  cfgetispeed(),  cfgetospeed(),
       cfsetispeed(),  cfsetospeed(),  confstr(),  tcdrain(),  tcflow(),  tcflush(), tcgetattr(),
       tcgetsid(),   tcsendbreak(),   tcsetattr(),   the   Shell   and   Utilities   volume    of
       IEEE Std 1003.1-2001, getconf, General Terminal Interface

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .