TERMIOS.3
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:5k
源码类别:

操作系统开发

开发平台:

C/C++

  1. TERMIOS(3)                Minix Programmer's Manual                 TERMIOS(3)
  2. NAME
  3.      termios, tcgetattr,  tcsetattr,  cfgetispeed,  cfgetospeed,  cfsetispeed,
  4.      cfsetospeed,  tcsendbreak,  tcdrain,  tcflush,  tcflow  - change terminal
  5.      attributes
  6. SYNOPSIS
  7.      #include <termios.h>
  8.      int tcgetattr(int fd, struct termios *tp)
  9.      int tcsetattr(int fd, int action, const struct termios *tp)
  10.      speed_t cfgetispeed(const struct termios *tp)
  11.      speed_t cfgetospeed(const struct termios *tp)
  12.      int cfsetispeed(struct termios *tp, speed_t speed)
  13.      int cfsetospeed(struct termios *tp, speed_t speed)
  14.      int tcsendbreak(int fd, int duration)
  15.      int tcdrain(int fd)
  16.      int tcflush(int fd, int queue_selector)
  17.      int tcflow(int fd, int action)
  18. DESCRIPTION
  19.      These are the user functions that modify the tty attributes mentioned  in
  20.      tty(4).   In the following, fd refers to an open terminal device file, tp
  21.      is the address of a struct termios, and speed and values of type  speed_t
  22.      are  equal to one of the B0, B50, etc. baud rate symbols.  All functions,
  23.      symbols, and types are declared in <termios.h>.
  24.      The effects of the tty functions are:
  25.      tcgetattr(fd, tp)
  26.           Get the current settings of the tty attributes.
  27.      tcsetattr(fd, TCSANOW, tp)
  28.           Set the terminal attributes.  The change occurs immediately.
  29.      tcsetattr(fd, TCSADRAIN, tp)
  30.           Set the terminal attributes.  The change occurs once all the  output
  31.           waiting  in  the output queues has been transmitted.  This should be
  32.           used when options affecting output are changed.
  33.      tcsetattr(fd, TCSAFLUSH, tp)
  34.           Set the terminal attributes.  But first wait until  all  the  output
  35.           waiting  in  the  output  queues  has  been  transmitted.  All input
  36.           waiting in the input queues is then  discarded  and  the  change  is
  37.           made.   This  should  be  used when switching from canonical to non-
  38.           canonical mode or vice-versa.  (Oddly enough, this  is  seldom  what
  39.           you  want, because it discards typeahead.  An editing shell does the
  40.           Right Thing if it uses TCSANOW instead.   POSIX  may  not  guarantee
  41.           good  results, but in practice most systems make the canonical input
  42.                                                                              1
  43. TERMIOS(3)                Minix Programmer's Manual                 TERMIOS(3)
  44.           available in raw mode.)
  45.      cfgetispeed(tp)
  46.           Return the input baud rate encoded in the termios structure.
  47.      cfgetospeed(tp)
  48.           Return the output baud rate encoded in the termios structure.
  49.      cfsetispeed(tp, speed)
  50.           Encode the new input baud rate into the termios structure.
  51.      cfsetospeed(tp, speed)
  52.           Encode the new output baud rate into the termios structure.
  53.      tcsendbreak(fd, duration)
  54.           Emit a break condition on a serial line  for  a  time  indicated  by
  55.           duration.  (Always 0.4 seconds under Minix, duration is ignored.)
  56.      tcdrain(fd)
  57.           Wait until  all  output  waiting  in  the  output  queues  has  been
  58.           transmitted.
  59.      tcflush(fd, TCIFLUSH)
  60.           Flush the input queue.  (I.e. discard it.)
  61.      tcflush(fd, TCOFLUSH)
  62.           Flush the output queue.
  63.      tcflush(fd, TCIOFLUSH)
  64.           Flush the input and output queues.
  65.      tcflow(fd, TCOOFF)
  66.           Suspend output.  (Like the effect of STOP.)
  67.      tcflow(fd, TCOON)
  68.           Restart output.  (Like the effect of START.)
  69.      tcflow(fd, TCIOFF)
  70.           Transmit a STOP character intended to make the  remote  device  stop
  71.           transmitting data.
  72.      tcflow(fd, TCION)
  73.           Transmit a START character to restart the remote device.
  74. SEE ALSO
  75.      stty(1), tty(4).
  76.                                                                              2
  77. TERMIOS(3)                Minix Programmer's Manual                 TERMIOS(3)
  78. DIAGNOSTICS
  79.      All functions return 0 unless otherwise specified, and -1 on  error  with
  80.      errno  set  to  indicate  the type of error.  The most notable errors are
  81.      ENOTTY if fd does not refer to a terminal device, and EINTR if one of the
  82.      functions waiting for output to drain is interrupted.
  83. NOTES
  84.      It may be interesting to know that the functions operating on the tty are
  85.      directly  translated  into  the  following Minix ioctl requests:  TCGETS,
  86.      TCSETS (now), TCSETSW (drain), TCSETSF, (flush), TCSBRK, TCDRAIN, TCFLSH,
  87.      and TCFLOW.  You should only use this knowledge when trying to understand
  88.      the tty driver code, of course.
  89. BUGS
  90. AUTHOR
  91.      Kees J. Bot (kjb@cs.vu.nl)
  92.                                                                              3