【文件属性】:
文件名称:终端标识-数据流图到模块结构图的直接转换方法
文件大小:5.82MB
文件格式:PDF
更新时间:2024-07-12 01:23:50
APUE UNIX
11.8 行控制函数
下列四个函数提供了终端设备的行控制能力。其中,参数 f i l e d e s引用一个终端设备,否则
出错返回,e r r n o设置为E N O T T Y。
#include
int tcdrain(int f i l e d e s) ;
int tcflow(int f i l e d e s, int a c t i o n) ;
int tcflush(int f i l e d e s, int q u e u e) ;
int tcsendbreak(int f i l e d e s, int d u r a t i o n) ;
四个函数返回:若成功则为 0,若出错则为- 1
t c d r a i n函数等待所有输出都被发送。 t c f l o w用于对输入和输出流控制进行控制。 a c t i o n参数
应当是下列四个值之一。
• TCOOFF 输出被挂起。
• TCOON 以前被挂起的输出被重新起动。
• TCIOFF 系统发送一个S TO P字符。这将使终端设备暂停发送数据。
• TCION 系统发送一个S TA RT字符。这将使终端恢复发送数据。
t c f l u s h函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出
缓存(用户程序已经写,但尚未发送)。q u e u e参数应当是下列三个常数之一:
• TCIFLUSH 刷清输入队列。
• TCOFLUSH 刷清输出队列。
• TCIOFLUSH 刷清输入、输出队列。
t c s e n d b r e a k函数在一个指定的时间区间内发送连续的 0位流。若d u r a t i o n参数为0,则此种
发送延续0 . 2 5 ~ 0 . 5秒之间。P O S I X . 1说明若d u r a t i o n非0,则发送时间依赖于实现。
SVR4 SVID说明若d u r a t i o n非0,则不发送0位。但是,S V R 4手册页中说,若
d u r a t i o n非0,则 t c s e n d b r e a k的行为与 t c d r a i n一样。另一个系统手册页则说,若
d u r a t i o n非0,则传送0位的时间是d u r a t i o n×N,其中N在0 . 2 5 ~ 0 . 5秒之间。从中可
见,如何处理这种条件还没有统一样式。
11.9 终端标识
历史沿袭至今,在大多数 U N I X系统中,控制终端的名字是 / d e v / t t y。P O S I X . 1提供了一个
运行时函数,可被调用来决定控制终端的名字。
#include
2 6 0 U N I X环境高级编程