SCSICmds_INQUIRY_Definitions.h Reference

Declared in
SCSICmds_INQUIRY_Definitions.h

Overview

This file contains all definitions for the data returned from the INQUIRY (0x12) command.

Included Headers

  • <IOKit/IOTypes.h>

  • <CoreFoundation/CoreFoundation.h>

Data Types

See the Overview section above for header-level documentation.

SCSICmd_INQUIRY_Page00_Header

typedef struct SCSICmd_INQUIRY_Page00_Header {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to 00h
      UInt8 RESERVED; // reserved field
      UInt8 PAGE_LENGTH; // n-3 bytes
} SCSICmd_INQUIRY_Page00_Header;
Discussion

INQUIRY Page 00h Header.

Availability
  • Available in OS X v10.2 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page80_Header

typedef struct SCSICmd_INQUIRY_Page80_Header {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to 80h
      UInt8 RESERVED; // reserved field
      UInt8 PAGE_LENGTH; // n-3 bytes
      UInt8 PRODUCT_SERIAL_NUMBER; // 4-n
} SCSICmd_INQUIRY_Page80_Header;
Discussion

INQUIRY Page 80h Header.

Availability
  • Available in OS X v10.3 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_Header

typedef struct SCSICmd_INQUIRY_Page83_Header {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to 83h
      UInt8 RESERVED; // reserved field
      UInt8 PAGE_LENGTH; // n-3 bytes
} SCSICmd_INQUIRY_Page83_Header;
Discussion

INQUIRY Page 83h Header.

Availability
  • Available in OS X v10.2 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_Header_SPC_16

typedef struct SCSICmd_INQUIRY_Page83_Header_SPC_16 {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to 83h
      UInt16 PAGE_LENGTH; // n-3 bytes
} SCSICmd_INQUIRY_Page83_Header_SPC_16;
Discussion

INQUIRY Page 83h Header used with the 16 byte INQUIRY command.

Availability
  • Available in OS X v10.3 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_Identification_Descriptor

typedef struct SCSICmd_INQUIRY_Page83_Identification_Descriptor {
      UInt8 CODE_SET; // 7-4 = Protocol Identifier. 3-0 = Code Set
      UInt8 IDENTIFIER_TYPE; // 7 = PIV 5-4 = ASSOCIATION 3-0 = Identifier
      UInt8 RESERVED;
      UInt8 IDENTIFIER_LENGTH;
      UInt8 IDENTIFIER;
} SCSICmd_INQUIRY_Page83_Identification_Descriptor;
Discussion

INQUIRY Page 83h Identification Descriptor.

Availability
  • Available in OS X v10.2 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_LogicalUnitGroup_Identifier

typedef struct SCSICmd_INQUIRY_Page83_LogicalUnitGroup_Identifier {
      UInt16 RESERVED;
      UInt16 LOGICAL_UNIT_GROUP;
} SCSICmd_INQUIRY_Page83_LogicalUnitGroup_Identifier;
Discussion

INQUIRY Page 83h Logical Unit Group Identifier.

Availability
  • Available in OS X v10.7 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_RelativeTargetPort_Identifier

typedef struct SCSICmd_INQUIRY_Page83_RelativeTargetPort_Identifier {
      UInt16 OBSOLETE;
      UInt16 RELATIVE_TARGET_PORT_IDENTIFIER;
} SCSICmd_INQUIRY_Page83_RelativeTargetPort_Identifier;
Discussion

INQUIRY Page 83h Relative Target Port Identifier.

Availability
  • Available in OS X v10.7 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page83_TargetPortGroup_Identifier

typedef struct SCSICmd_INQUIRY_Page83_TargetPortGroup_Identifier {
      UInt16 RESERVED;
      UInt16 TARGET_PORT_GROUP;
} SCSICmd_INQUIRY_Page83_TargetPortGroup_Identifier;
Discussion

INQUIRY Page 83h Target Port Group Identifier.

Availability
  • Available in OS X v10.7 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_Page89_Data

typedef struct SCSICmd_INQUIRY_Page89_Data {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to 89h
      UInt16 PAGE_LENGTH; // Must be equal to 238h
      UInt32 Reserved;
      UInt8 SAT_VENDOR_IDENTIFICATION[
      kINQUIRY_VENDOR_IDENTIFICATION_Length];
      UInt8 SAT_PRODUCT_IDENTIFICATION[
      kINQUIRY_PRODUCT_IDENTIFICATION_Length];
      UInt8 SAT_PRODUCT_REVISION_LEVEL[
      kINQUIRY_PRODUCT_REVISION_LEVEL_Length];
      UInt8 ATA_DEVICE_SIGNATURE[20];
      UInt8 COMMAND_CODE;
      UInt8 Reserved2[3];
      UInt8 IDENTIFY_DATA[512];
} SCSICmd_INQUIRY_Page89_Data;
Discussion

INQUIRY Page 89h data as defined in the SAT 1.0 specification. This section contians all structures and definitions used by the INQUIRY command in response to a request for page 89h - ATA information VPD Page.

Availability
  • Available in OS X v10.4 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_PageB1_Data

typedef struct SCSICmd_INQUIRY_PageB1_Data {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 PAGE_CODE; // Must be equal to B1h
      UInt8 Reserved;
      UInt8 PAGE_LENGTH; // Must be equal to 3Ch
      UInt16 MEDIUM_ROTATION_RATE;
      UInt8 Reserved2[58];
} SCSICmd_INQUIRY_PageB1_Data;
Discussion

INQUIRY Page B1h data as defined in the SBC specification. This section contians all structures and definitions used by the INQUIRY command in response to a request for page B1h - Block Device Characteristics VPD Page.

Availability
  • Available in OS X v10.7 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_StandardData

typedef struct SCSICmd_INQUIRY_StandardData {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 RMB; // 7 = removable
      UInt8 VERSION; // 7/6 = ISO/IEC, 5-3 = ECMA, 2-0 = ANSI.
      UInt8 RESPONSE_DATA_FORMAT; // 7 = AERC, 6 = Obsolete, 5 = NormACA, 4 = HiSup 3-0 = Response data format. (SPC-3 obsoletes AERC)
      // If ANSI Version = 0, this is ATAPI and bits 7-4 = ATAPI version.
      UInt8 ADDITIONAL_LENGTH; // Number of additional bytes available in inquiry data
      UInt8 SCCSReserved; // SCC-2 device flag and reserved fields (SPC-3 adds PROTECT 3PC TPGS, and ACC)
      UInt8 flags1; // First byte of support flags (See SPC-3 section 6.4.2)
      UInt8 flags2; // Second byte of support flags (Byte 7) (See SPC-3 section 6.4.2)
      char VENDOR_IDENTIFICATION[
      kINQUIRY_VENDOR_IDENTIFICATION_Length];
      char PRODUCT_IDENTIFICATION[
      kINQUIRY_PRODUCT_IDENTIFICATION_Length];
      char PRODUCT_REVISION_LEVEL[
      kINQUIRY_PRODUCT_REVISION_LEVEL_Length];
} SCSICmd_INQUIRY_StandardData;
Discussion

This structure defines the format of the required standard data that is returned for the INQUIRY command. This is the data that is required to be returned from all devices.

Availability
  • Available in OS X v10.0 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

SCSICmd_INQUIRY_StandardDataAll

typedef struct SCSICmd_INQUIRY_StandardDataAll {
      UInt8 PERIPHERAL_DEVICE_TYPE; // 7-5 = Qualifier. 4-0 = Device type.
      UInt8 RMB; // 7 = removable
      UInt8 VERSION; // 7/6 = ISO/IEC, 5-3 = ECMA, 2-0 = ANSI.
      UInt8 RESPONSE_DATA_FORMAT; // 7 = AERC, 6 = Obsolete, 5 = NormACA, 4 = HiSup 3-0 = Response data format.
      // If ANSI Version = 0, this is ATAPI and bits 7-4 = ATAPI version.
      UInt8 ADDITIONAL_LENGTH; // Number of additional bytes available in inquiry data
      UInt8 SCCSReserved; // SCC-2 device flag and reserved fields
      UInt8 flags1; // First byte of support flags (Byte 6)
      UInt8 flags2; // Second byte of support flags (Byte 7)
      char VENDOR_IDENTIFICATION[
      kINQUIRY_VENDOR_IDENTIFICATION_Length];
      char PRODUCT_IDENTIFICATION[
      kINQUIRY_PRODUCT_IDENTIFICATION_Length];
      char PRODUCT_REVISION_LEVEL[
      kINQUIRY_PRODUCT_REVISION_LEVEL_Length];
      // Following is the optional data that may be returned by a device.
      UInt8 VendorSpecific1[20];
      UInt8 flags3; // Third byte of support flags, mainly SPI-3 (Byte 56)
      UInt8 Reserved1;
      UInt16 VERSION_DESCRIPTOR[8];
      UInt8 Reserved2[22];
      UInt8 VendorSpecific2[160];
} SCSICmd_INQUIRY_StandardDataAll;
Discussion

This structure defines the all of the fields that can be returned in repsonse to the INQUIRy request for the standard data. There is no requirement as to how much of the additional data must be returned by a device.

Availability
  • Available in OS X v10.2 and later.
Declared In
SCSICmds_INQUIRY_Definitions.h

Constants

See the Overview section above for header-level documentation.

Miscellaneous Defines

   
#define kINQUIRY_VERSION_DESCRIPTOR_MaxCount 8
#define kIOPropertyHiSup "Hierarchical LUN Support"
#define kIOPropertySATProductIdentification "SAT Product Identification"
#define kIOPropertySATProductRevisonLevel "SAT Product Revision Level"
#define kIOPropertySATVendorIdentification "SAT Vendor Identification"
#define kIOPropertySCSIINQUIRYDeviceIdAssociation "Association"
#define kIOPropertySCSIINQUIRYDeviceIdCodeSet "Code Set"
#define kIOPropertySCSIINQUIRYDeviceIdentification "INQUIRY Device Identification"
#define kIOPropertySCSIINQUIRYDeviceIdentifier "Identifier"
#define kIOPropertySCSIINQUIRYDeviceIdType "Identifier Type"
#define kIOPropertySCSIINQUIRYUnitSerialNumber "INQUIRY Unit Serial Number"
#define kIOPropertySCSIPeripheralDeviceType "Peripheral Device Type"
#define kIOPropertySCSIPeripheralDeviceTypeSize 8
#define kIOPropertySCSIProductIdentification "Product Identification"
#define kIOPropertySCSIProductRevisionLevel "Product Revision Level"
#define kIOPropertySCSIVendorIdentification "Vendor Identification"
#define kIOPropertyTPGSInfo "TPGS Information"
#define kIOPropertyTPGSInfoSize 8
Constants
kINQUIRY_VERSION_DESCRIPTOR_MaxCount

Maximum number of INQUIRY version descriptors supported.

Available in OS X v10.4 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertyHiSup

Hierarchical LUN Support as reported in the INQUIRY data.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySATProductIdentification

Product Identification of the SATL.

Available in OS X v10.4 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySATProductRevisonLevel

Product Revision Level of the SATL.

Available in OS X v10.4 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySATVendorIdentification

Vendor Identification of the SATL.

Available in OS X v10.4 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYDeviceIdAssociation

Association key.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYDeviceIdCodeSet

Code Set type key.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYDeviceIdentification

Device Identification key.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYDeviceIdentifier

Identifier key (data or string).

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYDeviceIdType

Identifier Type key.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIINQUIRYUnitSerialNumber

Key that describes the INQUIRY Unit Serial Number in the IORegistry.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIPeripheralDeviceType

SCSI Peripheral Device Type as reported in the INQUIRY data.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIPeripheralDeviceTypeSize

Size of the kIOPropertySCSIPeripheralDeviceType key.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIProductIdentification

Product ID as reported in the INQUIRY data. Additional space characters (0x20) are truncated.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIProductRevisionLevel

Product Revision Level as reported in the INQUIRY data.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertySCSIVendorIdentification

Vendor ID as reported in the INQUIRY data. Additional space characters (0x20) are truncated.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertyTPGSInfo

TPGS Info as reported in the INQUIRY data.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kIOPropertyTPGSInfoSize

Size of the kIOPropertyTPGSInfo key.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Byte 56 features field definitions

enum {
   // Byte offset
   kINQUIRY_Byte56_Offset = 56,
   // Bit definitions
   kINQUIRY_Byte56_IUS_Bit = 0,
   kINQUIRY_Byte56_QAS_Bit = 1,
   // Bits 2 and 3 are the CLOCKING bits
   // All other bits are reserved
   kINQUIRY_Byte56_IUS_Mask = (
   1 << kINQUIRY_Byte56_IUS_Bit),
   kINQUIRY_Byte56_QAS_Mask = (
   1 << kINQUIRY_Byte56_QAS_Bit),
   kINQUIRY_Byte56_CLOCKING_Mask = 0x0C,
   // Definitions for the CLOCKING bits
   kINQUIRY_Byte56_CLOCKING_ONLY_ST = 0x00,
   kINQUIRY_Byte56_CLOCKING_ONLY_DT = 0x04,
   // kINQUIRY_Byte56_CLOCKING_RESERVED        = 0x08,
   kINQUIRY_Byte56_CLOCKING_ST_AND_DT = 0x0C
};
Constants
kINQUIRY_Byte56_IUS_Bit

IUS bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_QAS_Bit

QAS bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_IUS_Mask

Mask to use to test the IUS bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_QAS_Mask

Mask to use to test the QAS bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_CLOCKING_Mask

Mask to use to test CLOCKING bits.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_CLOCKING_ONLY_ST

Single-transition clocking only.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_CLOCKING_ONLY_DT

Double-transition clocking only.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte56_CLOCKING_ST_AND_DT

Single-transition and double-transition clocking.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY Byte 56 field. Inquiry Byte 56 features (for devices that report an ANSI VERSION of kINQUIRY_ANSI_VERSION_SCSI_SPC_Compliant or later). These are SPI-3 Specific.

flags1 field definitions

enum {
   // Byte offset
   kINQUIRY_Byte6_Offset = 6,
   // Bit definitions
   kINQUIRY_Byte6_ADDR16_Bit = 0, // SPI Specific
   // Bit 1 is Obsolete
   // Bit 2 is Obsolete
   kINQUIRY_Byte6_MCHNGR_Bit = 3,
   kINQUIRY_Byte6_MULTIP_Bit = 4,
   kINQUIRY_Byte6_VS_Bit = 5,
   kINQUIRY_Byte6_ENCSERV_Bit = 6,
   kINQUIRY_Byte6_BQUE_Bit = 7,
   // Masks
   kINQUIRY_Byte6_ADDR16_Mask = (
   1 << kINQUIRY_Byte6_ADDR16_Bit), // SPI Specific
   // Bit 1 is Obsolete
   // Bit 2 is Obsolete
   kINQUIRY_Byte6_MCHNGR_Mask = (
   1 << kINQUIRY_Byte6_MCHNGR_Bit),
   kINQUIRY_Byte6_MULTIP_Mask = (
   1 << kINQUIRY_Byte6_MULTIP_Bit),
   kINQUIRY_Byte6_VS_Mask = (
   1 << kINQUIRY_Byte6_VS_Bit),
   kINQUIRY_Byte6_ENCSERV_Mask = (
   1 << kINQUIRY_Byte6_ENCSERV_Bit),
   kINQUIRY_Byte6_BQUE_Mask = (
   1 << kINQUIRY_Byte6_BQUE_Bit)
};
Constants
kINQUIRY_Byte6_ADDR16_Bit

ADDR16 bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_MCHNGR_Bit

MCHNGR bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_MULTIP_Bit

MULTIP bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_VS_Bit

VS bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_ENCSERV_Bit

ENCSERV bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_BQUE_Bit

BQUE bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_ADDR16_Mask

Mask to use to test the ADDR16 bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_MCHNGR_Mask

Mask to use to test the MCHNGR bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_MULTIP_Mask

Mask to use to test the MULTIP bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_VS_Mask

Mask to use to test the VS bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_ENCSERV_Mask

Mask to use to test the ENCSERV bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte6_BQUE_Mask

Mask to use to test the BQUE bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY flags1 field.

flags2 field definitions

enum {
   // Byte offset
   kINQUIRY_Byte7_Offset = 7,
   // Bit definitions
   kINQUIRY_Byte7_VS_Bit = 0,
   kINQUIRY_Byte7_CMDQUE_Bit = 1,
   kINQUIRY_Byte7_TRANDIS_Bit = 2, // SPI Specific
   kINQUIRY_Byte7_LINKED_Bit = 3,
   kINQUIRY_Byte7_SYNC_Bit = 4, // SPI Specific
   kINQUIRY_Byte7_WBUS16_Bit = 5, // SPI Specific
   // Bit 6 is Obsolete
   kINQUIRY_Byte7_RELADR_Bit = 7,
   // Masks
   kINQUIRY_Byte7_VS_Mask = (
   1 << kINQUIRY_Byte7_VS_Bit),
   kINQUIRY_Byte7_CMDQUE_Mask = (
   1 << kINQUIRY_Byte7_CMDQUE_Bit),
   kINQUIRY_Byte7_TRANDIS_Mask = (
   1 << kINQUIRY_Byte7_TRANDIS_Bit),// SPI Specific
   kINQUIRY_Byte7_LINKED_Mask = (
   1 << kINQUIRY_Byte7_LINKED_Bit),
   kINQUIRY_Byte7_SYNC_Mask = (
   1 << kINQUIRY_Byte7_SYNC_Bit), // SPI Specific
   kINQUIRY_Byte7_WBUS16_Mask = (
   1 << kINQUIRY_Byte7_WBUS16_Bit), // SPI Specific
   // Bit 6 is Obsolete
   kINQUIRY_Byte7_RELADR_Mask = (
   1 << kINQUIRY_Byte7_RELADR_Bit)
};
Constants
kINQUIRY_Byte7_VS_Bit

VS bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_CMDQUE_Bit

CMDQUE bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_TRANDIS_Bit

TRANDIS bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_LINKED_Bit

LINKED bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_SYNC_Bit

SYNC bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_WBUS16_Bit

WBUS16 bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_RELADR_Bit

RELADR bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_VS_Mask

Mask to use to test the VS bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_CMDQUE_Mask

Mask to use to test the CMDQUE bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_TRANDIS_Mask

Mask to use to test the TRANDIS bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_LINKED_Mask

Mask to use to test the LINKED bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_SYNC_Mask

Mask to use to test the SYNC bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_WBUS16_Mask

Mask to use to test the WBUS16 bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte7_RELADR_Mask

Mask to use to test the RELADR bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY flags2 field.

INQUIRY field sizes

enum {
   kINQUIRY_VENDOR_IDENTIFICATION_Length = 8,
   kINQUIRY_PRODUCT_IDENTIFICATION_Length = 16,
   kINQUIRY_PRODUCT_REVISION_LEVEL_Length = 4
};
Constants
kINQUIRY_VENDOR_IDENTIFICATION_Length

Size of VENDOR_IDENTIFICATION field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PRODUCT_IDENTIFICATION_Length

Size of PRODUCT_IDENTIFICATION field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PRODUCT_REVISION_LEVEL_Length

Size of PRODUCT_REVISION_LEVEL field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Sizes for some of the inquiry data fields.

INQUIRY Page 83h Association

enum {
   // SPC-3 - Association is changed to be specific to
   // Logical Units
   kINQUIRY_Page83_AssociationLogicalUnit = 0x00,
   // Backwards compatibility for SPC-2
   kINQUIRY_Page83_AssociationDevice = kINQUIRY_Page83_AssociationLogicalUnit,
   // Association is related to a Target Port
   kINQUIRY_Page83_AssociationTargetPort = 0x10,
   // SPC-3 - Added as specific association to
   // a Target device.
   kINQUIRY_Page83_AssociationTargetDevice = 0x20,
   kINQUIRY_Page83_AssociationMask = 0x30,
   kINQUIRY_Page83_AssociationShift = 4
};
Constants
kINQUIRY_Page83_AssociationLogicalUnit

Association of the identifier is with the logical unit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_AssociationDevice

Association of the identifier is with the device (same as logical unit in SPC-2).

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_AssociationTargetPort

Association of the identifier is with the target port.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_AssociationTargetDevice

Association of the identifier is with the target device (i.e. all ports).

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_AssociationMask

Mask to use to determine association.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for the Association field.

INQUIRY Page 83h Code Set

enum {
   kINQUIRY_Page83_CodeSetReserved = 0x0,
   kINQUIRY_Page83_CodeSetBinaryData = 0x1,
   kINQUIRY_Page83_CodeSetASCIIData = 0x2,
   kINQUIRY_Page83_CodeSetUTF8Data = 0x3,
   // 0x4 - 0xF reserved
   kINQUIRY_Page83_CodeSetMask = 0xF
};
Constants
kINQUIRY_Page83_CodeSetBinaryData

The identifier contains binary data.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_CodeSetASCIIData

The identifier contains ASCII data.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_CodeSetUTF8Data

The identifier contains UTF-8 data.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for the Code Set field.

INQUIRY Page 83h Identifier Type

enum {
   kINQUIRY_Page83_IdentifierTypeVendorSpecific = 0,
   kINQUIRY_Page83_IdentifierTypeVendorID = 1,
   kINQUIRY_Page83_IdentifierTypeIEEE_EUI64 = 2,
   kINQUIRY_Page83_IdentifierTypeNAAIdentifier = 3,
   kINQUIRY_Page83_IdentifierTypeRelativePortIdentifier = 4,
   kINQUIRY_Page83_IdentifierTypeTargetPortGroup = 5,
   kINQUIRY_Page83_IdentifierTypeLogicalUnitGroup = 6,
   kINQUIRY_Page83_IdentifierTypeMD5LogicalUnitIdentifier = 7,
   kINQUIRY_Page83_IdentifierTypeSCSINameString = 8,
   // 0x9 - 0xF Reserved
   kINQUIRY_Page83_IdentifierTypeMask = 0xF,
   kINQUIRY_Page83_ProtocolIdentifierValidBit = 7,
   kINQUIRY_Page83_ProtocolIdentifierValidMask = (
   1 << kINQUIRY_Page83_ProtocolIdentifierValidBit)
};
Constants
kINQUIRY_Page83_IdentifierTypeVendorSpecific

Vendor Specific Identifier Type.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeVendorID

Vendor Specific Identifier Type.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeIEEE_EUI64

EUI-64 Identifier Type.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeNAAIdentifier

NAA Identifier Type.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeRelativePortIdentifier

Relative Target Port Identifier Type.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeTargetPortGroup

Target Port Group Identifier Type.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeLogicalUnitGroup

Logical Unit Group Identifier Type.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeMD5LogicalUnitIdentifier

MD5 Logical Unit Identifier Type.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeSCSINameString

SCSI Name String Identifier Type.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_IdentifierTypeMask

Mask to use to determine association.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_ProtocolIdentifierValidBit

PIV Bit definition.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_ProtocolIdentifierValidMask

Mask to use to determine if PIV is set.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for the Identifier Type field.

INQUIRY Page Codes

enum {
   kINQUIRY_Page00_PageCode = 0x00,
   kINQUIRY_Page80_PageCode = 0x80,
   kINQUIRY_Page83_PageCode = 0x83,
   kINQUIRY_Page89_PageCode = 0x89,
   kINQUIRY_PageB1_PageCode = 0xB1
};
Constants
kINQUIRY_Page00_PageCode

Page Code 00h.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page80_PageCode

Page Code 80h.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page83_PageCode

Page Code 83h.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Page89_PageCode

Page Code 89h.

Available in OS X v10.4 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

INQUIRY Page Codes to be used when EVPD is set in the INQUIRY command.

kINQUIRY_VERSION_DESCRIPTOR_SAT

enum {
   kINQUIRY_VERSION_DESCRIPTOR_SAT = 0x1EA0
};
Discussion

SAT specification version descriptor.

Payload sizes

enum {
   kINQUIRY_StandardDataHeaderSize = 5,
   kINQUIRY_MaximumDataSize = 255
};
Constants
kINQUIRY_StandardDataHeaderSize

INQUIRY data header size.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_MaximumDataSize

Maximum size for INQUIRY data.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for sizes related to the INQUIRY data.

Peripheral Device types

enum {
   kINQUIRY_PERIPHERAL_TYPE_DirectAccessSBCDevice = 0x00,
   kINQUIRY_PERIPHERAL_TYPE_SequentialAccessSSCDevice = 0x01,
   kINQUIRY_PERIPHERAL_TYPE_PrinterSSCDevice = 0x02,
   kINQUIRY_PERIPHERAL_TYPE_ProcessorSPCDevice = 0x03,
   kINQUIRY_PERIPHERAL_TYPE_WriteOnceSBCDevice = 0x04,
   kINQUIRY_PERIPHERAL_TYPE_CDROM_MMCDevice = 0x05,
   kINQUIRY_PERIPHERAL_TYPE_ScannerSCSI2Device = 0x06,
   kINQUIRY_PERIPHERAL_TYPE_OpticalMemorySBCDevice = 0x07,
   kINQUIRY_PERIPHERAL_TYPE_MediumChangerSMCDevice = 0x08,
   kINQUIRY_PERIPHERAL_TYPE_CommunicationsSSCDevice = 0x09,
   /* 0x0A - 0x0B ASC IT8 Graphic Arts Prepress Devices */
   kINQUIRY_PERIPHERAL_TYPE_StorageArrayControllerSCC2Device = 0x0C,
   kINQUIRY_PERIPHERAL_TYPE_EnclosureServicesSESDevice = 0x0D,
   kINQUIRY_PERIPHERAL_TYPE_SimplifiedDirectAccessRBCDevice = 0x0E,
   kINQUIRY_PERIPHERAL_TYPE_OpticalCardReaderOCRWDevice = 0x0F,
   /* 0x10 - 0x1E Reserved Device Types */
   kINQUIRY_PERIPHERAL_TYPE_ObjectBasedStorageDevice = 0x11,
   kINQUIRY_PERIPHERAL_TYPE_AutomationDriveInterface = 0x12,
   kINQUIRY_PERIPHERAL_TYPE_WellKnownLogicalUnit = 0x1E,
   kINQUIRY_PERIPHERAL_TYPE_UnknownOrNoDeviceType = 0x1F,
   kINQUIRY_PERIPHERAL_TYPE_Mask = 0x1F
};
Constants
kINQUIRY_PERIPHERAL_TYPE_DirectAccessSBCDevice

SBC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_SequentialAccessSSCDevice

Sequential Access (Tape) SSC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_PrinterSSCDevice

SSC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_ProcessorSPCDevice

SPC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_WriteOnceSBCDevice

SBC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_CDROM_MMCDevice

MMC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_ScannerSCSI2Device

SCSI2 Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_OpticalMemorySBCDevice

SBC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_MediumChangerSMCDevice

SMC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_CommunicationsSSCDevice

Comms SSC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_StorageArrayControllerSCC2Device

SCC2 Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_EnclosureServicesSESDevice

SES Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_SimplifiedDirectAccessRBCDevice

RBC Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_OpticalCardReaderOCRWDevice

OCRW Device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_ObjectBasedStorageDevice

OSD device.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_AutomationDriveInterface

Automation Drive Interface device.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_WellKnownLogicalUnit

Well known logical unit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_UnknownOrNoDeviceType

Unknown or no device.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_TYPE_Mask

Mask to use for PERIPHERAL_DEVICE_TYPE field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Inquiry Peripheral Device type definitions

Peripheral Qualifier

enum {
   kINQUIRY_PERIPHERAL_QUALIFIER_Connected = 0x00,
   kINQUIRY_PERIPHERAL_QUALIFIER_SupportedButNotConnected = 0x20,
   kINQUIRY_PERIPHERAL_QUALIFIER_NotSupported = 0x60,
   kINQUIRY_PERIPHERAL_QUALIFIER_Mask = 0xE0
};
Constants
kINQUIRY_PERIPHERAL_QUALIFIER_Connected

Peripheral Device is connected.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_QUALIFIER_SupportedButNotConnected

Peripheral Device is supported, but not connected.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_QUALIFIER_NotSupported

Peripheral Device is not supported.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_QUALIFIER_Mask

Mask to use for PERIPHERAL_DEVICE_TYPE field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Inquiry Peripheral Qualifier definitions

Protocol Identifier values

enum {
   kSCSIProtocolIdentifier_FibreChannel = 0,
   kSCSIProtocolIdentifier_ParallelSCSI = 1,
   kSCSIProtocolIdentifier_SSA = 2,
   kSCSIProtocolIdentifier_FireWire = 3,
   kSCSIProtocolIdentifier_RDMA = 4,
   kSCSIProtocolIdentifier_iSCSI = 5,
   kSCSIProtocolIdentifier_SAS = 6,
   kSCSIProtocolIdentifier_ADT = 7,
   kSCSIProtocolIdentifier_ATAPI = 8,
   // 0x9-xE Reserved
   kSCSIProtocolIdentifier_None = 0xF
};
Constants
kSCSIProtocolIdentifier_FibreChannel

FibreChannel Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_ParallelSCSI

Parallel SCSI Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_SSA

SSA Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_FireWire

FireWire (IEEE-1394) Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_RDMA

RDMA Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_iSCSI

iSCSI Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_SAS

SAS Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_ADT

ADT Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_ATAPI

ATAPI Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kSCSIProtocolIdentifier_None

No Protocol Identifier.

Available in OS X v10.5 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for the protocol identifier values.

Removable Bit field definitions

enum {
   kINQUIRY_PERIPHERAL_RMB_MediumFixed = 0x00,
   kINQUIRY_PERIPHERAL_RMB_MediumRemovable = 0x80,
   kINQUIRY_PERIPHERAL_RMB_BitMask = 0x80
};
Constants
kINQUIRY_PERIPHERAL_RMB_MediumFixed

Medium type is fixed disk.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_RMB_MediumRemovable

Medium type is removable disk.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_PERIPHERAL_RMB_BitMask

Mask to use for RMB field.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Inquiry Removable Bit field definitions

Response Data Format field definitions

enum {
   // Bit definitions
   // Bits 0-3: RESPONSE DATA FORMAT
   kINQUIRY_Byte3_HISUP_Bit = 4,
   kINQUIRY_Byte3_NORMACA_Bit = 5,
   // Bit 6 is Obsolete
   kINQUIRY_Byte3_AERC_Bit = 7,
   // Masks
   kINQUIRY_RESPONSE_DATA_FORMAT_Mask = 0x0F, // Bits 0-3
   kINQUIRY_Byte3_HISUP_Mask = (
   1 << kINQUIRY_Byte3_HISUP_Bit),
   kINQUIRY_Byte3_NORMACA_Mask = (
   1 << kINQUIRY_Byte3_NORMACA_Bit),
   // Bit 6 is Obsolete
   kINQUIRY_Byte3_AERC_Mask = (
   1 << kINQUIRY_Byte3_AERC_Bit)
};
Constants
kINQUIRY_Byte3_HISUP_Bit

HISUP bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte3_NORMACA_Bit

NORMACA bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte3_AERC_Bit

AERC bit definition.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_RESPONSE_DATA_FORMAT_Mask

Mask for valid bits for RESPONSE_DATA_FORMAT.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte3_HISUP_Mask

Mask to use to test the HISUP bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte3_NORMACA_Mask

Mask to use to test the NORMACA bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte3_AERC_Mask

Mask to use to test the AERC bit.

Available in OS X v10.2 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY RESPONSE_DATA_FORMAT field.

SCCS field definitions

enum {
   // Bit definitions
   kINQUIRY_Byte5_SCCS_Bit = 7,
   kINQUIRY_Byte5_ACC_Bit = 6,
   kINQUIRY_Byte5_ExplicitTPGS_Bit = 5,
   kINQUIRY_Byte5_ImplicitTPGS_Bit = 4,
   kINQUIRY_Byte5_3PC_Bit = 3,
   // Bits 1-2: Reserved
   kINQUIRY_Byte5_PROTECT_Bit = 0,
   // Masks
   kINQUIRY_Byte5_SCCS_Mask = (
   1 << kINQUIRY_Byte5_SCCS_Bit),
   kINQUIRY_Byte5_ACC_Mask = (
   1 << kINQUIRY_Byte5_ACC_Bit),
   kINQUIRY_Byte5_ExplicitTPGS_Mask = (
   1 << kINQUIRY_Byte5_ExplicitTPGS_Bit),
   kINQUIRY_Byte5_ImplicitTPGS_Mask = (
   1 << kINQUIRY_Byte5_ImplicitTPGS_Bit),
   kINQUIRY_Byte5_3PC_Mask = (
   1 << kINQUIRY_Byte5_3PC_Bit),
   // Bits 1-2: Reserved
   kINQUIRY_Byte5_PROTECT_Mask = (
   1 << kINQUIRY_Byte5_PROTECT_Bit)
};
Constants
kINQUIRY_Byte5_SCCS_Bit

SCCS bit definition.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ACC_Bit

ACC bit definition.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ExplicitTPGS_Bit

Explicit TPGS bit definition.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ImplicitTPGS_Bit

Implicit TPGS bit definition.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_3PC_Bit

3PC bit definition.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_PROTECT_Bit

PROTECT bit definition.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_SCCS_Mask

Mask to use to test the SCCS bit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ACC_Mask

Mask to use to test the ACC bit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ExplicitTPGS_Mask

Mask to use for the Explicit TPGS bits.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_ImplicitTPGS_Mask

Mask to use for the Implicit TPGS bits.

Available in OS X v10.7 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_3PC_Mask

Mask to use to test the 3PC bit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_Byte5_PROTECT_Mask

Mask to use to test the PROTECT bit.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY SCCSReserved field.

Version field definitions

enum {
   kINQUIRY_ISO_IEC_VERSION_Mask = 0xC0,
   kINQUIRY_ECMA_VERSION_Mask = 0x38,
   kINQUIRY_ANSI_VERSION_NoClaimedConformance = 0x00,
   kINQUIRY_ANSI_VERSION_SCSI_1_Compliant = 0x01,
   kINQUIRY_ANSI_VERSION_SCSI_2_Compliant = 0x02,
   kINQUIRY_ANSI_VERSION_SCSI_SPC_Compliant = 0x03,
   kINQUIRY_ANSI_VERSION_SCSI_SPC_2_Compliant = 0x04,
   kINQUIRY_ANSI_VERSION_SCSI_SPC_3_Compliant = 0x05,
   kINQUIRY_ANSI_VERSION_Mask = 0x07
};
Constants
kINQUIRY_ISO_IEC_VERSION_Mask

Mask for valid bits for ISO/IEC Version.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ECMA_VERSION_Mask

Mask for valid bits for ECMA Version.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_NoClaimedConformance

No ANSI conformance claimed by the device server.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_SCSI_1_Compliant

SCSI-1 conformance claimed by the device server.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_SCSI_2_Compliant

SCSI-2 conformance claimed by the device server.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_SCSI_SPC_Compliant

SPC conformance claimed by the device server.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_SCSI_SPC_2_Compliant

SPC-2 conformance claimed by the device server.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_SCSI_SPC_3_Compliant

SPC-3 conformance claimed by the device server.

Available in OS X v10.3 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

kINQUIRY_ANSI_VERSION_Mask

Mask for valid bits for ANSI Version.

Available in OS X v10.0 and later.

Declared in SCSICmds_INQUIRY_Definitions.h.

Discussion

Definitions for bits/masks in the INQUIRY Version field.