SCIOSTOPTGT (停止目标) SCSI 适配器设备驱动程序 ioctl 操作
用途
关闭 SCSI 发起程序设备的逻辑路径。
描述
SCIOSTOPTGT 操作会关闭指向 SCSI 发起方设备的逻辑路径,其中主机 SCSI 适配器充当目标。 此操作会导致适配器设备驱动程序取消分配为响应 SCIOSTARTTGT 操作而分配的依赖于设备的信息区域。 它还会导致适配器设备驱动程序取消分配用于保存从发起方接收到的数据的系统缓冲区。 最后,它将禁用主机适配器从所选发起方接收数据的能力。
此操作只能从内核进程或设备驱动程序进行调用。
注: 并非所有 SCSI I/O Controller 都支持此操作。 如果不支持,errno 将设置为 ENXIO 并返回 -1 值。
SCIOSTOPTGT 操作的 arg 参数应设置为 sc_stop_tgt 结构的地址,该结构在 /usr/include/sys/scsi.h 文件中定义。 来电者填写id的 SCSI 标识的字段,并设置 logical unit number (LUN)字段到0因为对于接收到的数据,将忽略发起方 LUN。
注: 调用设备驱动程序先前应该已通过将其信息结构传递到 SCSI 适配器设备驱动程序的 自由峰 例程来释放任何接收到的数据区域。 分配给此设备的所有缓冲区都由 SCIOSTOPTGT 操作取消分配,而不管调用设备驱动程序是否已完成处理这些缓冲区并已调用 自由峰 例程。
返回值
成功完成后,此操作将返回值 0。 否则,将返回 -1 值,并将 errno 全局变量设置为以下值之一:
| 项 | 描述 |
|---|---|
| EINVAL | 先前未向该 SCSI 标识发出 SCIOSTOPTGT 命令。 |
| EPERM | 指示调用者未在内核方式下运行,内核方式是唯一允许执行此操作的方式。 |
文件
| 项 | 描述 |
|---|---|
| /dev/scsi0, /dev/scsi1, ... | 提供一个接口以允许 SCSI 设备驱动程序访问 SCSI 设备或适配器。 |
| /dev/vscsi0, /dev/vscsi1, ... ,/dev/vscsin | 提供一个接口以允许 SCSI-2 快速/宽适配器 /A 和 SCSI-2 差分快速/宽适配器 /A 设备驱动程序访问 SCSI 设备或适配器。 |