Merge commit '9276b3991ba20d5a5660887ba81b0bc7bed25a0c'
[unleashed.git] / share / man / man9f / scsi_get_device_type_scsi_options.9f
blobd7a912a05bec0723f728e333537b1c15f6e47f4c
1 '\" te
2 .\" Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH SCSI_GET_DEVICE_TYPE_SCSI_OPTIONS 9F "Nov 19, 2001"
7 .SH NAME
8 scsi_get_device_type_scsi_options \- look up per-device-type scsi-options
9 property
10 .SH SYNOPSIS
11 .LP
12 .nf
13 #include <sys/scsi/scsi.h>
17 \fBint\fR \fBscsi_get_device_type_scsi_options\fR(\fBdev_info_t  *\fR\fIdip\fR,
18      \fBstruct scsi_device  *\fR\fIdevp\fR, \fBint\fR \fIdefault_scsi_options\fR);
19 .fi
21 .SH INTERFACE LEVEL
22 .sp
23 .LP
24 Solaris DDI specific (Solaris DDI).
25 .SH PARAMETERS
26 .sp
27 .ne 2
28 .na
29 \fB\fIdip\fR\fR
30 .ad
31 .RS 24n
32 Pointer to the device info node for this HBA driver.
33 .RE
35 .sp
36 .ne 2
37 .na
38 \fB\fIdevp\fR\fR
39 .ad
40 .RS 24n
41 Pointer to a \fBscsi_device\fR(9S) structure of the target.
42 .RE
44 .sp
45 .ne 2
46 .na
47 \fB\fIdefault_scsi_options\fR\fR
48 .ad
49 .RS 24n
50 Value returned if no match is found.
51 .RE
53 .SH DESCRIPTION
54 .sp
55 .LP
56 The \fBscsi_get_device_type_scsi_options()\fR function looks up the property
57 \fBdevice-type-scsi-options-list\fR, which can be specified in the HBA's
58 \fBdriver.conf\fR(4) file. This property allows specification of
59 \fBscsi-options\fR on a per-device-type basis.
60 .sp
61 .LP
62 The formal syntax is:
63 .sp
64 .in +2
65 .nf
66 device-type-scsi-options-list = \fI<duplet>\fR [, \fI<duplet>\fR *];
67 .fi
68 .in -2
69 .sp
71 .sp
72 .LP
73 where:
74 .sp
75 .in +2
76 .nf
77 \fI<duplet>\fR := \fI<vid+pid>\fR, \fI<scsi-options-property-name>\fR
78 .fi
79 .in -2
80 .sp
82 .sp
83 .LP
84 and:
85 .sp
86 .in +2
87 .nf
88 \fI<scsi-options-property-name>\fR = \fI<value>\fR;
89 .fi
90 .in -2
91 .sp
93 .sp
94 .LP
95 The string \fI<vid+pid>\fR is returned by the device on a SCSI inquiry command.
96 This string can contain any character in the range 0x20-0x7e. Characters such
97 as double quote (\fB"\fR) or single quote (\fB\&'\fR), which are not permitted
98 in property value strings, are represented by their octal equivalent (for
99 example, \e042 and \e047). Trailing spaces can be truncated.
102 For example:
104 .in +2
106 device-type-scsi-options-list=
107         "SEAGATE ST32550W",  "seagate-options",
108         "EXABYTE EXB-2501".  "exabyte-options",
109         "IBM OEM DFHSS4S",  "ibm-options";
111 seagate-options = 0x78;
112 exabyte-options = 0x58;
113 ibm-options = 0x378;
115 .in -2
120 The \fBscsi_get_device_type_scsi_options()\fR function searches the list of
121 duplets for a matching \fBINQUIRY\fR string. If a match is found,
122 \fBscsi_get_device_type_scsi_options()\fR returns the corresponding value.
123 .SH RETURN VALUES
126 \fBscsi_get_device_type_scsi_options()\fR returns the \fBscsi-options\fR value
127 found, or if no match is found the \fBdefault_scsi_options\fR value passed in.
128 .SH CONTEXT
131 This function can be called from kernel or interrupt context.
132 .SH SEE ALSO
135 \fIWriting Device Drivers\fR