一个驱动程序可以潜在地控制多个主机适配器。 例如,Advansys 提供了一个 Linux 适配器驱动程序,该驱动程序控制该公司生产的所有适配器 - 如果 1 台机器中有 2 个或更多 Advansys 适配器,则 1 个驱动程序控制这两个适配器。 当 ('driver_status' & SG_ERR_DRIVER_SENSE) 为真时,也会输出 'sense_buffer'(感应缓冲区)。 'driver_status' 字段具有以下值,其 #defines 模仿内核中可见的那些值(从每个 define 的前面删除了 "SG_ERR_")。 这些定义的副本可以在 sg_err.h 中找到(请参阅工具部分)
SG_ERR_DRIVER_OK [0x00] 通常没有建议
SG_ERR_DRIVER_BUSY [0x01]
SG_ERR_DRIVER_SOFT [0x02]
SG_ERR_DRIVER_MEDIA [0x03]
SG_ERR_DRIVER_ERROR [0x04]
SG_ERR_DRIVER_INVALID [0x05]
SG_ERR_DRIVER_TIMEOUT [0x06] 适配器驱动程序无法控制 SCSI 总线,因此它将其设备设置为离线(并放弃)
SG_ERR_DRIVER_HARD [0x07]
SG_ERR_DRIVER_SENSE [0x08] 意味着感应缓冲区输出
以上状态与以下建议之一进行“或”运算
SG_ERR_SUGGEST_RETRY [0x10]
SG_ERR_SUGGEST_ABORT [0x20]
SG_ERR_SUGGEST_REMAP [0x30]
SG_ERR_SUGGEST_DIE [0x40]
SG_ERR_SUGGEST_SENSE [0x80]