Man Linux: Main Page and Category List


       termios.h - define values for termios


       #include <termios.h>


       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.

              Used for terminal baud rates.

              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,

       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:

              Newline type 0.

              Newline type 1.

       CRDLY  Select carriage-return delays:

              Carriage-return delay type 0.

              Carriage-return delay type 1.

              Carriage-return delay type 2.

              Carriage-return delay type 3.

       TABDLY Select horizontal-tab delays:

              Horizontal-tab delay type 0.

              Horizontal-tab delay type 1.

              Horizontal-tab delay type 2.

              Expand tabs to spaces.

       BSDLY  Select backspace delays:

              Backspace-delay type 0.

              Backspace-delay type 1.

       VTDLY  Select vertical-tab delays:

              Vertical-tab delay type 0.

              Vertical-tab delay type 1.

       FFDLY  Select form-feed delays:

              Form-feed delay type 0.

              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

       CSIZE  Character size:

              5 bits

              6 bits

              7 bits

              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:

              Change attributes immediately.

              Change attributes when output has drained.

              Change attributes when output has drained;  also  flush  pending

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

              Flush pending input.

              Flush both pending input and untransmitted output.

              Flush untransmitted output.

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

       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.


       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






       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


       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 .