SCSI_GET_DEVICE_TYPE_STRING(9F) Kernel Functions for Drivers
scsi_get_device_type_string - look up per-device-type, returning
matching information string
#include <sys/scsi/scsi.h>
char *scsi_get_device_type_string(char *prop_name,
dev_info_t *dip, struct scsi_device *devp);
illumos DDI specific (illumos DDI).
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.
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.
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);
This function can be called from kernel or interrupt context.
driver.conf(5), scsi_device(9S)
Writing Device Drivers
August 22, 2023
SCSI_GET_DEVICE_TYPE_STRING(9F)
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)