#include <IOKit/scsi/SCSICmds_REQUEST_SENSE_Defs.h>

IOKit/scsi/SCSICmds_REQUEST_SENSE_Defs.h Kernel.framework

@header SCSI Request Sense Definitions @discussion This file contains all definitions for the data returned from the REQUEST SENSE (0x03) command and from auto sense on protocols that support it.
includes: TargetConditionals.h, Kernel/stdint.h, IOKit/IOTypes.h
7 enums · 1 struct · 1 typedef

enum(anonymous)

@enum kSenseDefaultSize @discussion The default size for SCSI Request Sense data.
underlying type unsigned int
kSenseDefaultSize18

structSCSI_Sense_Data

@struct SCSI_Sense_Data @discussion The basic SCSI Request Sense data structure.
size 18, align 1
UInt8VALID_RESPONSE_CODE7 = Valid. 6-0 = Response Code.
UInt8SEGMENT_NUMBERSegment number
UInt8SENSE_KEY7 = FILEMARK, 6 = EOM, 5 = ILI, 3-0 = SENSE KEY.
UInt8INFORMATION_1INFORMATION.
UInt8INFORMATION_2INFORMATION.
UInt8INFORMATION_3INFORMATION.
UInt8INFORMATION_4INFORMATION.
UInt8ADDITIONAL_SENSE_LENGTHNumber of additional bytes available in sense data
UInt8COMMAND_SPECIFIC_INFORMATION_1Command Specific Information
UInt8COMMAND_SPECIFIC_INFORMATION_2Command Specific Information
UInt8COMMAND_SPECIFIC_INFORMATION_3Command Specific Information
UInt8COMMAND_SPECIFIC_INFORMATION_4Command Specific Information
UInt8ADDITIONAL_SENSE_CODEAdditional Sense Code
UInt8ADDITIONAL_SENSE_CODE_QUALIFIERAdditional Sense Code Qualifier
UInt8FIELD_REPLACEABLE_UNIT_CODEField Replaceable Unit Code
UInt8SKSV_SENSE_KEY_SPECIFIC_MSB7 = Sense Key Specific Valid bit, 6-0 Sense Key Specific MSB
UInt8SENSE_KEY_SPECIFIC_MIDSense Key Specific Middle
UInt8SENSE_KEY_SPECIFIC_LSBSense Key Specific LSB

typedefSCSI_Sense_Data

typedef struct SCSI_Sense_Data SCSI_Sense_Data;

enum(anonymous)

@enum Sense Valid @discussion Masks to use to determine if sense data is valid or not. @constant kSENSE_DATA_VALID Sense data is valid. @constant kSENSE_NOT_DATA_VALID Sense data is not valid. @constant kSENSE_DATA_VALID_Mask Validity mask to use when checking the VALID_RESPONSE_CODE field.
underlying type unsigned int
kSENSE_DATA_VALID128
kSENSE_NOT_DATA_VALID0
kSENSE_DATA_VALID_Mask128

enum(anonymous)

@enum Sense Response Codes @discussion Masks and values to determine the Response Code. @constant kSENSE_RESPONSE_CODE_Current_Errors Response code indicating current errors are reported. @constant kSENSE_RESPONSE_CODE_Deferred_Errors Response code indicating deferred errors are reported. @constant kSENSE_RESPONSE_CODE_Mask Mask to use when checking the VALID_RESPONSE_CODE field.
underlying type unsigned int
kSENSE_RESPONSE_CODE_Current_Errors112
kSENSE_RESPONSE_CODE_Deferred_Errors113
kSENSE_RESPONSE_CODE_Mask127

enum(anonymous)

@enum FILEMARK bit field definitions @discussion Masks and values to determine the FileMark bit field. @constant kSENSE_FILEMARK_Set Filemark bit is set. @constant kSENSE_FILEMARK_Not_Set Filemark bit is not set. @constant kSENSE_FILEMARK_Mask Mask to use when checking the SENSE_KEY field for the FILEMARK bit.
underlying type unsigned int
kSENSE_FILEMARK_Set128
kSENSE_FILEMARK_Not_Set0
kSENSE_FILEMARK_Mask128

enum(anonymous)

@enum EOM bit field definitions @discussion Masks and values to determine the End Of Medium bit field. @constant kSENSE_EOM_Set End Of Medium bit is set. @constant kSENSE_EOM_Not_Set End Of Medium bit is not set. @constant kSENSE_EOM_Mask Mask to use when checking the SENSE_KEY field for the EOM bit.
underlying type unsigned int
kSENSE_EOM_Set64
kSENSE_EOM_Not_Set0
kSENSE_EOM_Mask64

enum(anonymous)

@enum ILI bit field definitions @discussion Masks and values to determine the Incorrect Length Indicator bit field. @constant kSENSE_ILI_Set Incorrect Length Indicator bit is set. @constant kSENSE_ILI_Not_Set Incorrect Length Indicator bit is not set. @constant kSENSE_ILI_Mask Mask to use when checking the SENSE_KEY field for the ILI bit.
underlying type unsigned int
kSENSE_ILI_Set32
kSENSE_ILI_Not_Set0
kSENSE_ILI_Mask32

enum(anonymous)

@enum Sense Key definitions @discussion Masks and values to determine the SENSE_KEY. @constant kSENSE_KEY_NO_SENSE No sense data is present. @constant kSENSE_KEY_RECOVERED_ERROR A recovered error has occurred. @constant kSENSE_KEY_NOT_READY Device server is not ready. @constant kSENSE_KEY_MEDIUM_ERROR Device server detected a medium error. @constant kSENSE_KEY_HARDWARE_ERROR Device server detected a hardware error. @constant kSENSE_KEY_ILLEGAL_REQUEST Device server detected an illegal request. @constant kSENSE_KEY_UNIT_ATTENTION Device server indicates a unit attention condition. @constant kSENSE_KEY_DATA_PROTECT Device server indicates a data protect condition. @constant kSENSE_KEY_BLANK_CHECK Device server indicates a blank check condition. @constant kSENSE_KEY_VENDOR_SPECIFIC Device server indicates a vendor specific condition. @constant kSENSE_KEY_COPY_ABORTED Device server indicates a copy aborted condition. @constant kSENSE_KEY_ABORTED_COMMAND Device server indicates an aborted command condition. @constant kSENSE_KEY_VOLUME_OVERFLOW Device server indicates a volume overflow condition. @constant kSENSE_KEY_MISCOMPARE Device server indicates a miscompare condition. @constant kSENSE_KEY_Mask Mask to use when checking the SENSE_KEY field for the SENSE_KEY value.
underlying type unsigned int
kSENSE_KEY_NO_SENSE0
kSENSE_KEY_RECOVERED_ERROR1
kSENSE_KEY_NOT_READY2
kSENSE_KEY_MEDIUM_ERROR3
kSENSE_KEY_HARDWARE_ERROR4
kSENSE_KEY_ILLEGAL_REQUEST5
kSENSE_KEY_UNIT_ATTENTION6
kSENSE_KEY_DATA_PROTECT7
kSENSE_KEY_BLANK_CHECK8
kSENSE_KEY_VENDOR_SPECIFIC9
kSENSE_KEY_COPY_ABORTED10
kSENSE_KEY_ABORTED_COMMAND11
kSENSE_KEY_VOLUME_OVERFLOW13SENSE KEY 0x0C is obsoleted
kSENSE_KEY_MISCOMPARE14
kSENSE_KEY_Mask15SENSE KEY 0x0F is reserved