-
直接转换方法:将数据流图转化为模块结构图的其他特性
资源介绍
19.7 其他特性
伪终端还有其他特性,我们在这里简略提一下。 AT & T [ 1 9 9 0 d ]和4 . 3 + B S D系统的操作手册
有更详细的内容。
19.7.1 打包模式
打包模式能够使伪终端主设备了解到伪终端从设备的状态变化。在 S V R 4系统中可以将流
模块p c k t压入主设备端来设置这种模式。图 1 9 - 2显示了这种可选模式。在 4 . 3 + B S D系统中可以
通过T I O C P K T的i o c t l来设置这种模式。
S V R 4和4 . 3 + B S D系统中具体的打包模式有所不同。在 S V R 4系统中,读取伪终端主设备的
进程必须调用g e t m s g从流中取得数据,这是因为 p c k t模块将一些事件转化为无数据的流消息。
在4 . 3 + B S D系统中每一次从伪终端主设备的读操作都会在可选数据之后返回状态字节。
无论实现的方法是什么样的,打包模式的目的是,当伪终端从设备之上的行规程模块出现
以下事件时,通知进程从伪终端主设备读取数据:读入队列被刷新;写出队列被刷新;输出被
停止(如:C t r l - S);输出重新开始;X O N / X O F F流开关被关闭后重新打开;X O N / X O F F流开
关被打开后重新关闭。这些事件被 r l o g i n客户机和r l o g i d服务器等使用。
19.7.2 远程模式
伪终端主设备可以用T I O C R E M O T E的i o c t l将伪终端从设备设置成远程模式。虽然 S V R 4和
4 . 3 + B S D系统使用同样的命令来打开或关闭这个特性,但是在 S V R 4系统中i o c t l的第三个参数是
一个整型数,而4 . 3 + B S D中是一个指向整型数的指针。
4 9 4 U N I X环境高级编程