SCSI_GET_DEVICE_TYPE_STRING(9F) Kernel Functions for Drivers

NAME


scsi_get_device_type_string - look up per-device-type, returning matching
information string

SYNOPSIS


#include <sys/scsi/scsi.h>


char *scsi_get_device_type_string(char *prop_name,
dev_info_t *dip, struct scsi_device *devp);


INTERFACE LEVEL


illumos DDI specific (illumos DDI).

PARAMETERS


prop_name
Name of string array property that contains a list of paired
device-type information.


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


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


DESCRIPTION


The scsi_get_device_type_string() function looks up the prop_name
property, which can be specified in the HBA's driver.conf(5) file. This
property allows specification of per-device-type information. The formal
syntax for prop_name in a driver.conf(5) file is:

prop_name = <duplet> [, <duplet> *];


where:

<duplet> := "<vid+pid>", "<information"


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:

scsi_vhci_failover_override =
"STK FLEXLINE 400", "f_asym_lsi",
"SUN T4", "f_tpgs";;


The scsi_get_device_type_string() function searches the list of duplets
for a matching INQUIRY string. If a match is found,
scsi_get_device_type_string returns a copy of the <information> string.
The meaning of the returned <information> string is determined by the
caller.

RETURN VALUES


scsi_get_device_type_string() returns a copy of the matching
<information> string, or if no match is found, NULL is returned. When a
non-NULL value is returned, the caller is responsible for freeing the
<information> string via:

kmem_free(info, strlen(info) + 1);


CONTEXT


This function can be called from kernel or interrupt context.

SEE ALSO


driver.conf(5), scsi_device(9S)


Writing Device Drivers

August 22, 2023 SCSI_GET_DEVICE_TYPE_STRING(9F)