TMGETSENS (请求检测) tmscsi 设备驱动程序 ioctl 操作

用途

运行 SCSI 请求检测 命令,并将检测数据返回给用户。

注: 并非所有 SCSI I/O 控制器都支持此操作。

描述

TMGETSENS ioctl 操作运行 SCSI 请求检测 命令并将检测到的数据返回给用户。 仅对于发起方方式设备,才允许执行此操作。 它由调用者发出,以响应设置为值 ENXIO 子例程 错误号 全局变量。 此操作必须是针对此启动器向设备发出的下一个命令,否则检测数据将丢失。 ioctl 操作的 arg 参数是 /usr/include/sys/tmscsi.h 文件中定义的 tm_get_sens 结构的地址。 调用者必须提供用于将返回的设备检测数据保存在此结构中的缓冲区的地址和长度。 请求检测数据的最大长度为 255 个字节。 调用者应参考目标设备的 SCSI 规范,以确定设备的请求检测数据的正确长度。 在调用者通过的缓冲区中返回请求的检测数据长度或实际检测数据长度中较小的值。 有关返回的数据的定义,请参阅正在使用的设备的详细 SCSI 规范。

在每个 TMGETSENS 操作后,目标方式设备驱动程序会生成相应的 错误号 全局变量。 如果发生错误,返回值将设置为 -1 值,errno 全局变量将设置为目标模式设备驱动程序生成的值。 设备驱动程序还会将为最后一个命令保留的状态区域更新到每个设备。 对于某些错误,在成功完成后,调用者可以读取此状态区域以获取命令的更详细错误状态。 可将 TMIOSTAT 操作用于此目的。 此状态所涵盖的 错误号 全局变量包括 EIOEbUSYENXIOETIMEDOUT

文件

描述
/dev/tmscsi0/dev/tmscsi1.../dev/tmscsin 支持通过 SCSI 目标方式设备驱动程序进行处理器到处理器的通信。