终端I/O之行控制函数
下列4個(gè)函數(shù)提供了終端設(shè)備的行控制能力。其中,filedes引用一個(gè)終端設(shè)備,否則出錯(cuò)返回,errno設(shè)置為ENOTTY。
#include <termios.h>
int tcdrain(int filedes);
int tcflow(int filedes, int action);
int tcflush(int filedes, int queue);
int tcsendbreak(int filedes, int duration);
四個(gè)函數(shù)返回值:若成功則返回0,出錯(cuò)則返回-1
?
tcdrain函數(shù)等待所有輸出都被發(fā)送。
?
tcflow用于對(duì)輸入和輸出流控制進(jìn)行控制。action參數(shù)應(yīng)當(dāng)是下列四個(gè)值之一:
TCOOFF 輸出被掛起。
TCOON 重新啟動(dòng)以前被掛起的輸出。
TCIOFF 系統(tǒng)發(fā)送一個(gè)STOP字符。這將使終端設(shè)備暫停發(fā)送數(shù)據(jù)。
TCION 系統(tǒng)發(fā)送一個(gè)START字符。這將使終端恢復(fù)發(fā)送數(shù)據(jù)。
?
tcflush函數(shù)刷清(拋棄)輸入緩沖區(qū)或輸出緩沖區(qū)。輸入緩沖區(qū)中的數(shù)據(jù)是終端驅(qū)動(dòng)程序已收到,但用戶程序尚未讀的;輸出緩沖區(qū)中的數(shù)據(jù)是用戶程序已經(jīng)寫,但尚未發(fā)送的。queue參數(shù)應(yīng)當(dāng)是下列三個(gè)常量之一:
TCIFLUSH 刷清輸入隊(duì)列。
TCOFLUSH 刷清輸出隊(duì)列。
TCIOFLUSH 刷清輸入、輸出隊(duì)列。
?
tcsendbreak函數(shù)在一個(gè)指定的時(shí)間區(qū)內(nèi)發(fā)送連續(xù)的0位流。若duration參數(shù)為0,則此種發(fā)送延續(xù)0.25至0.5秒之間。POSIX.1說(shuō)明若duration非0,則發(fā)送時(shí)間依賴于實(shí)現(xiàn)。
轉(zhuǎn)載于:https://www.cnblogs.com/nufangrensheng/p/3576782.html
總結(jié)
以上是生活随笔為你收集整理的终端I/O之行控制函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。