SCSICmds_INQUIRY_Definitions.h [plain text]
#ifndef _IOKIT_SCSI_CMDS_INQUIRY_H_
#define _IOKIT_SCSI_CMDS_INQUIRY_H_
enum
{
kINQUIRY_VENDOR_IDENTIFICATION_Length = 8,
kINQUIRY_PRODUCT_IDENTIFICATION_Length = 16,
kINQUIRY_PRODUCT_REVISION_LEVEL_Length = 4
};
struct SCSICmd_INQUIRY_StandardData
{
UInt8 PERIPHERAL_DEVICE_TYPE; UInt8 RMB; UInt8 VERSION; UInt8 RESPONSE_DATA_FORMAT; UInt8 ADDITIONAL_LENGTH; UInt8 SCCSReserved; UInt8 flags1; UInt8 flags2; char VENDOR_IDENTIFICATION[kINQUIRY_VENDOR_IDENTIFICATION_Length];
char PRODUCT_INDENTIFICATION[kINQUIRY_PRODUCT_IDENTIFICATION_Length];
char PRODUCT_REVISION_LEVEL[kINQUIRY_PRODUCT_REVISION_LEVEL_Length];
};
typedef struct SCSICmd_INQUIRY_StandardData SCSICmd_INQUIRY_StandardData;
typedef SCSICmd_INQUIRY_StandardData* SCSICmd_INQUIRY_StandardDataPtr;
enum
{
kINQUIRY_PERIPHERAL_QUALIFIER_Connected = 0x00,
kINQUIRY_PERIPHERAL_QUALIFIER_SupportedButNotConnected = 0x20,
kINQUIRY_PERIPHERAL_QUALIFIER_NotSupported = 0x60,
kINQUIRY_PERIPHERAL_QUALIFIER_Mask = 0xE0
};
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,
kINQUIRY_PERIPHERAL_TYPE_StorageArrayControllerSCC2Device = 0x0C,
kINQUIRY_PERIPHERAL_TYPE_EnclosureServicesSESDevice = 0x0D,
kINQUIRY_PERIPHERAL_TYPE_SimplifiedDirectAccessRBCDevice = 0x0E,
kINQUIRY_PERIPHERAL_TYPE_OpticalCardReaderOCRWDevice = 0x0F,
kINQUIRY_PERIPHERAL_TYPE_UnknownOrNoDeviceType = 0x1F,
kINQUIRY_PERIPHERAL_TYPE_Mask = 0x1F
};
enum
{
kINQUIRY_PERIPHERAL_RMB_MediumFixed = 0x00,
kINQUIRY_PERIPHERAL_RMB_MediumRemovable = 0x80,
kINQUIRY_PERIPHERAL_RMB_BitMask = 0x80
};
enum
{
kINQUIRY_ISO_IEC_VERSION_Mask = 0xC0
};
enum
{
kINQUIRY_ECMA_VERSION_Mask = 0x38
};
enum
{
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_Mask = 0x07
};
#define kIOPropertySCSIPeripheralDeviceType "Peripheral Device Type"
#define kIOPropertySCSIVendorIdentification "Vendor Identification"
#define kIOPropertySCSIProductIdentification "Product Identification"
#define kIOPropertySCSIProductRevisionLevel "Product Revision Level"
#endif