Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for tcflush (redhat section 3)

TERMIOS(3)			    Linux Programmer's Manual			       TERMIOS(3)

NAME
       termios,  tcgetattr,  tcsetattr,  tcsendbreak,  tcdrain, tcflush, tcflow, cfmakeraw, cfge-
       tospeed, cfgetispeed, cfsetispeed, cfsetospeed, tcgetpgrp, tcsetpgrp - get and set  termi-
       nal  attributes,  line  control,  get  and  set baud rate, get and set terminal foreground
       process group ID

SYNOPSIS
       #include <termios.h>
       #include <unistd.h>

       int tcgetattr(int fd, struct termios *termios_p);

       int tcsetattr(int fd, int optional_actions, struct termios *termios_p);

       int tcsendbreak(int fd, int duration);

       int tcdrain(int fd);

       int tcflush(int fd, int queue_selector);

       int tcflow(int fd, int action);

       int cfmakeraw(struct termios *termios_p);

       speed_t cfgetispeed(struct termios *termios_p);

       speed_t cfgetospeed(struct termios *termios_p);

       int cfsetispeed(struct termios *termios_p, speed_t speed);

       int cfsetospeed(struct termios *termios_p, speed_t speed);

       pid_t tcgetpgrp(int fd);

       int tcsetpgrp(int fd, pid_t pgrpid);

DESCRIPTION
       The termios functions describe a general terminal interface that is  provided  to  control
       asynchronous communications ports.

       Many  of  the  functions  described  here have a termios_p argument that is a pointer to a
       termios structure.  This structure contains 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 chars */

       c_iflag flag constants:

       IGNBRK Ignore BREAK condition on input.

       BRKINT If IGNBRK is set, a BREAK is ignored. If it is not set but BRKINT is  set,  then	a
	      BREAK  causes the input and output queues to be flushed, and if the terminal is the
	      controlling terminal of a foreground process group, it will cause a  SIGINT  to  be
	      sent  to	this foreground process group.	When neither IGNBRK nor BRKINT are set, a
	      BREAK reads as a NUL character, except when PARMRK is set, in which case	it  reads
	      as the sequence \377 \0 \0.

       IGNPAR Ignore framing errors and parity errors.

       PARMRK If  IGNPAR is not set, prefix a character with a parity error or framing error with
	      \377 \0.	If neither IGNPAR nor PARMRK is set, read a character with a parity error
	      or framing error as \0.

       INPCK  Enable input parity checking.

       ISTRIP Strip off eighth bit.

       INLCR  Translate NL to CR on input.

       IGNCR  Ignore carriage return on input.

       ICRNL  Translate carriage return to newline on input (unless IGNCR is set).

       IUCLC  (not in POSIX) Map uppercase characters to lowercase on input.

       IXON   Enable XON/XOFF flow control on output.

       IXANY  (not in POSIX.1; XSI) Enable any character to restart output.

       IXOFF  Enable XON/XOFF flow control on input.

       IMAXBEL
	      (not  in	POSIX) Ring bell when input queue is full.  Linux does not implement this
	      bit, and acts as if it is always set.

       c_oflag flag constants defined in POSIX.1:

       OPOST  Enable implementation-defined output processing.

       The remaining c_oflag flag constants are defined in POSIX 1003.1-2001, unless marked  oth-
       erwise.

       OLCUC  (not in POSIX) Map lowercase characters to uppercase on output.

       ONLCR  (XSI) Map NL to CR-NL on output.

       OCRNL  Map CR to NL on output.

       ONOCR  Don't output CR at column 0.

       ONLRET Don't output CR.

       OFILL  Send fill characters for a delay, rather than using a timed delay.

       OFDEL  (not  in	POSIX)	Fill  character is ASCII DEL (0177).  If unset, fill character is
	      ASCII NUL.

       NLDLY  Newline delay mask.  Values are NL0 and NL1.

       CRDLY  Carriage return delay mask.  Values are CR0, CR1, CR2, or CR3.

       TABDLY Horizontal tab delay mask.  Values are TAB0, TAB1, TAB2, TAB3 (or XTABS).  A  value
	      of  TAB3,  that  is, XTABS, expands tabs to spaces (with tab stops every eight col-
	      umns).

       BSDLY  Backspace delay mask.  Values are BS0 or BS1.  (Has never been implemented.)

       VTDLY  Vertical tab delay mask.	Values are VT0 or VT1.

       FFDLY  Form feed delay mask.  Values are FF0 or FF1.

       c_cflag flag constants:

       CBAUD  (not in POSIX) Baud speed mask (4+1 bits).

       CBAUDEX
	      (not in POSIX) Extra baud speed mask (1 bit), included in CBAUD.

       (POSIX says that the baud speed is stored in  the  termios  structure  without  specifying
       where precisely, and provides cfgetispeed() and cfsetispeed() for getting at it. Some sys-
       tems use bits selected by CBAUD in  c_cflag,  other  systems  use  separate  fields,  e.g.
       sg_ispeed and sg_ospeed.)

       CSIZE  Character size mask.  Values are CS5, CS6, CS7, or CS8.

       CSTOPB Set two stop bits, rather than one.

       CREAD  Enable receiver.

       PARENB Enable parity generation on output and parity checking for input.

       PARODD Parity for input and output is odd.

       HUPCL  Lower modem control lines after last process closes the device (hang up).

       CLOCAL Ignore modem control lines.

       LOBLK  (not in POSIX) Block output from a noncurrent shell layer.  (For use by shl.)

       CIBAUD (not  in	POSIX) Mask for input speeds. The values for the CIBAUD bits are the same
	      as the values for the CBAUD bits, shifted left IBSHIFT bits.

       CRTSCTS
	      (not in POSIX) Enable RTS/CTS (hardware) flow control.

       c_lflag flag constants:

       ISIG   When any of the characters INTR, QUIT, SUSP, or DSUSP are  received,  generate  the
	      corresponding signal.

       ICANON Enable  canonical mode.  This enables the special characters EOF, EOL, EOL2, ERASE,
	      KILL, LNEXT, REPRINT, STATUS, and WERASE, and buffers by lines.

       XCASE  (not in POSIX; not supported under Linux) If ICANON is also set, terminal is upper-
	      case  only.   Input is converted to lowercase, except for characters preceded by \.
	      On output, uppercase characters are preceded by \ and lowercase characters are con-
	      verted to uppercase.

       ECHO   Echo input characters.

       ECHOE  If  ICANON  is  also set, the ERASE character erases the preceding input character,
	      and WERASE erases the preceding word.

       ECHOK  If ICANON is also set, the KILL character erases the current line.

       ECHONL If ICANON is also set, echo the NL character even if ECHO is not set.

       ECHOCTL
	      (not in POSIX) If ECHO is also set, ASCII  control  signals  other  than	TAB,  NL,
	      START,  and  STOP  are  echoed as ^X, where X is the character with ASCII code 0x40
	      greater than the control signal.	For example, character 0x08 (BS) is echoed as ^H.

       ECHOPRT
	      (not in POSIX) If ICANON and IECHO are also set, characters are printed as they are
	      being erased.

       ECHOKE (not  in	POSIX) If ICANON is also set, KILL is echoed by erasing each character on
	      the line, as specified by ECHOE and ECHOPRT.

       DEFECHO
	      (not in POSIX) Echo only when a process is reading.

       FLUSHO (not in POSIX; not supported under Linux) Output is being flushed.   This  flag  is
	      toggled by typing the DISCARD character.

       NOFLSH Disable  flushing  the  input and output queues when generating the SIGINT, SIGQUIT
	      and SIGSUSP signals.

       TOSTOP Send the SIGTTOU signal to the process group of a background process which tries to
	      write to its controlling terminal.

       PENDIN (not  in	POSIX;	not  supported under Linux) All characters in the input queue are
	      reprinted when the next character is read.  (bash handles typeahead this way.)

       IEXTEN Enable implementation-defined input processing.  This flag, as well as ICANON  must
	      be  enabled  for	 the special characters EOL2, LNEXT, REPRINT, WERASE to be inter-
	      preted, and for the IUCLC flag to be effective.

       The c_cc array defines the special control characters.  The symbolic indices (initial val-
       ues) and meaning are:

       VINTR  (003,  ETX,  Ctrl-C,  or also 0177, DEL, rubout) Interrupt character. Send a SIGINT
	      signal.  Recognized when ISIG is set, and then not passed as input.

       VQUIT  (034, FS, Ctrl-\) Quit character. Send SIGQUIT signal.   Recognized  when  ISIG  is
	      set, and then not passed as input.

       VERASE (0177, DEL, rubout, or 010, BS, Ctrl-H, or also #) Erase character. This erases the
	      previous not-yet-erased character, but does not erase  past  EOF	or  beginning-of-
	      line.  Recognized when ICANON is set, and then not passed as input.

       VKILL  (025,  NAK,  Ctrl-U,  or	Ctrl-X,  or also @) Kill character. This erases the input
	      since the last EOF or beginning-of-line.	Recognized when ICANON is set,	and  then
	      not passed as input.

       VEOF   (004,  EOT,  Ctrl-D)  End-of-file character.  More precisely: this character causes
	      the pending tty buffer to be sent to the waiting user program without  waiting  for
	      end-of-line.  If it is the first character of the line, the read() in the user pro-
	      gram returns 0, which signifies end-of-file.  Recognized when ICANON  is	set,  and
	      then not passed as input.

       VMIN   Minimum number of characters for non-canonical read.

       VEOL   (0, NUL) Additional end-of-line character.  Recognized when ICANON is set.

       VTIME  Timeout in deciseconds for non-canonical read.

       VEOL2  (not  in	POSIX; 0, NUL) Yet another end-of-line character.  Recognized when ICANON
	      is set.

       VSWTCH (not in POSIX; not supported under Linux; 0, NUL) Switch character.  (Used  by  shl
	      only.)

       VSTART (021,  DC1, Ctrl-Q) Start character. Restarts output stopped by the Stop character.
	      Recognized when IXON is set, and then not passed as input.

       VSTOP  (023, DC3, Ctrl-S) Stop character. Stop output until Start character typed.  Recog-
	      nized when IXON is set, and then not passed as input.

       VSUSP  (032, SUB, Ctrl-Z) Suspend character. Send SIGTSTP signal.  Recognized when ISIG is
	      set, and then not passed as input.

       VDSUSP (not in POSIX; not supported under Linux; 031, EM, Ctrl-Y) Delayed suspend  charac-
	      ter:  send  SIGTSTP  signal when the character is read by the user program.  Recog-
	      nized when IEXTEN and ISIG are set, and the system supports job control,	and  then
	      not passed as input.

       VLNEXT (not  in	POSIX;	026,  SYN, Ctrl-V) Literal next. Quotes the next input character,
	      depriving it of a possible special meaning.  Recognized when  IEXTEN  is	set,  and
	      then not passed as input.

       VWERASE
	      (not in POSIX; 027, ETB, Ctrl-W) Word erase.  Recognized when ICANON and IEXTEN are
	      set, and then not passed as input.

       VREPRINT
	      (not in POSIX; 022, DC2, Ctrl-R) Reprint unread characters.  Recognized when ICANON
	      and IEXTEN are set, and then not passed as input.

       VDISCARD
	      (not  in POSIX; not supported under Linux; 017, SI, Ctrl-O) Toggle: start/stop dis-
	      carding pending output.  Recognized when IEXTEN is set,  and  then  not  passed  as
	      input.

       VSTATUS
	      (not in POSIX; not supported under Linux; status request: 024, DC4, Ctrl-T).

       These  symbolic	subscript  values are all different, except that VTIME, VMIN may have the
       same value as VEOL, VEOF, respectively.	(In  non-canonical  mode  the  special	character
       meaning	is  replaced by the timeout meaning. MIN represents the minimum number of charac-
       ters that should be received to satisfy the read. TIME is a decisecond-valued timer.  When
       both  are  set,	a read will wait until at least one character has been received, and then
       return as soon as either MIN characters have been received or time TIME has  passed  since
       the  last  character was received. If only MIN is set, the read will not return before MIN
       characters have been received. If only TIME is set, the read will return as soon as either
       at  least  one character has been received, or the timer times out. If neither is set, the
       read will return immediately, only giving the currently already available characters.)

       tcgetattr() gets the parameters associated with the object referred by fd and stores  them
       in  the	termios  structure  referenced by termios_p.  This function may be invoked from a
       background process; however, the terminal attributes may  be  subsequently  changed  by	a
       foreground process.

       tcsetattr()  sets  the parameters associated with the terminal (unless support is required
       from the underlying hardware that is not available) from the termios structure referred to
       by termios_p.  optional_actions specifies when the changes take effect:

       TCSANOW
	      the change occurs immediately.

       TCSADRAIN
	      the  change occurs after all output written to fd has been transmitted.  This func-
	      tion should be used when changing parameters that affect output.

       TCSAFLUSH
	      the change occurs after all output written to the object referred by  fd	has  been
	      transmitted,  and  all  input that has been received but not read will be discarded
	      before the change is made.

       tcsendbreak() transmits a continuous stream of zero-valued bits for a  specific	duration,
       if  the	terminal is using asynchronous serial data transmission.  If duration is zero, it
       transmits zero-valued bits for at least 0.25 seconds, and not more that 0.5  seconds.   If
       duration  is  not  zero,  it  sends zero-valued bits for duration*N seconds, where N is at
       least 0.25, and not more than 0.5.

       If the terminal is not using asynchronous serial data transmission, tcsendbreak()  returns
       without taking any action.

       tcdrain()  waits  until all output written to the object referred to by fd has been trans-
       mitted.

       tcflush() discards data written to the object referred to by fd but  not  transmitted,  or
       data received but not read, depending on the value of queue_selector:

       TCIFLUSH
	      flushes data received but not read.

       TCOFLUSH
	      flushes data written but not transmitted.

       TCIOFLUSH
	      flushes both data received but not read, and data written but not transmitted.

       tcflow()  suspends  transmission  or  reception	of  data on the object referred to by fd,
       depending on the value of action:

       TCOOFF suspends output.

       TCOON  restarts suspended output.

       TCIOFF transmits a STOP character, which stops the terminal device from transmitting  data
	      to the system.

       TCION  transmits  a START character, which starts the terminal device transmitting data to
	      the system.

       The default on open of a terminal file is that neither its input nor its  output  is  sus-
       pended.

       The  baud  rate functions are provided for getting and setting the values of the input and
       output baud rates in the termios structure.  The new values do not take effect until tcse-
       tattr() is successfully called.

       Setting the speed to B0 instructs the modem to "hang up".  The actual bit rate correspond-
       ing to B38400 may be altered with setserial(8).

       The input and output baud rates are stored in the termios structure.

       cfmakeraw sets the terminal attributes as follows:
		   termios_p->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
				   |INLCR|IGNCR|ICRNL|IXON);
		   termios_p->c_oflag &= ~OPOST;
		   termios_p->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
		   termios_p->c_cflag &= ~(CSIZE|PARENB);
		   termios_p->c_cflag |= CS8;

       cfgetospeed() returns the output baud rate stored in the termios structure pointed  to  by
       termios_p.

       cfsetospeed()  sets  the  output  baud  rate stored in the termios structure pointed to by
       termios_p to speed, which must be one of these constants:
	    B0
	    B50
	    B75
	    B110
	    B134
	    B150
	    B200
	    B300
	    B600
	    B1200
	    B1800
	    B2400
	    B4800
	    B9600
	    B19200
	    B38400
	    B57600
	    B115200
	    B230400
       The zero baud rate, B0, is used to terminate the connection.   If  B0  is  specified,  the
       modem control lines shall no longer be asserted.  Normally, this will disconnect the line.
       CBAUDEX is a mask for the speeds beyond those defined in POSIX.1 (57600 and above).  Thus,
       B57600 & CBAUDEX is nonzero.

       cfgetispeed() returns the input baud rate stored in the termios structure.

       cfsetispeed()  sets  the input baud rate stored in the termios structure to speed.  If the
       input baud rate is set to zero, the input baud rate will be equal to the output baud rate.

       tcgetpgrp() returns process group ID of foreground processing group, or -1 on error.

       tcsetpgrp() sets process group ID to pgrpid.  pgrpid must be the ID of a process group  in
       the same session.

RETURN VALUE
       cfgetispeed() returns the input baud rate stored in the termios structure.

       cfgetospeed() returns the output baud rate stored in the termios structure.

       tcgetpgrp() returns process group ID of foreground processing group, or -1 on error.

       All other functions return:

       0      on success.

       -1     on failure and set errno to indicate the error.

       Note  that  tcsetattr()	returns success if any of the requested changes could be success-
       fully carried out.  Therefore, when making multiple changes it may be necessary to  follow
       this call with a further call to tcgetattr() to check that all changes have been performed
       successfully.

NOTES
       Unix V7 and several later systems have a list of baud rates where after the fourteen  val-
       ues B0, ..., B9600 one finds the two constants EXTA, EXTB ("External A" and "External B").
       Many systems extend the list with much higher baud rates.

SEE ALSO
       stty(1), setserial(8)

Linux					    2001-12-17				       TERMIOS(3)


All times are GMT -4. The time now is 12:18 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password