SCSI_GET_DEVICE_TYPE_SCSI_OPTIONS(9F) | Kernel Functions for Drivers | SCSI_GET_DEVICE_TYPE_SCSI_OPTIONS(9F) |
scsi_get_device_type_scsi_options - look up per-device-type scsi-options property
#include <sys/scsi/scsi.h> int scsi_get_device_type_scsi_options(dev_info_t *dip,
struct scsi_device *devp, int default_scsi_options);
illumos DDI specific (illumos DDI).
dip
devp
default_scsi_options
The scsi_get_device_type_scsi_options() function looks up the property device-type-scsi-options-list, which can be specified in the HBA's driver.conf(5) file. This property allows specification of scsi-options on a per-device-type basis.
The formal syntax is:
device-type-scsi-options-list = <duplet> [, <duplet> *];
where:
<duplet> := <vid+pid>, <scsi-options-property-name>
and:
<scsi-options-property-name> = <value>;
The string <vid+pid> is returned by the device on a SCSI inquiry command. This string can contain any character in the range 0x20-0x7e. Characters such as double quote (") or single quote ('), which are not permitted in property value strings, are represented by their octal equivalent (for example, \042 and \047). Trailing spaces can be truncated.
For example:
device-type-scsi-options-list=
"SEAGATE ST32550W", "seagate-options",
"EXABYTE EXB-2501". "exabyte-options",
"IBM OEM DFHSS4S", "ibm-options"; seagate-options = 0x78; exabyte-options = 0x58; ibm-options = 0x378;
The scsi_get_device_type_scsi_options() function searches the list of duplets for a matching INQUIRY string. If a match is found, scsi_get_device_type_scsi_options() returns the corresponding value.
scsi_get_device_type_scsi_options() returns the scsi-options value found, or if no match is found the default_scsi_options value passed in.
This function can be called from kernel or interrupt context.
Writing Device Drivers
November 19, 2001 | OmniOS |