Data Structures for Drivers scsiinquiry(9S)
NAME
scsiinquiry - SCSI inquiry structure
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DI specific (Solaris DI).
DESCRIPTION
The scsiinquiry structure contains 36 required bytes, fol-
lowed by a variable number of vendor-specific parameters.
Bytes 59 through 95, if returned, are reserved for future
standardization. This structure is part of scsidevice(9S)
structure and typically filled in by scsiprobe(9F).
STRUCTURE MEMBERS
Lines that start with an 'X' will be deleted before submission;
they are being classified as unstable at this time.
uchart inqdtype; /* Periph. qualifier, dev. type */
uchart inqrmb :1; /* Removable media */
uchart inqqual :7; /* Dev. type qualifier */
uchart inqiso :2; /* ISO version */
uchart inqecma :3; /* EMCA version */
uchart inqansi :3; /* ANSI version */
uchart inqaenc :1; /* Async event notif. cap. */
uchart inqtrmiop :1; /* Supports TERMINATE I/O PROC msg */
uchart inqnormaca :1; /* setting NACA bit supported */
uchart inqhisup :1; /* hierarchical addressing model */
uchart inqrdf :4; /* Response data format */
uchart inqlen /* Additional length */
uchart inqsccs :1; /* embedded storage array */
Xuchart inqacc :1; /* access controls coordinator */
uchart inqtpgse :1; /* explicit asymmetric lun access */
uchart inqtpgsi :1; /* implicit asymmetric lun access */
Xuchart inq3pc :1; /* third-party copy */
Xuchart inqprotect :1; /* supports protection information */
uchart inqbque :1; /* basic queueing */
uchart inqencserv :1; /* embedded enclosure services */
uchart inqdualp :1; /* dual port device */
uchart inqmchngr :1; /* embedded/attached to medium chngr */
uchart inqaddr16 :1; /* SPI: supports 16 bit wide SCSI addr */
uchart inqwbus16 :1; /* SPI: Supports 16 bit wide data xfers */
uchart inqsync :1; /* SPI: Supports synchronous data xfers */
uchart inqlinked :1; /* Supports linked commands */
uchart inqcmdque :1; /* Supports command queueing */
uchart inqsftre :1; /* Supports Soft Reset option */
char inqvid[8]; /* Vendor ID */
char inqpid[16]; /* Product ID */
char inqrevision[4]; /* Revision level */
SunOS 5.11 Last change: 5 Nov 2008 1
Data Structures for Drivers scsiinquiry(9S)
uchart inqclk :2; /* SPI3 clocking */
uchart inqqas :1; /* SPI3: quick arb sel */
uchart inqius :1; /* SPI3: information units */
inqdtype identifies the type of device. Bits 0 - 4
represent the Peripheral Device Type and bits 5 - 7
represent the Peripheral Qualifier. The following values are
appropriate for Peripheral Device Type field:
DTYPEDIRECT Direct-access device (for example, mag-
netic disk).
DTYPESEQUENTIAL Sequential-access device (for example,
magnetic tape).
DTYPEPRINTER Printer device.
DTYPEPROCESOR Processor device.
DTYPEWORM Write-once device (for example, some
optical disks).
DTYPERODIRECT CD-ROM device.
DTYPESCANER Scanner device.
DTYPEOPTICAL Optical memory device (for example, some
optical disks).
DTYPECHANGER Medium Changer device (for example,
jukeboxes).
DTYPECOM Communications device.
DTYPEARAYCTRL Array controller device (for example,
RAID).
DTYPESI Enclosure services device.
SunOS 5.11 Last change: 5 Nov 2008 2
Data Structures for Drivers scsiinquiry(9S)
DTYPERBC Simplified direct-access device.
DTYPEOCRW Optical card reader/writer device.
DTYPEBRIDGE Bridge.
DTYPEOSD Object-based storage device.
DTYPEUNKNOWN Unknown or no device type.
DTYPEMASK Mask to isolate Peripheral Device Type
field.
The following values are appropriate for the Peripheral
Qualifier field:
DPQPOSIBLE The specified peripheral device type is
currently connected to this logical unit.
If the target cannot determine whether or
not a physical device is currently con-
nected, it uses this peripheral qualifier
when returning the INQUIRY data. This peri-
pheral qualifier does not imply that the
device is ready for access by the initia-
tor.
DPQSUPORTED The target is capable of supporting the
specified peripheral device type on this
logical unit. However, the physical device
is not currently connected to this logical
unit.
DPQNEVER The target is not capable of supporting a
physical device on this logical unit. For
this peripheral qualifier, the peripheral
device type shall be set to DTYPEUNKNOWN
to provide compatibility with previous ver-
sions of SCSI. For all other peripheral
device type values, this peripheral qualif-
ier is reserved.
SunOS 5.11 Last change: 5 Nov 2008 3
Data Structures for Drivers scsiinquiry(9S)
DPQVUNIQ This is a vendor-unique qualifier.
DPQMASK Mask to isolate Peripheral Qualifier field.
DTYPENOTPRESENT is the peripheral qualifier DPQNEVER and
the peripheral device type DTYPEUNKNOWN combined.
inqrmb, if set, indicates that the medium is removable.
inqqual is a device type qualifier.
inqiso indicates ISO version.
inqecma indicates ECMA version.
inqansi indicates ANSI version.
inqaenc, if set, indicates that the device supports asyn-
chronous event notification capability as defined in SCSI-2
specification.
inqtrmiop, if set, indicates that the device supports the
TERMINATE I/O PROCESmessage.
inqnormaca, if set, indicates that the device supports set-
ting the NACA bit to 1 in CDB.
inqhisip, if set, indicates the SCSI target device uses the
hierarchical addressing model to assign LUNs to logical
units.
inqrdf, if set, indicates the INQUIRY data response data
format: "RDFLEVEL0" means that this structure complies with
the SCSI-1 spec, "RDFCS" means that this structure com-
plies with the CS pseudo-spec, and "RDFSCSI2" means that
the structure complies with the SCSI-2/3 spec.
SunOS 5.11 Last change: 5 Nov 2008 4
Data Structures for Drivers scsiinquiry(9S)
inqlen, if set, is the additional length field that speci-
fies the length in bytes of the parameters.
inqsccs, if set, indicates the target device contains an
embedded storage array controller component.
inqacc, if set, indicates that the logical unit contains an
access controls coordinator (this structure member will be
deleted before submission. It is being classified as
unstable at this time).
inqtpgse, if set, indicates that implicit asymmetric logi-
cal unit access is supported.
inqtpgsi, if set, indicates that explicit asymmetric logi-
cal unit access is supported.
inq3pc, if set, indicates that the SCSI target device sup-
ports third-party copy commands (this structure member will
be deleted before submission. It is being classified as
unstable at this time).
inqprotect, if set, indicates that the logical unit sup-
ports protection information (this structure member will be
deleted before submission. It is being classified as
unstable at this time).
inqbque, if set, indicates that the logical unit supports
basic task management.
inqencserv, if set, indicates that the device contains an
embedded enclosure services component (ses(7D)).
inqdualp, if set, indicates that the SCSI target device
supports two or more ports.
inqmchngr, if set, indicates that the SCSI target device
supports commands to control an attached media changer.
inqaddr16, if set, indicates that the device supports 16-
bit wide SCSI addresses.
SunOS 5.11 Last change: 5 Nov 2008 5
Data Structures for Drivers scsiinquiry(9S)
inqwbus16, if set, indicates that the device supports 16-
bit wide data transfers.
inqsync, if set, indicates that the device supports syn-
chronous data transfers.
inqlinked, if set, indicates that the device supports
linked commands for this logical unit.
inqcmdque, if set, indicates that the device supports
tagged command queueing.
inqsftre, if reset, indicates that the device responds to
the RESET condition with the hard RESET alternative. If this
bit is set, this indicates that the device responds with the
soft RESET alternative.
inqvid contains eight bytes of ASCI data identifying the
vendor of the product.
inqpid contains sixteen bytes of ASCI data as defined by
the vendor.
inqrevision contains four bytes of ASCI data as defined by
the vendor.
inqclk clocking of the SPI3 target port.
inqgas the SPI3 target port supports quick arbitration and
selection.
inqius the SPI3 target device supports information unit
transfers.
SEE ALSO
scsiprobe(9F), scsidevice(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
SunOS 5.11 Last change: 5 Nov 2008 6
Data Structures for Drivers scsiinquiry(9S)
ANSI SCSI Primary Commands-3 (SPC-3)
http:/t10.org/drafts.htm#spc3
Writing Device Drivers
SunOS 5.11 Last change: 5 Nov 2008 7
|