mpqn 特殊文件

用途

通过 多协议四端口 (MPQP) 设备处理程序提供对多协议适配器的访问权。

描述

/dev/mpqn 字符特殊文件提供对 MPQP 设备处理程序的访问,以便提供对同步网络的访问。 MPQP 设备处理程序支持多个适配器。

使用注意事项

当访问 MPQP 设备处理程序时,应考虑下列事项:

驱动程序初始化和终止

可以装入和卸载设备处理程序。 该处理程序支持用于初始化和终止自身的配置调用。

特殊文件支持

除了 关闭 子例程调用之外,还讨论了与设备处理程序运行的方式相关的调用。

子例程支持

MPQP 设备处理程序以如下方式支持 关闭ioctl 子例程:

  • 关闭 子例程

    设备处理程序支持 /dev/mpqn 特殊文件作为字符多路复用特殊文件。 必须同时打开特殊文件以进行读写操作 (0-RDWR)。 关闭特殊文件时没有任何特殊注意事项。 在 调用中使用的特殊文件名取决于设备的打开方式。 特殊文件名的类型为:

    描述
    / dev/mpqn 启动所选端口的设备处理程序。
    / dev /mpqn/D 以诊断方式对所选端口启动设备处理程序。
  • 子例程

    可以采取 Readvx 子例程调用的形式。 对于此调用,设备处理程序会将数据复制到调用者指定的缓冲区中。

  • 子例程

    可以采取 写 Vx 子例程调用的形式。 对于此调用,设备处理程序会将用户数据复制到缓冲区并在 LAN 上传输数据。

  • ioctl 子例程
    描述
    CIO_START 启动会话并注册一个网络标识。
    CIO_暂停 停止会话,并除去网络标识。
    CIO_查询 返回当前 RAS 计数器值。 这些值在 /usr/include/sys/comio.h 文件中定义。
    获取状态 返回当前适配器和设备处理程序状态。
    MP_START_AR 将 MPQP 端口置于自动响应方式。
    MP_STOP_AR 允许 MPQP 端口退出 "自动响应" 方式。
    MP_CHG_PARMS 在 MPQP 设备启动后,允许数据链路控制 (DLC) 更改某些概要文件参数。
    MP_设置延迟 设置 NDELAY的值。

错误代码

通过 /dev/mpqn 特殊文件访问设备处理程序时,可能会返回以下错误代码:

描述
欧洲人权法院 指示通道号已超出范围。
再一次 指示已达到直接内存访问 (DMAs) 的最大数量,因此处理程序无法获取内部控制结构的内存。
EBUSY 指示下列其中一项:
  • 端口未处于正确的状态。
  • 该端口应该已配置,但未打开或启动。
  • 对于 ioctl 操作的启动,未打开端口状态。
  • 端口未启动,或者未处于数据传输状态。
EIO 指示处理程序无法对向适配器发出的请求进行排队。
EFAULT 指示交叉内存复制服务已失败。
EINTR 表示休眠已被信号中断。
EINVAL 指示下列其中一项:
  • 未正确设置该端口。
  • 处理程序无法设置用于写入的结构。
  • 端口是无效的。
  • 内核进程调用了 "选择" 操作。
  • 对于该端口,指定的物理链路参数无效。
  • 内核进程调用了该读操作。
ENOMEM 指示下列其中一项:
  • 没有任何 mbuf 或 mbuf 集群可用。
  • 总数据长度超过一个页。
  • 没有用于内部结构的内存。
ENOMSG 指示 "状态队列" 指针为空,并且没有任何条目。
准备就绪 指示定义设备结构 (DDS) 中的端口状态不处于 "数据传输" 方式,或者隐式停止端口失败。
ENXIO 指示下列其中一项:
  • 该端口未成功启动。
  • 指定了无效的适配器号。
  • 通道号是非法的。
  • 适配器已在诊断方式下打开。
  • 适配器控制块 (ACB) 指针为空,或者不存在。
  • 中断处理程序的注册失败。
  • 端口不存在或处于不正确的状态。
  • 适配器号超出了范围。

通信设备处理程序主题定义每次子例程调用时返回的特定错误。