终端I/O之行控制函数

下列4个函数提供了终端设备的行控制能力。其中,filedes引用一个终端设备,否则出错返回,errno设置为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);

四个函数返回值:若成功则返回0,出错则返回-1

 

tcdrain函数等待所有输出都被发送。

 

tcflow用于对输入和输出流控制进行控制。action参数应当是下列四个值之一:

TCOOFF 输出被挂起。

TCOON 重新启动以前被挂起的输出。

TCIOFF 系统发送一个STOP字符。这将使终端设备暂停发送数据。

TCION 系统发送一个START字符。这将使终端恢复发送数据。

 

tcflush函数刷清(抛弃)输入缓冲区或输出缓冲区。输入缓冲区中的数据是终端驱动程序已收到,但用户程序尚未读的;输出缓冲区中的数据是用户程序已经写,但尚未发送的。queue参数应当是下列三个常量之一:

TCIFLUSH 刷清输入队列。

TCOFLUSH 刷清输出队列。

TCIOFLUSH 刷清输入、输出队列。

 

tcsendbreak函数在一个指定的时间区内发送连续的0位流。若duration参数为0,则此种发送延续0.25至0.5秒之间。POSIX.1说明若duration非0,则发送时间依赖于实现。

原文地址:https://www.cnblogs.com/nufangrensheng/p/3576782.html