SCSI_GET_DEVICE_TYPE_SCSI_OPTIONS(9F) Kernel Functions for Drivers

NAME


scsi_get_device_type_scsi_options - look up per-device-type scsi-options
property

SYNOPSIS


#include <sys/scsi/scsi.h>


int scsi_get_device_type_scsi_options(dev_info_t *dip,
struct scsi_device *devp, int default_scsi_options);


INTERFACE LEVEL


illumos DDI specific (illumos DDI).

PARAMETERS


dip
Pointer to the device info node for this HBA
driver.


devp
Pointer to a scsi_device(9S) structure of the
target.


default_scsi_options
Value returned if no match is found.


DESCRIPTION


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.

RETURN VALUES


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.

CONTEXT


This function can be called from kernel or interrupt context.

SEE ALSO


Writing Device Drivers

November 19, 2001
SCSI_GET_DEVICE_TYPE_SCSI_OPTIONS(9F)