INQUIRYDATA structure (scsi.h)
The INQUIRYDATA structure is used in conjunction with the TapeMiniExtensionInit and TapeMiniVerifyInquiry routines to report SCSI inquiry data associated with a tape device.
Syntax
typedef struct _INQUIRYDATA {
UCHAR DeviceType : 5;
UCHAR DeviceTypeQualifier : 3;
UCHAR DeviceTypeModifier : 7;
UCHAR RemovableMedia : 1;
UCHAR Versions;
UCHAR ResponseDataFormat : 4;
UCHAR HiSupport : 1;
UCHAR NormACA : 1;
UCHAR ReservedBit : 1;
UCHAR AERC : 1;
UCHAR AdditionalLength;
UCHAR Reserved[2];
UCHAR SoftReset : 1;
UCHAR CommandQueue : 1;
UCHAR Reserved2 : 1;
UCHAR LinkedCommands : 1;
UCHAR Synchronous : 1;
UCHAR Wide16Bit : 1;
UCHAR Wide32Bit : 1;
UCHAR RelativeAddressing : 1;
UCHAR VendorId[8];
UCHAR ProductId[16];
UCHAR ProductRevisionLevel[4];
UCHAR VendorSpecific[20];
UCHAR Reserved3[2];
VERSION_DESCRIPTOR VersionDescriptors[8];
UCHAR Reserved4[30];
} INQUIRYDATA, *PINQUIRYDATA;
Members
DeviceType
Specifies the type of device. DeviceType can be one of the following values, defined in scsi.h.
Value | Meaning |
---|---|
DIRECT_ACCESS_DEVICE 0x00 | Disk |
SEQUENTIAL_ACCESS_DEVICE 0x01 | Tape device |
PRINTER_DEVICE 0x02 | Printer |
PROCESSOR_DEVICE 0x03 | Scanner, printer, etc |
WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04 | WORM |
READ_ONLY_DIRECT_ACCESS_DEVICE 0x05 | CD-ROM |
SCANNER_DEVICE 0x06 | Scanner |
OPTICAL_DEVICE 0x07 | Optical disk |
MEDIUM_CHANGER 0x08 | Jukebox |
COMMUNICATION_DEVICE 0x09 | Network device |
ARRAY_CONTROLLER_DEVICE 0x0C | Array controller |
SCSI_ENCLOSURE_DEVICE 0x0D | SCSI enclosure device |
REDUCED_BLOCK_DEVICE 0x0E | For example, 1394 disk |
OPTICAL_CARD_READER_WRITER_DEVICE 0x0F | Optical card reader/writer |
BRIDGE_CONTROLLER_DEVICE 0x10 | Bridge controller |
OBJECT_BASED_STORAGE_DEVICE 0x11 | OSD device |
HOST_MANAGED_ZONED_BLOCK_DEVICE 0x14 | Host managed zoned block device |
UNKNOWN_OR_NO_DEVICE 0x1F | Unknown or no device type |
LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F | A logical unit is not present |
DeviceTypeQualifier
Qualifier for DeviceType. The values that this member can take are as follows:
Value | Meaning |
---|---|
DEVICE_QUALIFIER_ACTIVE | The operating system supports the device, and the device is present. |
DEVICE_QUALIFIER_NOT_ACTIVE | The operating system supports the device, but the device is not present. |
DEVICE_QUALIFIER_NOT_SUPPORTED | The operating system does not support this device. |
DeviceTypeModifier
Specifies the device type modifier, if any, as defined by SCSI. If no device type modifier exists, this member is zero.
RemovableMedia
Indicates, when TRUE, that the media is removable, and when FALSE that the media is not removable.
Versions
Indicates the version of the inquiry data standard that this data conforms to. For more information about the version values allowed in this field, see the SCSI Primary Commands - 2 (SPC-2) specification.
ResponseDataFormat
Indicates the SCSI standard that governs the response data format. The value of this member must be 2.
HiSupport
Indicates, when zero, that the target does not use the hierarchical addressing model to assign LUNs to logical units. A value of 1 indicates the target uses the hierarchical addressing model to assign LUNs to logical units.
NormACA
Indicates, when set to one, that the operating system supports setting the NACA bit to one in the control byte of the command descriptor block (CDB). A value of zero indicates that the system does not support setting the NACA bit to one. For more information about the function of the NACA bit and the control byte in a CDB, see the SCSI Primary Commands - 2 (SPC-2) specification.
ReservedBit
Reserved.
AERC
Indicates, when set to one, that the target device supports the asynchronous event reporting capability. A value of zero indicates that the target device does not support asynchronous event reports. Details of the asynchronous event reporting support are protocol-specific. For more information about asynchronous even reporting, see the SCSI Primary Commands - 2 (SPC-2) specification.
AdditionalLength
Specifies the length in bytes of the parameters of the command descriptor block (CDB).
Reserved[2]
Reserved.
SoftReset
Indicates, when set to one, that the target device supports soft resets. A value of zero indicates that the target does not support soft resets.
CommandQueue
Indicates, when set to one, that the target device supports command queuing for this logical unit. However, a value of zero does not necessarily indicate that the target device does not support command queuing. The meaning of these values depends on the values present in the SCSI inquiry data. For information about the meaning of the command queuing bit, see the SCSI Primary Commands - 2 (SPC-2) specification.
Reserved2
Reserved.
LinkedCommands
Indicates, when set to one, that the operating system supports linked commands. A value of zero indicates the operating system does not support linked commands.
Synchronous
Indicates, when set to one, that the target supports synchronous data transfer. A value of zero indicates that the target does not support synchronous data transfer.
Wide16Bit
Indicates, when set to one, that the target supports 16-bit wide data transfers. A value of zero indicates that the device does not support 16-bit wide data transfers.
Wide32Bit
Indicates, when set to one, that the target supports 32-bit wide data transfers. A value of zero indicates that the device does not support 32-bit wide data transfers.
RelativeAddressing
Indicates, when set to one, that the operating system supports the relative addressing mode. A value of zero indicates the operating system does not support relative addressing.
VendorId[8]
Contains eight bytes of ASCII data that identifies the vendor of the product.
ProductId[16]
Contains sixteen bytes of ASCII data that indicates the product ID, as defined by the vendor. The data shall be left-aligned within this field and the unused bytes filled with ASCII blanks.
ProductRevisionLevel[4]
Contains four bytes of ASCII data that indicates the product revision level, as defined by the vendor.
VendorSpecific[20]
Contains 20 bytes of vendor-specific data.
Reserved3[2]
Reserved.
VersionDescriptors[8]
Defines the UCHAR member VersionDescriptors[8].
Reserved4[30]
Reserved.
Remarks
Additional members defined within the #else conditional directive in the structure definition in scsi.h.
ANSIVersion
Indicates the ANSI version of the inquiry data standard that this data conforms to. For more information about the version values allowed in this field, see the SCSI Primary Commands - 2 (SPC-2) specification.
ECMAVersion
Indicates the ECMA version of the inquiry data standard that this data conforms to. For more information about the version values allowed in this field, see the SCSI Primary Commands - 2 (SPC-2) specification.
ISOVersion
Indicates the ISO version of the inquiry data standard that this data conforms to. For more information about the version values allowed in this field, see the SCSI Primary Commands - 2 (SPC-2) specification.
TerminateTask
Indicates, when set to one, that the target device supports the SCSI TERMINATE TASK task management function. A value of zero indicates that the target device does not support the TERMINATE TASK task management function.
Addr16
Indicates, when set to one, that the target supports 16-bit wide SCSI addresses. A value of zero indicates that the device does not support 32-bit wide SCSI addresses.
Addr32
Indicates, when set to one, that the target supports 32-bit wide SCSI addresses. A value of zero indicates that the device does not support 32-bit wide SCSI addresses.
AckReqQ
Indicates, when set to one, that the target supports a request and acknowledge data transfer handshake on the secondary bus. A value of zero indicates that the target does not support this function.
MediumChanger
Indicates, when set to one, that the device is embedded within or attached to a medium transport element. A value of zero indicates that the device is not embedded within or attached to a medium transport element.
MultiPort
Indicates, when set to one, that the target device is a multiport (2 or more ports) device that conforms to the SCSI-3 multiport device requirements. A value of zero indicates that this device has a single port and does not implement the multiport requirements.
ReservedBit2
Reserved.
EnclosureServices
Indicates, when set to one, that the device contains an embedded enclosure services component. A value of zero indicates that the device does not contain an embedded enclosure services component.
ReservedBit3
Reserved.
TransferDisable
Indicates, when set to one, that the target supports the SCSI CONTINUE TASK and TARGET TRANSFER DISABLE messages. A value of zero indicates that the device does not support one or both of these messages. For more information about the CONTINUE TASK and TARGET TRANSFER DISABLE messages, see the SCSI Primary Commands - 2 (SPC-2) specification.
Requirements
Requirement | Value |
---|---|
Header | scsi.h (include Scsi.h, Minitape.h, Storport.h) |