24、通用终端接口详解

通用终端接口详解

1. 接口概述

通用终端接口应得到支持,若实现提供了异步通信端口,该接口会在这些端口上生效。不过,是否支持网络连接、同步端口或两者皆支持,则由具体实现来决定。

2. 接口特性

2.1 打开终端设备文件

当打开终端设备文件时,通常线程会等待,直至建立连接。实际上,应用程序很少直接打开这些文件,一般由特殊程序打开,之后成为应用的标准输入、输出和错误文件。应用程序打开终端设备的情况如下:
1. 打开 /dev/tty ctermid() 返回的路径名,以获取控制终端的文件描述符。
2. 打开伪终端的辅助端,可参考 XSH ptsname()
3. 打开通过串行线路连接的调制解调器或类似设备。在此情况下,终端参数在设备被任何进程最后一次关闭到下一次打开期间,可能由实现初始化为默认设置,也可能从上一次使用延续下来。若要让终端以符合规范的方式运行,在打开未被任何进程打开的终端设备时,可使用 O_TTY_INIT 打开标志,或者执行 stty 实用程序并使用 sane 操作数。

O_NONBLOCK 标志未设置,打开终端设备文件会使线程阻塞,直到终端设备准备好且可用。若未设置 CLOCAL 模式,这意味着要阻塞到建立连接。若终端设置了 CLOCAL 模式,或者在 open() 中指定了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值