*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> termios (4)              
Title
Content
Arch
Section
 

termios(4)

Contents


NAME    [Toc]    [Back]

       termios,  termios.h - Defines the structure of the termios
       file, which provides the terminal interface for POSIX compatibility.

DESCRIPTION    [Toc]    [Back]

       The  /usr/include/termios.h  header file is used to obtain
       and modify attributes required  by  the  terminal  driver.
       These attributes control input and output processing.  The
       definition     values     and     structure     in     the
       /usr/include/termios.h file are required for P1003.1 POSIX
       compliance.

       The primary mechanism for obtaining and  setting  terminal
       driver  parameters  is  through  the following POSIX functions:
 tcgetattr() tcsetattr() cfgetispeed() cfgetospeed()
       cfsetospeed() cfsetispeed()

       Optionally the termios values can be obtained or set using
       the termios ioctls.  See the tty(7)  reference  page.  For
       compatibility the system supports BSD and System V ioctls,
       but they are internally translated into termios ioctls.

       The termios structure in the <termios.h> header file  contains
  the  following fields: Describes the basic terminal
       input control. The possible input modes are:  Ignores  the
       break condition. If set, the break condition is not put on
       the input queue and is therefore not read by any  process.
       Interrupts  signal  on  the  break condition.  If set, the
       break condition generates an interrupt signal and  flushes
       both the input and output queues.  Ignores characters with
       parity errors.  If set, characters with other framing  and
       parity errors are ignored.  Marks parity errors. If set, a
       character with a framing  or  parity  error  that  is  not
       ignored  is  read as the 3-character sequence: 0377, 0, x,
       where the x variable is the data of the character received
       in  error.  If  the  ISTRIP  mode is not set, then a valid
       character of 0377 is read as 0377, 0377 to  avoid  ambiguity.
  If  the  PARMRK  mode  is clear, a framing or parity
       error that is not ignored is read as the  null  character.
       Enables input parity checking. If set, input parity checking
 is enabled. If clear, input parity  checking  is  disabled.
  This  allows  for output parity generation without
       input parity errors.  Strips  characters.  If  set,  valid
       input  characters  are first stripped to 7 bits; otherwise
       all 8 bits are processed.  Maps new-line character (NL) to
       carriage return (CR) on input. If set, a received NL character
 is translated into a CR character.  Ignores CR character.
  If  set,  a  received CR character is ignored (not
       read).  Maps CR character to NL character  on  input.   If
       set, a received CR character is translated into a NL character.
  Maps uppercase to lowercase on input.  If  set,  a
       received  uppercase,  alphabetic  character  is translated
       into the corresponding lowercase character.  Enables start
       and stop output control. If set, a received STOP character
       suspends output, and a received START  character  restarts
       output. The START and STOP characters perform flow control
       functions but are not  read.   Enables  any  character  to
       restart output.  If set, any input character restarts output
 that was suspended.  Enables start and stop input control.
  If  set, the system transmits a STOP character when
       the input queue is nearly full and a START character  when
       enough  input has been read that the queue is nearly empty
       again.  Echoes the ASCII BEL character if the input stream
       overflows.  Further  input  is  not  stored, but any input
       received prior to the overflow condition is  retained.  If
       clear,  the  BEL character is not echoed, and the input in
       the input queue is discarded if  the  input  stream  overflows.
  Specifies how the system treats output. The possible
 output modes are: Postprocesses output. If set, output
       characters  are  processed  as  indicated by the remaining
       flags;  otherwise,  characters  are  transmitted   without
       change.   Maps lowercase to uppercase on output. If set, a
       lowercase alphabetic character is transmitted as the  corresponding
  uppercase  character.  This  function is often
       used in conjunction with the IUCLC input mode.  Maps NL to
       CR-NL  on  output. If set, the NL character is transmitted
       as the CR-NL character pair.  Maps CR to NL on output.  If
       set,  the CR character is transmitted as the NL character.
       Indicates no CR output at column 0. If set, no CR  character
  is transmitted at column 0 (first position).  NL performs
 CR function. If set, the NL character is assumed  to
       do the carriage return function. The column pointer is set
       to a value of 0  and  the  delay  specified  for  carriage
       return  is used.  Otherwise the NL character is assumed to
       do the line feed function only; the column pointer remains
       unchanged.  The column pointer is also set to a value of 0
       if the CR character is actually transmitted.

              The delay bits  specify  how  long  a  transmission
              stops  to  allow  for  mechanical or other movement
              when certain characters are sent to  the  terminal.
              The  actual  delays depend on line speed and system
              load.  Uses fill characters for delay. If set, fill
              characters are transmitted for a delay instead of a
              timed delay. This is useful for high baud rate terminals
  that  need only a minimal delay.  Sets fill
              characters to the DEL value. If set, the fill character
 is DEL. If this flag is clear, the fill character
  is  null.   Selects  the  newline  character
              delays.  This  is a mask to use before comparing to
              NL0 and NL1.  Specifies no  delay.   Specifies  one
              delay  of  approximately 0.10 seconds. If ONLRET is
              set, the carriage return delays are used instead of
              the newline delays. If OFILL is set, two fill characters
  are  transmitted.   Selects  the   carriage
              return delays. This is a mask to use before comparing
 to CR0, CR1, CR2, and CR3.  Specifies no delay.
              Specifies  that  the delay is dependent on the current
 column position. If OFILL is set,  this  delay
              transmits two fill characters.  Specifies one delay
              of approximately 0.10 seconds.  If  OFILL  is  set,
              this  delay transmits four fill characters.  Specifies
  one  delay  of  approximately  0.15  seconds.
              Selects  the  horizontal tab delays. This is a mask
              to use before comparing to TAB0,  TAB1,  TAB2,  and
              TAB3. If OFILL is set, any of these delays transmit
              two fill characters.  Specifies no  delay.   Specifies
  that  the  delay  is dependent on the current
              column position. If OFILL is set, two fill  characters
  are  transmitted.   Specifies  one  delay  of
              approximately 0.10 seconds.   Specifies  that  tabs
              are  to  be  expanded  into  spaces.   Selects  the
              backspace delays. This is a mask to use before comparing
 to BS0 and BS1.  Specifies no delay.  Specifies
 one delay of approximately  0.05  seconds.  If
              OFILL is set, this delay transmits one fill character.
  Selects the vertical-tab delays.  This  is  a
              mask to use before comparing to VT0 and VT1.  Specifies
 no delay.  Specifies one  delay  of  approximately
  2  seconds.   Selects  the formfeed delays.
              This is a mask to use before comparing to  FF0  and
              FF1.   Specifies  no delay.  Specifies one delay of
              approximately 2 seconds.   Describes  the  hardware
              control  of  the terminal. In addition to the basic
              control modes, this field uses the  following  control
  characters:  Enables  hardware  flow  control
              using the Request to Sent (RTS) and Clear  to  Send
              (CTS) signals.  Specifies the character size. These
              bits specify the character size in  bits  for  both
              transmit  and  receive  operations.  This size does
              not include the parity bit, if  any.   5  bits.   6
              bits.   7  bits.  8 bits.  Specifies number of stop
              bits. If set, 2 stop bits are sent; otherwise, only
              1  stop  bit  is  sent. Higher baud rates require 2
              stop bits. (At 110 baud, for example, 2  stop  bits
              are  required.)   Enables  receiver.   If  set, the
              receiver is enabled. Otherwise, characters are  not
              received.   Enables  parity. If set, parity generation
 and detection is enabled and a parity  bit  is
              added  to each character.  Specifies odd parity. If
              parity is enabled, this specifies  odd  parity.  If
              clear,  even  parity  is  used.   Hangs  up on last
              close. If set, the line is  disconnected  when  the
              last  process  closes  the line or when the process
              terminates (when the `data terminal  ready'  signal
              drops).   Specifies  a local line. If set, the line
              is assumed to have a local, direct connection  with
              no  modem control. If clear, modem control (dialup)
              is assumed.  The  initial  hardware  control  value
              after  an  open is CS8 and CREAD.  Controls various
              terminal functions. In addition to the basic modes,
              this  field  uses  the following mask name symbols:
              Enables signals. If set, each  input  character  is
              checked  against  the INTR and QUIT special control
              characters. If a character  matches  one  of  these
              control  characters,  the  function associated with
              that character is performed. If the  ISIG  function
              is  clear, checking is not done.  Enables canonical
              input. If set, turns on canonical processing, which
              enables  the  erase and kill edit functions as well
              as the assembly  of  input  characters  into  lines
              delimited by NL, EOF, and EOL.

              If  the ICANON function is clear, read requests are
              satisfied directly from the input  queue.  In  this
              case,  a read request is not satisfied until one of
              the following conditions is met:   a)  the  minimum
              number of characters specified by MIN are received;
              or b) the  timeout  value  specified  by  TIME  has
              expired since the last character was received. This
              allows bursts of input  to  be  read,  while  still
              allowing  single  character input. The MIN and TIME
              values are stored in the VMIN and VTIME  positions,
              respectively.  The  time value represents tenths of
              seconds.  Enables canonical uppercase and lowercase
              presentation.  If  set  along with the ICANON function,
 an uppercase letter (or the uppercase  letter
              translated to lowercase by the IUCLC input mode) is
              accepted on input by preceding it with a  \  (backslash)
  character. The output is then preceded by a
              backslash character.  Enables echo. If set, characters
  are  displayed on the terminal screen as they
              are received.  Echoes erase character as  BS-SP-BS.
              If  the  ECHO  and ECHOE functions are both set and
              ECHOPRT is clear, the  erase  character  is  implemented
  as  a  backspace, a space, and then another
              backspace (ASCII BS-SP-BS). This  clears  the  last
              character  from  the  screen.  If ECHOE is set, but
              ECHO is clear, the erase character  is  implemented
              as  ASCII SP-BS.  Echoes NL after kill. If ECHOK is
              set and ECHOKE is clear, a newline function is performed
  to clear the line after a KILL character is
              received. This emphasizes that the line is deleted.
              Note  that  an escape character preceding the ERASE
              or KILL character  removes  any  special  function.
              Echoes  NL.  If  ECHONL is set, the line is cleared
              when a newline function is performed whether or not
              the ECHO function is set. This is useful for terminals
 that are set to local echo (also  referred  to
              as  half-duplex).  Unless  an escape character precedes
 an EOF, the EOF character is  not  displayed.
              Because the ASCII EOT character is the default endof-file
 character,  this  prevents  terminals  that
              respond to the EOT character from hanging up.  Disables
 queue flushing. If set, the  normal  flushing
              of  the input and output queues associated with the
              quit and interrupt characters is not done.

              The ICANON, XCASE, ECHO, ECHOE, ECHOK, ECHONL,  and
              NOFLSH special input functions are possible only if
              the ISIG function is set. These  functions  can  be
              disabled  individually by changing the value of the
              control character  to  an  unlikely  or  impossible
              value (for example, 0377 octal or 0xFF) Echoes control
 characters as ^X, where the X variable is  the
              character  given by adding 100 octal to the code of
              the control character. The ASCII DEL  character  is
              echoed as ^? and the ASCII TAB, NL, and START characters
 are not echoed.

              Unless an escape character precedes an EOF, the EOF
              character  is  not displayed. Because the ASCII EOT
              character is  the  default  End-of-File  character,
              this  mask  prevents  terminals that respond to the
              EOT character from hanging up.   Echoes  the  first
              ERASE  and  WERASE  character  in a sequence as a \
              (backslash), and then erases the characters. Subsequent
  ERASE and WERASE characters echo the characters
 being erased (in reverse order).   Echoes  the
              kill  character  by  erasing  from  the screen each
              character on the line.  Flushes  the  output.  When
              this bit is set by typing the FLUSH character, data
              written to the terminal is discarded.   A  terminal
              can cancel the effect of typing the FLUSH character
              by clearing this bit.  Reprints any input that  has
              not  yet  been read when the next character arrives
              as  input.    Enables   extended   (implementationdefined)
  functions to be recognized from the input
              data. If this bit is clear,  implementation-defined
              functions are not recognized, and the corresponding
              input characters are  processed  as  described  for
              ICANON,  ISIG,  IXON,  and  IXOFF.  Sends a SIGTTOU
              signal when a process in a background process group
              tries  to  write  to  its controlling terminal. The
              SIGTTOU signal stops the  members  of  the  process
              group. If job control is not supported, this symbol
              is ignored.  Specifies an array  that  defines  the
              special  control characters. The relative positions
              and initial values for each function  are:  Indexes
              the  INTR control character (Ctrl-Backspace), which
              sends a SIGINT signal to stop  all  processes  controlled
 by this terminal.  Indexes the QUIT control
              character (Ctrl-v or Ctrl-|), which sends a SIGQUIT
              signal  to  stop  all  processes controlled by this
              terminal and writes a core image file into the current
  working directory.  Indexes the ERASE control
              character (Backspace), which erases  the  preceding
              character.  The  ERASE  character  does  not  erase
              beyond the beginning of the line  (delimited  by  a
              NL, EOL, EOF, or EOL2 character).  Indexes the KILL
              control  character  (Ctrl-u),  which  deletes   the
              entire  line  (delimited by a NL, EOL, EOF, or EOL2
              character).   Indexes  the  EOF  control  character
              (Ctrl-d), which can be used at the terminal to generate
  an  end-of-file.  When  this  character   is
              received,  all  characters  waiting  to be read are
              immediately passed to the program  without  waiting
              for  a  new  line, and the EOF is discarded. If the
              EOF is at the beginning of a  line  (no  characters
              are  waiting),  zero  characters  are  passed back,
              which is the standard End-of-File.  Indexes the EOL
              control  character (Ctrl-@ or ASCII null), which is
              an additional line delimiter that is  not  normally
              used.   Indexes  the EOL2 control character (Ctrl-@
              or ASCII null), which is an additional line  delimiter
  that is not normally used.  Indexes the START
              control character (Ctrl-q),  which  resumes  output
              that  has been suspended by a STOP character. START
              characters are ignored if the output  is  not  suspended.
   Indexes the SUSP control character (Ctrlz),
 which causes a SIGTSTP signal to be sent to all
              foreground  processes  controlled by this terminal.
              This character is recognized during  input  if  the
              ISIG  flag  is  enabled. If job control is not supported,
 this character  is  ignored.   Indexes  the
              DSUSP  control  character  (Ctrl-y), which causes a
              SIGTSTP signal to be sent to  all  foreground  processes
  controlled by this terminal. This character
              is recognized when the process attempts to read the
              DSUSP  character.  If job control is not supported,
              this character is ignored.  Indexes the  STOP  control
  character (Ctrl-s), which can be used to temporarily
 suspend output. This character  is  recognized
  during  both  input  and output if the IXOFF
              (input control) or IXON (output  control)  flag  is
              set.   Indexes the REPRINT control character (Ctrlr),
 which reprints all characters that are preceded
              by  a  NL  character  and  that have not been read.
              Indexes the  DISCARD  control  character  (Ctrl-o),
              which  causes  all  output  to  be  discarded until
              another DISCARD character is typed, more  input  is
              received, or the condition is cleared by a program.
              Indexes  the  WERASE  control  character  (Ctrl-w),
              which erases the preceding word. The WERASE character
 does not erase beyond the beginning of the line
              (delimited  by  a NL, EOL, EOF, or EOL2 character).
              Indexes the LNEXT (literal next) control  character
              (Ctrl-v),  which  causes the special meaning of the
              next character to be ignored,  so  that  characters
              can  be input without being interpreted by the system.


              The character values for INTR, QUIT, SWTCH,  ERASE,
              KILL, EOF, and EOL can be changed. The ERASE, KILL,
              and EOF characters can also  be  escaped  (preceded
              with  a backslash) so that no special processing is
              done.  Indexes the minimum read value.  This  value
              is  used for noncanonical processing.  See the previous
 description of the ICANON flag.  Indexes  the
              time  value.   This  value is used for noncanonical
              processing. See the  previous  description  of  the
              ICANON  flag.   Specifies  the input baud rate. The
              default input baud  rate  is  9600.   However,  the
              input  baud  rate can be specified to be one of the
              following: Hangs up. The zero baud rate is used  to
              hang  up  the  connection.  If B0 is specified, the
              `data terminal ready' signal is not asserted.  Normally,
  this  disconnects  the  line.  50 baud.  75
              baud.  110 baud.  134.5 baud.  150 baud.  200 baud.
              300  baud.   600 baud.  600 baud.  1200 baud.  1800
              baud.  2400 baud.  4800 baud.   9600  baud.   19200
              baud.   38400  baud.   57600  baud.   115200  baud.
              External A.  External B.  Specifies the output baud
              rate.

              The default output baud rate is 9600.  However, the
              possible output baud rate values are  the  same  as
              for the input baud rate values listed above.

       The following values for the optional-actions parameter of
       the tcsetattr() function are also defined in the termios.h
       header  file:  Immediately  sets the parameters associated
       with the terminal from the referenced  termios  structure.
       Waits until all output written to the object file has been
       transmitted before setting the  terminal  parameters  from
       the  termios structure.  Waits until all output written to
       the  object  file  has  been  transmitted  and  all  input
       received  but  not  read has been discarded before setting
       the terminal parameters from the termios structure.

       The following values for the queue-selector  parameter  of
       the  tcflush()  function  are  also defined in this header
       file: Flushes data that is received but not read.  Flushes
       data  that  is  written but not transmitted.  Flushes both
       data that is received but not read and data that is  written
 but not transmitted.

       The  following  values  for  the  action  parameter of the
       tcflow() system call are also  defined  in  the  termios.h
       header  file:  Suspends  the  output of data by the object
       file named in the tcflow() function.  Restarts data output
       that  was  suspended by the TCOOFF parameter.  Transmits a
       stop character to stop data transmission by  the  terminal
       device.   Transmits  a start character to start or restart
       data transmission by the terminal device.

FILES    [Toc]    [Back]

       The path to the termios.h header file.

SEE ALSO    [Toc]    [Back]

      
      
       Files: ace(7), scc(7), tty(7)

       Functions:   ioctl(2),   cfgetispeed(3),   cfgetospeed(3),
       cfsetispeed(3),    cfsetospeed(3),   tcsetattr(3),   tcgetattr(3), tcflow(3), tcflush(3)

       Commands: csh(1), sh(1), stty(1), tset(1), getty(8)



                                                       termios(4)
[ Back ]
 Similar pages
Name OS Title
cfmakeraw OpenBSD manipulating the termios structure
cfsetospeed OpenBSD manipulating the termios structure
cfsetspeed FreeBSD manipulating the termios structure
cfgetospeed FreeBSD manipulating the termios structure
cfsetispeed OpenBSD manipulating the termios structure
cfgetispeed FreeBSD manipulating the termios structure
tcsetattr OpenBSD manipulating the termios structure
cfgetospeed OpenBSD manipulating the termios structure
cfgetispeed OpenBSD manipulating the termios structure
tcsetattr NetBSD manipulating the termios structure
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service