-
直接转换方法:从伪终端设备的数据流图到模块结构图
资源介绍
19.3 打开伪终端设备
在S V R 4和4 . 3 + B S D系统中打开伪终端设备的方法有所不同。我们提供两个函数来处理所
有细节:p t y m _ o p e n用来打开下一个有效的伪终端主设备,p t y s _ o p e n用来打开相应的从设备。
#include "o u r h d r . h"
int ptym_open(char *p t s _ n a m e) ;
返回:若成功则为伪终端主设备文件描述符,否则为 - 1
int ptys_open(int f d m, char *p t s _ n a m e) ;
返回:若成功则为伪终端从设备文件描述符,否则为 - 1
通常我们不直接调用这两个函数—函数p t y _ f o r k(见1 9 . 4节)调用它们并f o r k出一个子进程。
p t y m _ o p e n决定下一个有效的伪终端主设备并打开该设备。这个调用必须分配一个数组来
存放主设备或从设备的名称,并且如果调用成功,相应的主设备或从设备的名称会通过
p t s _ n a m e返回。这个名称和p t y m _ o p e n返回的文件描述符将传给 p t y s _ o p e n,该函数用来打开一
个从设备。
4 8 0 U N I X环境高级编程
输出文件
登录s h e l l p t y进程
终端行规程 终端行规程
终端设备
驱动程序
p t y主设备 p t y从设备
终端上
的用户
内核
slowout