度,首先
用字符长度屏蔽标志CSIZE将表示字符长度的各二进制位清0,然后配置下列值之一
:CS5、C
S6、CS7或CS8。
由SVR4支持的6个延迟值也有屏蔽标志:BSDLY、CRDLY、FFDLY、NLDLY、TABDLY和
VTDLY。对
于每个延迟值的长度请参阅termio(7)手册页(AT&T [1999])。假如指定了一
个延迟,
则OFILL和OFDEL标志决定是否终端进行实施延迟或是只是传输填充字符。
实例
程式112例示了使用屏蔽标志取或配置一个值。
程式111〓tcgetattr的实例
下面说明各选择标志
ALTWERASE〓(c-lflag,4.3 BSD)此标志配置时,若输入了WERASE字符,则使用一
个替换的
字擦除算法。他不是向后移动到前一个白空字符为止,而是向后移动到第一个非字
母、数字
符为止。
BRKINT〓(c-iflag,POSIX.1)若此标志配置,而IGNBRN末配置,则在接到BREAK时
,输入、
输出队列被刷清,并产生一个SIGINT信号。假如此终端设备是个控制终端,则将
此信号送
给前台进程组各进程。
假如IGNBRK和BRKINT都没有配置,但是配置了PARMRK,则BREAK被读作为三个字节
序列\
377,\0和\0,假如PARMRK也没有配置,则BREAK被志作为单个字符"
\0。
BSDLY〓(c-oflag,SVR4)退格延迟屏蔽,此屏蔽的值是BS0或BS1。
CCTS-OFLOW〓(c-cflag,4.3 BSD)输出的CTS流控制(见练习114)。
CIGNORE〓(c-cflag,4.3 BSD)忽略控制标志。
CLOCAL〓(c-cflag,POSIX1)如若配置,则忽略调制解调器状态线。这通常
意味着该
设备是本地连接的。若此标志未配置,则打开一个终端设备常常会阻塞到调制解调
器回应。
CRDLY〓(c-oflag,SVR4)回车延迟屏蔽。此屏蔽的值是CR0、CR1,CR2和CR3。
CREAD〓(c-cflag,POSIX1)如若配置,则接收装置被启用,能够接收字符。
CRTS-IFLOW〓(c-cflag,4.3 BSD)输入的RTS流控制(见练习114)。
CSIZE〓(c-cflag,POSIX.1)此字段是个屏蔽标志,他指明发送和接收的每个字
节的二进
位数。此长度不包括可能有的奇偶校验位。由此屏蔽定义的字段值是CS5、CS6、C
S7和CS8,
分别表示每个字节包含5,6,7和8个二进制位。
CSTOPB〓(c-cflag,POSIX.1)如若配置,则使用两个二进制位作为停止位,否则只
使用一个
二进制位作为停止位。
ECHO〓(c-lflag,POSIX.1)如若配置,则将输入字符回送到终端设备。在规范方式
和非规范
方式下都能够回送字符。
ECHOCTL〓(c-lflag,SCR4t 4.3 BSD),如若配置并且ECHO也配置,则除ASCII TAB、
ASCII NL
、START和STOP字符外,其他ASCI控制符(ASCI字符集中的0~037)都被回送为
^X,其中
,X是相应控制字符代码值加0100所构成的字符。这就意味着ASCII Control-A字符
(01)被回
送为^A。ASCII DELETE字符(0177)是回送为^?。如若此标志未配置,则ASCII控制
字符按其
原样回送。如同ECHO标志,在规范方式和非规范方式下此标志对控制字符回送都起
作用。
应当了解的是:某些系统回送EOF字符产生的作用有所不同,其原因是EOF的典型值
是Contro
l-D,而这是ASCII EOT字符,他可能使某些终端挂断。请查看有关手册。
ECHOE〓(c-lflag,POSIX1)如若配置并且ICANON也配置,则ERASE字符从显示中
擦除当前
行中的最后一个字符。这通常是在终端驱动程式中写三个字符序列:退格,空格,
退格实现
的。
如若支持WERASE,则ECHOE用一个或若干个上述三字符序列擦除前一个字。
如若支持ECHOPRT标志,则在这里所说明的ECHOE动作是认为ECHOPRT标志没有配置
。
ECHOK〓(c-lflag,POSIX.1)如若配置并且ICANON也配置,则KILL字符从显示中擦除
当前行,
或输出NL字符(以强调已擦除整个行)。如若支持ECHOKE标志,则这里的说明是认
为ECHOKE
标志没有配置。
ECHOKE〓(d-lflag,SVR4和43 BSD)如若配置并且ICANON也配置,则回送KILLP字
符的方式
是擦去行中的每一个字符。擦除每个字符的方法则由ECHOE和ECHOPRT标志选择。
ECHONL〓(c-lflag,POSIX.1)如若配置并且ICANON也配置,即使没有配置ECHO也回
送NL字符
。
ECHOPRT〓(c-lflag,SCR4和43 BSD)如若配置并且ICANON和IECHO也都配置,则E
RASE字符(
连同WERASE字符,若受到支持)使任何正被擦除的字符按他们被擦除的方式打印。
在硬拷贝
终端上这常常是有用的,这样能够确切地看到哪些字符正被擦去。
FFDLY〓(c-oflag,SCR4)换页延迟屏蔽。此屏蔽标志值是FF0或FF1。
FLUSHO〓(c-lflag,SCR4和43 BSD)如若配置,则刷清输出。当键入DISCARD字符
时配置此
标志,当键入另一个DISCARD字符时,此标志被清除。配置或清除此终端标志也可
配置或清
除此条件。
HUPCL〓(c-cflag,POSIX.1)如若配置,则当最后一个进程关闭此设备时,调制解调
器控制线
降至低电平(也就是调制解调器的连接断开)。
ICANON〓(c-lflag,POSIX.1)如若配置,则按规范方式工作(1110节)。这使下列
字符起作
用:EOF、EOL、EOL2、ERASE、KILL、REPRINT,STATUS和WERASE。输入字符被装配
成行。
在至少接到MIN个字节或已超过TIME值之前,read将不返回。周详情况见1111节
。
CRNL〓(c-iflag,POSIX.1)如若配置并且IGNCR未配置,即将接收到的CR字符转换
成一个NL
字符。
IEXTEN〓(e-lflag,POSIX.1)如若配置,则识别并处理扩充的、实现定义的特别字
符。
IGNBRK〓(c-iflag,POSIX.1)在配置时,忽略输入中的BREAK条件。关于BREAK条件
是产生信
号还是被读作为数据,请见BRKINT。
IGNCR〓(c-iflag,POSIX.1)如若配置,忽略接收到的CR字符。若此标志未配置,而
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



