UNIX系统下的设备I/O控制与相关系统调用详解
1. 本地模式字
在新的tty驱动中,额外的模式是通过本地模式字来设置的。这个本地模式字的功能类似于 sgttyb 结构中的 sg_flags 字,它是一个32位整数,会与下面讨论的操作常量之一一起传递给 ioctl 。以下是一些比较有用的模式:
| 模式 | 描述 |
| ---- | ---- |
| LCRTBS | 当输入擦除字符时,执行退格操作,而不是擦除字符。 |
| LCRTERA | 对于CRT终端,通过为每个字符打印“退格 空格 退格”来执行退格操作,从而在屏幕上擦除该字符。 |
| LCRTKILL | 使用“退格 空格 退格”方法擦除整行来执行行删除操作。这与旧的tty驱动不同,旧驱动只是回显一个新行。 |
| LCTLECH | 将输入控制字符(除了擦除和删除字符)打印为 ^X ,其中 X 是控制字符。通常,字符会按原样回显(例如, ^G ,响铃字符会发出蜂鸣声等)。 |
| LTOSTOP | 当设置此模式时,如果后台进程尝试写入终端,它将通过信号被停止,并且在被置于前台之前无法写入终端。除非用户使用 csh 或其他支持作业控制的shell,否则此模式相对无用。 |
相关的操作常量如下:
| 操作常量 | 描述 |
| ---- | ---- |
| TIOCLGET | 获取当前模式字。 |
| TIOCLS
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



