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)

See also

TapeMiniExtensionInit

TapeMiniVerifyInquiry