fp_open 数据链路控制 (DLC) 设备的内核服务
用途
允许内核打开通用数据链路控制 (GDLC) 设备管理器 (按其设备名)。
语法
#include <sys/gdlextcb.h>
#include <fcntl.h>
fp_open (path, oflags, cmode, ext, segflag, fpp)
参数
| 项 | 描述 |
|---|---|
| 路径 | 由一个字符串组成,其中包含 GDLC 设备管理器的/dev特殊文件名,以及通信设备处理程序的名称。 以下示例中显示了该格式:
|
| 奥旗帜 | 指定用于设置文件状态标志的值。 GDLC 设备管理器忽略除以下值的所有值:
|
| CMode | 指定O_CREAT模式参数。 这将被 GDLC 忽略。 |
| 分机 | 指定扩展内核服务参数。 这是一个指向dlc_open_ext扩展 I/O 结构的指针,用于打开子程序。 此参数的自变量必须位于内核空间中。 |
| 分段标志 | 指定用于指示 路径 参数所在位置的段标志:
|
| fpp | 指定返回的文件指针。 该参数以引用方式传递,并由文件 I/O 子系统更新为该打开子程序的文件指针。 |
描述
fp_open内核服务允许内核用户通过指定 DLC 和通信设备处理程序的特殊文件名来打开 GDLC 设备管理器。 由于 GDLC 设备管理器是复用的,多个进程可以多次打开它 (或同一进程多次打开) ,并且仍然具有唯一的通道标识。
每个打开项都带有通信设备处理程序的特殊文件名,以便 DLC 知道要在哪个端口上传输数据。
内核用户还必须提供功能入口地址,以便获得接收数据和异常条件。 Each GDLC supports the fp_open kernel service via its dlcopen entry point. fp_open内核服务只能从进程环境中调用。 AIX®Version6.1通信编程概念中的 "使用 GDLC 特殊内核服务 "提供了更多信息。
返回值
成功完成后,此服务将在 弗普 参数中返回值 0 和有效的文件指针。
| 项 | 描述 |
|---|---|
| 埃奇尔德 | 指示此服务无法创建内核进程。 |
| EINVAL | 指示无效值。 |
| ENODEV | 指示不存在此类设备处理程序。 |
| ENOMEM | 指示资源不足,无法满足打开。 |
| EFAULT | 表示内核服务(如copyin或initp 服务)发生故障。 |
这些返回值在/usr/include/sys/errno.h文件中定义。