/* Copyright 2013 Baruch Even
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

#ifndef MSC_SENSE_KEY_LIST_H
#define MSC_SENSE_KEY_LIST_H

#define SENSE_KEY_LIST \
        SENSE_KEY_MAP(NO_SENSE, 0x0) \
        SENSE_KEY_MAP(RECOVERED_ERROR, 0x1) \
        SENSE_KEY_MAP(NOT_READY, 0x2) \
        SENSE_KEY_MAP(MEDIUM_ERROR, 0x3) \
        SENSE_KEY_MAP(HARDWARE_ERROR, 0x4) \
        SENSE_KEY_MAP(ILLEGAL_REQUEST, 0x5) \
        SENSE_KEY_MAP(UNIT_ATTENTION, 0x6) \
        SENSE_KEY_MAP(DATA_PROTECT, 0x7) \
        SENSE_KEY_MAP(BLANK_CHECK, 0x8) \
        SENSE_KEY_MAP(VENDOR_SPECIFIC, 0x9) \
        SENSE_KEY_MAP(COPY_ABORTED, 0xA) \
        SENSE_KEY_MAP(ABORTED_COMMAND, 0xB) \
        SENSE_KEY_MAP(RESERVED_C, 0xC) \
        SENSE_KEY_MAP(VOLUME_OVERFLOW, 0xD) \
        SENSE_KEY_MAP(MISCOMPARE, 0xE) \
        SENSE_KEY_MAP(COMPLETED, 0xF)

#endif


#ifndef MSC_ASC_NUM_LIST_H
#define MSC_ASC_NUM_LIST_H
#define  ASC_NUM_LIST \
SENSE_CODE(0x0, 0x0, "NO ADDITIONAL SENSE INFORMATION") \
SENSE_CODE(0x0, 0x1, "FILEMARK DETECTED") \
SENSE_CODE(0x0, 0x2, "END-OF-PARTITION/MEDIUM DETECTED") \
SENSE_CODE(0x0, 0x3, "SETMARK DETECTED") \
SENSE_CODE(0x0, 0x4, "BEGINNING-OF-PARTITION/MEDIUM DETECTED") \
SENSE_CODE(0x0, 0x5, "END-OF-DATA DETECTED") \
SENSE_CODE(0x0, 0x6, "I/O PROCESS TERMINATED") \
SENSE_CODE(0x0, 0x7, "PROGRAMMABLE EARLY WARNING DETECTED") \
SENSE_CODE(0x0, 0x11, "AUDIO PLAY OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x12, "AUDIO PLAY OPERATION PAUSED") \
SENSE_CODE(0x0, 0x13, "AUDIO PLAY OPERATION SUCCESSFULLY COMPLETED") \
SENSE_CODE(0x0, 0x14, "AUDIO PLAY OPERATION STOPPED DUE TO ERROR") \
SENSE_CODE(0x0, 0x15, "NO CURRENT AUDIO STATUS TO RETURN") \
SENSE_CODE(0x0, 0x16, "OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x17, "CLEANING REQUESTED") \
SENSE_CODE(0x0, 0x18, "ERASE OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x19, "LOCATE OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x1a, "REWIND OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x1b, "SET CAPACITY OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x1c, "VERIFY OPERATION IN PROGRESS") \
SENSE_CODE(0x0, 0x1d, "ATA PASS THROUGH INFORMATION AVAILABLE") \
SENSE_CODE(0x0, 0x1e, "CONFLICTING SA CREATION REQUEST") \
SENSE_CODE(0x0, 0x1f, "LOGICAL UNIT TRANSITIONING TO ANOTHER POWER CONDITION") \
SENSE_CODE(0x0, 0x20, "EXTENDED COPY INFORMATION AVAILABLE") \
SENSE_CODE(0x0, 0x21, "ATOMIC COMMAND ABORTED DUE TO ACA") \
SENSE_CODE(0x1, 0x0, "NO INDEX/SECTOR SIGNAL") \
SENSE_CODE(0x2, 0x0, "NO SEEK COMPLETE") \
SENSE_CODE(0x3, 0x0, "PERIPHERAL DEVICE WRITE FAULT") \
SENSE_CODE(0x3, 0x1, "NO WRITE CURRENT") \
SENSE_CODE(0x3, 0x2, "EXCESSIVE WRITE ERRORS") \
SENSE_CODE(0x4, 0x0, "LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE") \
SENSE_CODE(0x4, 0x1, "LOGICAL UNIT IS IN PROCESS OF BECOMING READY") \
SENSE_CODE(0x4, 0x2, "LOGICAL UNIT NOT READY, INITIALIZING COMMAND REQUIRED") \
SENSE_CODE(0x4, 0x3, "LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED") \
SENSE_CODE(0x4, 0x4, "LOGICAL UNIT NOT READY, FORMAT IN PROGRESS") \
SENSE_CODE(0x4, 0x5, "LOGICAL UNIT NOT READY, REBUILD IN PROGRESS") \
SENSE_CODE(0x4, 0x6, "LOGICAL UNIT NOT READY, RECALCULATION IN PROGRESS") \
SENSE_CODE(0x4, 0x7, "LOGICAL UNIT NOT READY, OPERATION IN PROGRESS") \
SENSE_CODE(0x4, 0x8, "LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS") \
SENSE_CODE(0x4, 0x9, "LOGICAL UNIT NOT READY, SELF-TEST IN PROGRESS") \
SENSE_CODE(0x4, 0xa, "LOGICAL UNIT NOT ACCESSIBLE, ASYMMETRIC ACCESS STATE TRANSITION") \
SENSE_CODE(0x4, 0xb, "LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN STANDBY STATE") \
SENSE_CODE(0x4, 0xc, "LOGICAL UNIT NOT ACCESSIBLE, TARGET PORT IN UNAVAILABLE STATE") \
SENSE_CODE(0x4, 0xd, "LOGICAL UNIT NOT READY, STRUCTURE CHECK REQUIRED") \
SENSE_CODE(0x4, 0xe, "LOGICAL UNIT NOT READY, SECURITY SESSION IN PROGRESS") \
SENSE_CODE(0x4, 0x10, "LOGICAL UNIT NOT READY, AUXILIARY MEMORY NOT ACCESSIBLE") \
SENSE_CODE(0x4, 0x11, "LOGICAL UNIT NOT READY, NOTIFY (ENABLE SPINUP) REQUIRED") \
SENSE_CODE(0x4, 0x12, "LOGICAL UNIT NOT READY, OFFLINE") \
SENSE_CODE(0x4, 0x13, "LOGICAL UNIT NOT READY, SA CREATION IN PROGRESS") \
SENSE_CODE(0x4, 0x14, "LOGICAL UNIT NOT READY, SPACE ALLOCATION IN PROGRESS") \
SENSE_CODE(0x4, 0x15, "LOGICAL UNIT NOT READY, ROBOTICS DISABLED") \
SENSE_CODE(0x4, 0x16, "LOGICAL UNIT NOT READY, CONFIGURATION REQUIRED") \
SENSE_CODE(0x4, 0x17, "LOGICAL UNIT NOT READY, CALIBRATION REQUIRED") \
SENSE_CODE(0x4, 0x18, "LOGICAL UNIT NOT READY, A DOOR IS OPEN") \
SENSE_CODE(0x4, 0x19, "LOGICAL UNIT NOT READY, OPERATING IN SEQUENTIAL MODE") \
SENSE_CODE(0x4, 0x1a, "LOGICAL UNIT NOT READY, START STOP UNIT COMMAND IN PROGRESS") \
SENSE_CODE(0x4, 0x1b, "LOGICAL UNIT NOT READY, SANITIZE IN PROGRESS") \
SENSE_CODE(0x4, 0x1c, "LOGICAL UNIT NOT READY, ADDITIONAL POWER USE NOT YET GRANTED") \
SENSE_CODE(0x4, 0x1d, "LOGICAL UNIT NOT READY, CONFIGURATION IN PROGRESS") \
SENSE_CODE(0x4, 0x1e, "LOGICAL UNIT NOT READY, MICROCODE ACTIVATION REQUIRED") \
SENSE_CODE(0x4, 0x1f, "LOGICAL UNIT NOT READY, MICROCODE DOWNLOAD REQUIRED") \
SENSE_CODE(0x4, 0x20, "LOGICAL UNIT NOT READY, LOGICAL UNIT RESET REQUIRED") \
SENSE_CODE(0x4, 0x21, "LOGICAL UNIT NOT READY, HARD RESET REQUIRED") \
SENSE_CODE(0x4, 0x22, "LOGICAL UNIT NOT READY, POWER CYCLE REQUIRED") \
SENSE_CODE(0x5, 0x0, "LOGICAL UNIT DOES NOT RESPOND TO SELECTION") \
SENSE_CODE(0x6, 0x0, "NO REFERENCE POSITION FOUND") \
SENSE_CODE(0x7, 0x0, "MULTIPLE PERIPHERAL DEVICES SELECTED") \
SENSE_CODE(0x8, 0x0, "LOGICAL UNIT COMMUNICATION FAILURE") \
SENSE_CODE(0x8, 0x1, "LOGICAL UNIT COMMUNICATION TIME-OUT") \
SENSE_CODE(0x8, 0x2, "LOGICAL UNIT COMMUNICATION PARITY ERROR") \
SENSE_CODE(0x8, 0x3, "LOGICAL UNIT COMMUNICATION CRC ERROR (ULTRA-DMA/32)") \
SENSE_CODE(0x8, 0x4, "UNREACHABLE COPY TARGET") \
SENSE_CODE(0x9, 0x0, "TRACK FOLLOWING ERROR") \
SENSE_CODE(0x9, 0x1, "TRACKING SERVO FAILURE") \
SENSE_CODE(0x9, 0x2, "FOCUS SERVO FAILURE") \
SENSE_CODE(0x9, 0x3, "SPINDLE SERVO FAILURE") \
SENSE_CODE(0x9, 0x4, "HEAD SELECT FAULT") \
SENSE_CODE(0x9, 0x5, "VIBRATION INDUCED TRACKING ERROR") \
SENSE_CODE(0xa, 0x0, "ERROR LOG OVERFLOW") \
SENSE_CODE(0xb, 0x0, "WARNING") \
SENSE_CODE(0xb, 0x1, "WARNING - SPECIFIED TEMPERATURE EXCEEDED") \
SENSE_CODE(0xb, 0x2, "WARNING - ENCLOSURE DEGRADED") \
SENSE_CODE(0xb, 0x3, "WARNING - BACKGROUND SELF-TEST FAILED") \
SENSE_CODE(0xb, 0x4, "WARNING - BACKGROUND PRE-SCAN DETECTED MEDIUM ERROR") \
SENSE_CODE(0xb, 0x5, "WARNING - BACKGROUND MEDIUM SCAN DETECTED MEDIUM ERROR") \
SENSE_CODE(0xb, 0x6, "WARNING - NON-VOLATILE CACHE NOW VOLATILE") \
SENSE_CODE(0xb, 0x7, "WARNING - DEGRADED POWER TO NON-VOLATILE CACHE") \
SENSE_CODE(0xb, 0x8, "WARNING - POWER LOSS EXPECTED") \
SENSE_CODE(0xb, 0x9, "WARNING - DEVICE STATISTICS NOTIFICATION ACTIVE") \
SENSE_CODE(0xb, 0xa, "WARNING - HIGH CRITICAL TEMPERATURE LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0xb, "WARNING - LOW CRITICAL TEMPERATURE LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0xc, "WARNING - HIGH OPERATING TEMPERATURE LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0xd, "WARNING - LOW OPERATING TEMPERATURE LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0xe, "WARNING - HIGH CRITICAL HUMIDITY LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0xf, "WARNING - LOW CRITICAL HUMIDITY LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0x10, "WARNING - HIGH OPERATING HUMIDITY LIMIT EXCEEDED") \
SENSE_CODE(0xb, 0x11, "WARNING - LOW OPERATING HUMIDITY LIMIT EXCEEDED") \
SENSE_CODE(0xc, 0x0, "WRITE ERROR") \
SENSE_CODE(0xc, 0x1, "WRITE ERROR - RECOVERED WITH AUTO REALLOCATION") \
SENSE_CODE(0xc, 0x2, "WRITE ERROR - AUTO REALLOCATION FAILED") \
SENSE_CODE(0xc, 0x3, "WRITE ERROR - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0xc, 0x4, "COMPRESSION CHECK MISCOMPARE ERROR") \
SENSE_CODE(0xc, 0x5, "DATA EXPANSION OCCURRED DURING COMPRESSION") \
SENSE_CODE(0xc, 0x6, "BLOCK NOT COMPRESSIBLE") \
SENSE_CODE(0xc, 0x7, "WRITE ERROR - RECOVERY NEEDED") \
SENSE_CODE(0xc, 0x8, "WRITE ERROR - RECOVERY FAILED") \
SENSE_CODE(0xc, 0x9, "WRITE ERROR - LOSS OF STREAMING") \
SENSE_CODE(0xc, 0xa, "WRITE ERROR - PADDING BLOCKS ADDED") \
SENSE_CODE(0xc, 0xb, "AUXILIARY MEMORY WRITE ERROR") \
SENSE_CODE(0xc, 0xc, "WRITE ERROR - UNEXPECTED UNSOLICITED DATA") \
SENSE_CODE(0xc, 0xd, "WRITE ERROR - NOT ENOUGH UNSOLICITED DATA") \
SENSE_CODE(0xc, 0xe, "MULTIPLE WRITE ERRORS") \
SENSE_CODE(0xc, 0xf, "DEFECTS IN ERROR WINDOW") \
SENSE_CODE(0xc, 0x10, "INCOMPLETE MULTIPLE ATOMIC WRITE OPERATIONS") \
SENSE_CODE(0xd, 0x0, "ERROR DETECTED BY THIRD PARTY TEMPORARY INITIATOR") \
SENSE_CODE(0xd, 0x1, "THIRD PARTY DEVICE FAILURE") \
SENSE_CODE(0xd, 0x2, "COPY TARGET DEVICE NOT REACHABLE") \
SENSE_CODE(0xd, 0x3, "INCORRECT COPY TARGET DEVICE TYPE") \
SENSE_CODE(0xd, 0x4, "COPY TARGET DEVICE DATA UNDERRUN") \
SENSE_CODE(0xd, 0x5, "COPY TARGET DEVICE DATA OVERRUN") \
SENSE_CODE(0xe, 0x0, "INVALID INFORMATION UNIT") \
SENSE_CODE(0xe, 0x1, "INFORMATION UNIT TOO SHORT") \
SENSE_CODE(0xe, 0x2, "INFORMATION UNIT TOO LONG") \
SENSE_CODE(0xe, 0x3, "INVALID FIELD IN COMMAND INFORMATION UNIT") \
SENSE_CODE(0x10, 0x0, "ID CRC OR ECC ERROR") \
SENSE_CODE(0x10, 0x1, "LOGICAL BLOCK GUARD CHECK FAILED") \
SENSE_CODE(0x10, 0x2, "LOGICAL BLOCK APPLICATION TAG CHECK FAILED") \
SENSE_CODE(0x10, 0x3, "LOGICAL BLOCK REFERENCE TAG CHECK FAILED") \
SENSE_CODE(0x10, 0x4, "LOGICAL BLOCK PROTECTION ERROR ON RECOVER BUFFERED DATA") \
SENSE_CODE(0x10, 0x5, "LOGICAL BLOCK PROTECTION METHOD ERROR") \
SENSE_CODE(0x11, 0x0, "UNRECOVERED READ ERROR") \
SENSE_CODE(0x11, 0x1, "READ RETRIES EXHAUSTED") \
SENSE_CODE(0x11, 0x2, "ERROR TOO LONG TO CORRECT") \
SENSE_CODE(0x11, 0x3, "MULTIPLE READ ERRORS") \
SENSE_CODE(0x11, 0x4, "UNRECOVERED READ ERROR - AUTO REALLOCATE FAILED") \
SENSE_CODE(0x11, 0x5, "L-EC UNCORRECTABLE ERROR") \
SENSE_CODE(0x11, 0x6, "CIRC UNRECOVERED ERROR") \
SENSE_CODE(0x11, 0x7, "DATA RE-SYNCHRONIZATION ERROR") \
SENSE_CODE(0x11, 0x8, "INCOMPLETE BLOCK READ") \
SENSE_CODE(0x11, 0x9, "NO GAP FOUND") \
SENSE_CODE(0x11, 0xa, "MISCORRECTED ERROR") \
SENSE_CODE(0x11, 0xb, "UNRECOVERED READ ERROR - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0x11, 0xc, "UNRECOVERED READ ERROR - RECOMMEND REWRITE THE DATA") \
SENSE_CODE(0x11, 0xd, "DE-COMPRESSION CRC ERROR") \
SENSE_CODE(0x11, 0xe, "CANNOT DECOMPRESS USING DECLARED ALGORITHM") \
SENSE_CODE(0x11, 0xf, "ERROR READING UPC/EAN NUMBER") \
SENSE_CODE(0x11, 0x10, "ERROR READING ISRC NUMBER") \
SENSE_CODE(0x11, 0x11, "READ ERROR - LOSS OF STREAMING") \
SENSE_CODE(0x11, 0x12, "AUXILIARY MEMORY READ ERROR") \
SENSE_CODE(0x11, 0x13, "READ ERROR - FAILED RETRANSMISSION REQUEST") \
SENSE_CODE(0x11, 0x14, "READ ERROR - LBA MARKED BAD BY APPLICATION CLIENT") \
SENSE_CODE(0x11, 0x15, "WRITE AFTER SANITIZE REQUIRED") \
SENSE_CODE(0x12, 0x0, "ADDRESS MARK NOT FOUND FOR ID FIELD") \
SENSE_CODE(0x13, 0x0, "ADDRESS MARK NOT FOUND FOR DATA FIELD") \
SENSE_CODE(0x14, 0x0, "RECORDED ENTITY NOT FOUND") \
SENSE_CODE(0x14, 0x1, "RECORD NOT FOUND") \
SENSE_CODE(0x14, 0x2, "FILEMARK OR SETMARK NOT FOUND") \
SENSE_CODE(0x14, 0x3, "END-OF-DATA NOT FOUND") \
SENSE_CODE(0x14, 0x4, "BLOCK SEQUENCE ERROR") \
SENSE_CODE(0x14, 0x5, "RECORD NOT FOUND - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0x14, 0x6, "RECORD NOT FOUND - DATA AUTO-REALLOCATED") \
SENSE_CODE(0x14, 0x7, "LOCATE OPERATION FAILURE") \
SENSE_CODE(0x15, 0x0, "RANDOM POSITIONING ERROR") \
SENSE_CODE(0x15, 0x1, "MECHANICAL POSITIONING ERROR") \
SENSE_CODE(0x15, 0x2, "POSITIONING ERROR DETECTED BY READ OF MEDIUM") \
SENSE_CODE(0x16, 0x0, "DATA SYNCHRONIZATION MARK ERROR") \
SENSE_CODE(0x16, 0x1, "DATA SYNC ERROR - DATA REWRITTEN") \
SENSE_CODE(0x16, 0x2, "DATA SYNC ERROR - RECOMMEND REWRITE") \
SENSE_CODE(0x16, 0x3, "DATA SYNC ERROR - DATA AUTO-REALLOCATED") \
SENSE_CODE(0x16, 0x4, "DATA SYNC ERROR - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0x17, 0x0, "RECOVERED DATA WITH NO ERROR CORRECTION APPLIED") \
SENSE_CODE(0x17, 0x1, "RECOVERED DATA WITH RETRIES") \
SENSE_CODE(0x17, 0x2, "RECOVERED DATA WITH POSITIVE HEAD OFFSET") \
SENSE_CODE(0x17, 0x3, "RECOVERED DATA WITH NEGATIVE HEAD OFFSET") \
SENSE_CODE(0x17, 0x4, "RECOVERED DATA WITH RETRIES AND/OR CIRC APPLIED") \
SENSE_CODE(0x17, 0x5, "RECOVERED DATA USING PREVIOUS SECTOR ID") \
SENSE_CODE(0x17, 0x6, "RECOVERED DATA WITHOUT ECC - DATA AUTO-REALLOCATED") \
SENSE_CODE(0x17, 0x7, "RECOVERED DATA WITHOUT ECC - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0x17, 0x8, "RECOVERED DATA WITHOUT ECC - RECOMMEND REWRITE") \
SENSE_CODE(0x17, 0x9, "RECOVERED DATA WITHOUT ECC - DATA REWRITTEN") \
SENSE_CODE(0x18, 0x0, "RECOVERED DATA WITH ERROR CORRECTION APPLIED") \
SENSE_CODE(0x18, 0x1, "RECOVERED DATA WITH ERROR CORR. & RETRIES APPLIED") \
SENSE_CODE(0x18, 0x2, "RECOVERED DATA - DATA AUTO-REALLOCATED") \
SENSE_CODE(0x18, 0x3, "RECOVERED DATA WITH CIRC") \
SENSE_CODE(0x18, 0x4, "RECOVERED DATA WITH L-EC") \
SENSE_CODE(0x18, 0x5, "RECOVERED DATA - RECOMMEND REASSIGNMENT") \
SENSE_CODE(0x18, 0x6, "RECOVERED DATA - RECOMMEND REWRITE") \
SENSE_CODE(0x18, 0x7, "RECOVERED DATA WITH ECC - DATA REWRITTEN") \
SENSE_CODE(0x18, 0x8, "RECOVERED DATA WITH LINKING") \
SENSE_CODE(0x19, 0x0, "DEFECT LIST ERROR") \
SENSE_CODE(0x19, 0x1, "DEFECT LIST NOT AVAILABLE") \
SENSE_CODE(0x19, 0x2, "DEFECT LIST ERROR IN PRIMARY LIST") \
SENSE_CODE(0x19, 0x3, "DEFECT LIST ERROR IN GROWN LIST") \
SENSE_CODE(0x1a, 0x0, "PARAMETER LIST LENGTH ERROR") \
SENSE_CODE(0x1b, 0x0, "SYNCHRONOUS DATA TRANSFER ERROR") \
SENSE_CODE(0x1c, 0x0, "DEFECT LIST NOT FOUND") \
SENSE_CODE(0x1c, 0x1, "PRIMARY DEFECT LIST NOT FOUND") \
SENSE_CODE(0x1c, 0x2, "GROWN DEFECT LIST NOT FOUND") \
SENSE_CODE(0x1d, 0x0, "MISCOMPARE DURING VERIFY OPERATION") \
SENSE_CODE(0x1d, 0x1, "MISCOMPARE VERIFY OF UNMAPPED LBA") \
SENSE_CODE(0x1e, 0x0, "RECOVERED ID WITH ECC CORRECTION") \
SENSE_CODE(0x1f, 0x0, "PARTIAL DEFECT LIST TRANSFER") \
SENSE_CODE(0x20, 0x0, "INVALID COMMAND OPERATION CODE") \
SENSE_CODE(0x20, 0x1, "ACCESS DENIED - INITIATOR PENDING-ENROLLED") \
SENSE_CODE(0x20, 0x2, "ACCESS DENIED - NO ACCESS RIGHTS") \
SENSE_CODE(0x20, 0x3, "ACCESS DENIED - INVALID MGMT ID KEY") \
SENSE_CODE(0x20, 0x4, "ILLEGAL COMMAND WHILE IN WRITE CAPABLE STATE") \
SENSE_CODE(0x20, 0x5, "Obsolete") \
SENSE_CODE(0x20, 0x6, "ILLEGAL COMMAND WHILE IN EXPLICIT ADDRESS MODE") \
SENSE_CODE(0x20, 0x7, "ILLEGAL COMMAND WHILE IN IMPLICIT ADDRESS MODE") \
SENSE_CODE(0x20, 0x8, "ACCESS DENIED - ENROLLMENT CONFLICT") \
SENSE_CODE(0x20, 0x9, "ACCESS DENIED - INVALID LU IDENTIFIER") \
SENSE_CODE(0x20, 0xa, "ACCESS DENIED - INVALID PROXY TOKEN") \
SENSE_CODE(0x20, 0xb, "ACCESS DENIED - ACL LUN CONFLICT") \
SENSE_CODE(0x20, 0xc, "ILLEGAL COMMAND WHEN NOT IN APPEND-ONLY MODE") \
SENSE_CODE(0x21, 0x0, "LOGICAL BLOCK ADDRESS OUT OF RANGE") \
SENSE_CODE(0x21, 0x1, "INVALID ELEMENT ADDRESS") \
SENSE_CODE(0x21, 0x2, "INVALID ADDRESS FOR WRITE") \
SENSE_CODE(0x21, 0x3, "INVALID WRITE CROSSING LAYER JUMP") \
SENSE_CODE(0x21, 0x4, "UNALIGNED WRITE COMMAND") \
SENSE_CODE(0x21, 0x5, "WRITE BOUNDARY VIOLATION") \
SENSE_CODE(0x21, 0x6, "ATTEMPT TO READ INVALID DATA") \
SENSE_CODE(0x21, 0x7, "READ BOUNDARY VIOLATION") \
SENSE_CODE(0x22, 0x0, "ILLEGAL FUNCTION (USE 20 00, 24 00, OR 26 00)") \
SENSE_CODE(0x23, 0x0, "INVALID TOKEN OPERATION, CAUSE NOT REPORTABLE") \
SENSE_CODE(0x23, 0x1, "INVALID TOKEN OPERATION, UNSUPPORTED TOKEN TYPE") \
SENSE_CODE(0x23, 0x2, "INVALID TOKEN OPERATION, REMOTE TOKEN USAGE NOT SUPPORTED") \
SENSE_CODE(0x23, 0x3, "INVALID TOKEN OPERATION, REMOTE ROD TOKEN CREATION NOT SUPPORTED") \
SENSE_CODE(0x23, 0x4, "INVALID TOKEN OPERATION, TOKEN UNKNOWN") \
SENSE_CODE(0x23, 0x5, "INVALID TOKEN OPERATION, TOKEN CORRUPT") \
SENSE_CODE(0x23, 0x6, "INVALID TOKEN OPERATION, TOKEN REVOKED") \
SENSE_CODE(0x23, 0x7, "INVALID TOKEN OPERATION, TOKEN EXPIRED") \
SENSE_CODE(0x23, 0x8, "INVALID TOKEN OPERATION, TOKEN CANCELLED") \
SENSE_CODE(0x23, 0x9, "INVALID TOKEN OPERATION, TOKEN DELETED") \
SENSE_CODE(0x23, 0xa, "INVALID TOKEN OPERATION, INVALID TOKEN LENGTH") \
SENSE_CODE(0x24, 0x0, "INVALID FIELD IN CDB") \
SENSE_CODE(0x24, 0x1, "CDB DECRYPTION ERROR") \
SENSE_CODE(0x24, 0x2, "Obsolete") \
SENSE_CODE(0x24, 0x3, "Obsolete") \
SENSE_CODE(0x24, 0x4, "SECURITY AUDIT VALUE FROZEN") \
SENSE_CODE(0x24, 0x5, "SECURITY WORKING KEY FROZEN") \
SENSE_CODE(0x24, 0x6, "NONCE NOT UNIQUE") \
SENSE_CODE(0x24, 0x7, "NONCE TIMESTAMP OUT OF RANGE") \
SENSE_CODE(0x24, 0x8, "INVALID XCDB") \
SENSE_CODE(0x25, 0x0, "LOGICAL UNIT NOT SUPPORTED") \
SENSE_CODE(0x26, 0x0, "INVALID FIELD IN PARAMETER LIST") \
SENSE_CODE(0x26, 0x1, "PARAMETER NOT SUPPORTED") \
SENSE_CODE(0x26, 0x2, "PARAMETER VALUE INVALID") \
SENSE_CODE(0x26, 0x3, "THRESHOLD PARAMETERS NOT SUPPORTED") \
SENSE_CODE(0x26, 0x4, "INVALID RELEASE OF PERSISTENT RESERVATION") \
SENSE_CODE(0x26, 0x5, "DATA DECRYPTION ERROR") \
SENSE_CODE(0x26, 0x6, "TOO MANY TARGET DESCRIPTORS") \
SENSE_CODE(0x26, 0x7, "UNSUPPORTED TARGET DESCRIPTOR TYPE CODE") \
SENSE_CODE(0x26, 0x8, "TOO MANY SEGMENT DESCRIPTORS") \
SENSE_CODE(0x26, 0x9, "UNSUPPORTED SEGMENT DESCRIPTOR TYPE CODE") \
SENSE_CODE(0x26, 0xa, "UNEXPECTED INEXACT SEGMENT") \
SENSE_CODE(0x26, 0xb, "INLINE DATA LENGTH EXCEEDED") \
SENSE_CODE(0x26, 0xc, "INVALID OPERATION FOR COPY SOURCE OR DESTINATION") \
SENSE_CODE(0x26, 0xd, "COPY SEGMENT GRANULARITY VIOLATION") \
SENSE_CODE(0x26, 0xe, "INVALID PARAMETER WHILE PORT IS ENABLED") \
SENSE_CODE(0x26, 0xf, "INVALID DATA-OUT BUFFER INTEGRITY CHECK VALUE") \
SENSE_CODE(0x26, 0x10, "DATA DECRYPTION KEY FAIL LIMIT REACHED") \
SENSE_CODE(0x26, 0x11, "INCOMPLETE KEY-ASSOCIATED DATA SET") \
SENSE_CODE(0x26, 0x12, "VENDOR SPECIFIC KEY REFERENCE NOT FOUND") \
SENSE_CODE(0x26, 0x13, "APPLICATION TAG MODE PAGE IS INVALID") \
SENSE_CODE(0x27, 0x0, "WRITE PROTECTED") \
SENSE_CODE(0x27, 0x1, "HARDWARE WRITE PROTECTED") \
SENSE_CODE(0x27, 0x2, "LOGICAL UNIT SOFTWARE WRITE PROTECTED") \
SENSE_CODE(0x27, 0x3, "ASSOCIATED WRITE PROTECT") \
SENSE_CODE(0x27, 0x4, "PERSISTENT WRITE PROTECT") \
SENSE_CODE(0x27, 0x5, "PERMANENT WRITE PROTECT") \
SENSE_CODE(0x27, 0x6, "CONDITIONAL WRITE PROTECT") \
SENSE_CODE(0x27, 0x7, "SPACE ALLOCATION FAILED WRITE PROTECT") \
SENSE_CODE(0x27, 0x8, "ZONE IS READ ONLY") \
SENSE_CODE(0x28, 0x0, "NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED") \
SENSE_CODE(0x28, 0x1, "IMPORT OR EXPORT ELEMENT ACCESSED") \
SENSE_CODE(0x28, 0x2, "FORMAT-LAYER MAY HAVE CHANGED") \
SENSE_CODE(0x28, 0x3, "IMPORT/EXPORT ELEMENT ACCESSED, MEDIUM CHANGED") \
SENSE_CODE(0x29, 0x0, "POWER ON, RESET, OR BUS DEVICE RESET OCCURRED") \
SENSE_CODE(0x29, 0x1, "POWER ON OCCURRED") \
SENSE_CODE(0x29, 0x2, "SCSI BUS RESET OCCURRED") \
SENSE_CODE(0x29, 0x3, "BUS DEVICE RESET FUNCTION OCCURRED") \
SENSE_CODE(0x29, 0x4, "DEVICE INTERNAL RESET") \
SENSE_CODE(0x29, 0x5, "TRANSCEIVER MODE CHANGED TO SINGLE-ENDED") \
SENSE_CODE(0x29, 0x6, "TRANSCEIVER MODE CHANGED TO LVD") \
SENSE_CODE(0x29, 0x7, "I_T NEXUS LOSS OCCURRED") \
SENSE_CODE(0x2a, 0x0, "PARAMETERS CHANGED") \
SENSE_CODE(0x2a, 0x1, "MODE PARAMETERS CHANGED") \
SENSE_CODE(0x2a, 0x2, "LOG PARAMETERS CHANGED") \
SENSE_CODE(0x2a, 0x3, "RESERVATIONS PREEMPTED") \
SENSE_CODE(0x2a, 0x4, "RESERVATIONS RELEASED") \
SENSE_CODE(0x2a, 0x5, "REGISTRATIONS PREEMPTED") \
SENSE_CODE(0x2a, 0x6, "ASYMMETRIC ACCESS STATE CHANGED") \
SENSE_CODE(0x2a, 0x7, "IMPLICIT ASYMMETRIC ACCESS STATE TRANSITION FAILED") \
SENSE_CODE(0x2a, 0x8, "PRIORITY CHANGED") \
SENSE_CODE(0x2a, 0x9, "CAPACITY DATA HAS CHANGED") \
SENSE_CODE(0x2a, 0xa, "ERROR HISTORY I_T NEXUS CLEARED") \
SENSE_CODE(0x2a, 0xb, "ERROR HISTORY SNAPSHOT RELEASED") \
SENSE_CODE(0x2a, 0xc, "ERROR RECOVERY ATTRIBUTES HAVE CHANGED") \
SENSE_CODE(0x2a, 0xd, "DATA ENCRYPTION CAPABILITIES CHANGED") \
SENSE_CODE(0x2a, 0x10, "TIMESTAMP CHANGED") \
SENSE_CODE(0x2a, 0x11, "DATA ENCRYPTION PARAMETERS CHANGED BY ANOTHER I_T NEXUS") \
SENSE_CODE(0x2a, 0x12, "DATA ENCRYPTION PARAMETERS CHANGED BY VENDOR SPECIFIC EVENT") \
SENSE_CODE(0x2a, 0x13, "DATA ENCRYPTION KEY INSTANCE COUNTER HAS CHANGED") \
SENSE_CODE(0x2a, 0x14, "SA CREATION CAPABILITIES DATA HAS CHANGED") \
SENSE_CODE(0x2a, 0x15, "MEDIUM REMOVAL PREVENTION PREEMPTED") \
SENSE_CODE(0x2b, 0x0, "COPY CANNOT EXECUTE SINCE HOST CANNOT DISCONNECT") \
SENSE_CODE(0x2c, 0x0, "COMMAND SEQUENCE ERROR") \
SENSE_CODE(0x2c, 0x1, "TOO MANY WINDOWS SPECIFIED") \
SENSE_CODE(0x2c, 0x2, "INVALID COMBINATION OF WINDOWS SPECIFIED") \
SENSE_CODE(0x2c, 0x3, "CURRENT PROGRAM AREA IS NOT EMPTY") \
SENSE_CODE(0x2c, 0x4, "CURRENT PROGRAM AREA IS EMPTY") \
SENSE_CODE(0x2c, 0x5, "ILLEGAL POWER CONDITION REQUEST") \
SENSE_CODE(0x2c, 0x6, "PERSISTENT PREVENT CONFLICT") \
SENSE_CODE(0x2c, 0x7, "PREVIOUS BUSY STATUS") \
SENSE_CODE(0x2c, 0x8, "PREVIOUS TASK SET FULL STATUS") \
SENSE_CODE(0x2c, 0x9, "PREVIOUS RESERVATION CONFLICT STATUS") \
SENSE_CODE(0x2c, 0xa, "PARTITION OR COLLECTION CONTAINS USER OBJECTS") \
SENSE_CODE(0x2c, 0xb, "NOT RESERVED") \
SENSE_CODE(0x2c, 0xc, "ORWRITE GENERATION DOES NOT MATCH") \
SENSE_CODE(0x2c, 0xd, "RESET WRITE POINTER NOT ALLOWED") \
SENSE_CODE(0x2c, 0xe, "ZONE IS OFFLINE") \
SENSE_CODE(0x2d, 0x0, "OVERWRITE ERROR ON UPDATE IN PLACE") \
SENSE_CODE(0x2e, 0x0, "INSUFFICIENT TIME FOR OPERATION") \
SENSE_CODE(0x2e, 0x1, "COMMAND TIMEOUT BEFORE PROCESSING") \
SENSE_CODE(0x2e, 0x2, "COMMAND TIMEOUT DURING PROCESSING") \
SENSE_CODE(0x2e, 0x3, "COMMAND TIMEOUT DURING PROCESSING DUE TO ERROR RECOVERY") \
SENSE_CODE(0x2f, 0x0, "COMMANDS CLEARED BY ANOTHER INITIATOR") \
SENSE_CODE(0x2f, 0x1, "COMMANDS CLEARED BY POWER LOSS NOTIFICATION") \
SENSE_CODE(0x2f, 0x2, "COMMANDS CLEARED BY DEVICE SERVER") \
SENSE_CODE(0x2f, 0x3, "SOME COMMANDS CLEARED BY QUEUING LAYER EVENT") \
SENSE_CODE(0x30, 0x0, "INCOMPATIBLE MEDIUM INSTALLED") \
SENSE_CODE(0x30, 0x1, "CANNOT READ MEDIUM - UNKNOWN FORMAT") \
SENSE_CODE(0x30, 0x2, "CANNOT READ MEDIUM - INCOMPATIBLE FORMAT") \
SENSE_CODE(0x30, 0x3, "CLEANING CARTRIDGE INSTALLED") \
SENSE_CODE(0x30, 0x4, "CANNOT WRITE MEDIUM - UNKNOWN FORMAT") \
SENSE_CODE(0x30, 0x5, "CANNOT WRITE MEDIUM - INCOMPATIBLE FORMAT") \
SENSE_CODE(0x30, 0x6, "CANNOT FORMAT MEDIUM - INCOMPATIBLE MEDIUM") \
SENSE_CODE(0x30, 0x7, "CLEANING FAILURE") \
SENSE_CODE(0x30, 0x8, "CANNOT WRITE - APPLICATION CODE MISMATCH") \
SENSE_CODE(0x30, 0x9, "CURRENT SESSION NOT FIXATED FOR APPEND") \
SENSE_CODE(0x30, 0xa, "CLEANING REQUEST REJECTED") \
SENSE_CODE(0x30, 0xc, "WORM MEDIUM - OVERWRITE ATTEMPTED") \
SENSE_CODE(0x30, 0xd, "WORM MEDIUM - INTEGRITY CHECK") \
SENSE_CODE(0x30, 0x10, "MEDIUM NOT FORMATTED") \
SENSE_CODE(0x30, 0x11, "INCOMPATIBLE VOLUME TYPE") \
SENSE_CODE(0x30, 0x12, "INCOMPATIBLE VOLUME QUALIFIER") \
SENSE_CODE(0x30, 0x13, "CLEANING VOLUME EXPIRED") \
SENSE_CODE(0x31, 0x0, "MEDIUM FORMAT CORRUPTED") \
SENSE_CODE(0x31, 0x1, "FORMAT COMMAND FAILED") \
SENSE_CODE(0x31, 0x2, "ZONED FORMATTING FAILED DUE TO SPARE LINKING") \
SENSE_CODE(0x31, 0x3, "SANITIZE COMMAND FAILED") \
SENSE_CODE(0x32, 0x0, "NO DEFECT SPARE LOCATION AVAILABLE") \
SENSE_CODE(0x32, 0x1, "DEFECT LIST UPDATE FAILURE") \
SENSE_CODE(0x33, 0x0, "TAPE LENGTH ERROR") \
SENSE_CODE(0x34, 0x0, "ENCLOSURE FAILURE") \
SENSE_CODE(0x35, 0x0, "ENCLOSURE SERVICES FAILURE") \
SENSE_CODE(0x35, 0x1, "UNSUPPORTED ENCLOSURE FUNCTION") \
SENSE_CODE(0x35, 0x2, "ENCLOSURE SERVICES UNAVAILABLE") \
SENSE_CODE(0x35, 0x3, "ENCLOSURE SERVICES TRANSFER FAILURE") \
SENSE_CODE(0x35, 0x4, "ENCLOSURE SERVICES TRANSFER REFUSED") \
SENSE_CODE(0x35, 0x5, "ENCLOSURE SERVICES CHECKSUM ERROR") \
SENSE_CODE(0x36, 0x0, "RIBBON, INK, OR TONER FAILURE") \
SENSE_CODE(0x37, 0x0, "ROUNDED PARAMETER") \
SENSE_CODE(0x38, 0x0, "EVENT STATUS NOTIFICATION") \
SENSE_CODE(0x38, 0x2, "ESN - POWER MANAGEMENT CLASS EVENT") \
SENSE_CODE(0x38, 0x4, "ESN - MEDIA CLASS EVENT") \
SENSE_CODE(0x38, 0x6, "ESN - DEVICE BUSY CLASS EVENT") \
SENSE_CODE(0x38, 0x7, "THIN PROVISIONING SOFT THRESHOLD REACHED") \
SENSE_CODE(0x39, 0x0, "SAVING PARAMETERS NOT SUPPORTED") \
SENSE_CODE(0x3a, 0x0, "MEDIUM NOT PRESENT") \
SENSE_CODE(0x3a, 0x1, "MEDIUM NOT PRESENT - TRAY CLOSED") \
SENSE_CODE(0x3a, 0x2, "MEDIUM NOT PRESENT - TRAY OPEN") \
SENSE_CODE(0x3a, 0x3, "MEDIUM NOT PRESENT - LOADABLE") \
SENSE_CODE(0x3a, 0x4, "MEDIUM NOT PRESENT - MEDIUM AUXILIARY MEMORY ACCESSIBLE") \
SENSE_CODE(0x3b, 0x0, "SEQUENTIAL POSITIONING ERROR") \
SENSE_CODE(0x3b, 0x1, "TAPE POSITION ERROR AT BEGINNING-OF-MEDIUM") \
SENSE_CODE(0x3b, 0x2, "TAPE POSITION ERROR AT END-OF-MEDIUM") \
SENSE_CODE(0x3b, 0x3, "TAPE OR ELECTRONIC VERTICAL FORMS UNIT NOT READY") \
SENSE_CODE(0x3b, 0x4, "SLEW FAILURE") \
SENSE_CODE(0x3b, 0x5, "PAPER JAM") \
SENSE_CODE(0x3b, 0x6, "FAILED TO SENSE TOP-OF-FORM") \
SENSE_CODE(0x3b, 0x7, "FAILED TO SENSE BOTTOM-OF-FORM") \
SENSE_CODE(0x3b, 0x8, "REPOSITION ERROR") \
SENSE_CODE(0x3b, 0x9, "READ PAST END OF MEDIUM") \
SENSE_CODE(0x3b, 0xa, "READ PAST BEGINNING OF MEDIUM") \
SENSE_CODE(0x3b, 0xb, "POSITION PAST END OF MEDIUM") \
SENSE_CODE(0x3b, 0xc, "POSITION PAST BEGINNING OF MEDIUM") \
SENSE_CODE(0x3b, 0xd, "MEDIUM DESTINATION ELEMENT FULL") \
SENSE_CODE(0x3b, 0xe, "MEDIUM SOURCE ELEMENT EMPTY") \
SENSE_CODE(0x3b, 0xf, "END OF MEDIUM REACHED") \
SENSE_CODE(0x3b, 0x11, "MEDIUM MAGAZINE NOT ACCESSIBLE") \
SENSE_CODE(0x3b, 0x12, "MEDIUM MAGAZINE REMOVED") \
SENSE_CODE(0x3b, 0x13, "MEDIUM MAGAZINE INSERTED") \
SENSE_CODE(0x3b, 0x14, "MEDIUM MAGAZINE LOCKED") \
SENSE_CODE(0x3b, 0x15, "MEDIUM MAGAZINE UNLOCKED") \
SENSE_CODE(0x3b, 0x16, "MECHANICAL POSITIONING OR CHANGER ERROR") \
SENSE_CODE(0x3b, 0x17, "READ PAST END OF USER OBJECT") \
SENSE_CODE(0x3b, 0x18, "ELEMENT DISABLED") \
SENSE_CODE(0x3b, 0x19, "ELEMENT ENABLED") \
SENSE_CODE(0x3b, 0x1a, "DATA TRANSFER DEVICE REMOVED") \
SENSE_CODE(0x3b, 0x1b, "DATA TRANSFER DEVICE INSERTED") \
SENSE_CODE(0x3b, 0x1c, "TOO MANY LOGICAL OBJECTS ON PARTITION TO SUPPORT OPERATION") \
SENSE_CODE(0x3d, 0x0, "INVALID BITS IN IDENTIFY MESSAGE") \
SENSE_CODE(0x3e, 0x0, "LOGICAL UNIT HAS NOT SELF-CONFIGURED YET") \
SENSE_CODE(0x3e, 0x1, "LOGICAL UNIT FAILURE") \
SENSE_CODE(0x3e, 0x2, "TIMEOUT ON LOGICAL UNIT") \
SENSE_CODE(0x3e, 0x3, "LOGICAL UNIT FAILED SELF-TEST") \
SENSE_CODE(0x3e, 0x4, "LOGICAL UNIT UNABLE TO UPDATE SELF-TEST LOG") \
SENSE_CODE(0x3f, 0x0, "TARGET OPERATING CONDITIONS HAVE CHANGED") \
SENSE_CODE(0x3f, 0x1, "MICROCODE HAS BEEN CHANGED") \
SENSE_CODE(0x3f, 0x2, "CHANGED OPERATING DEFINITION") \
SENSE_CODE(0x3f, 0x3, "INQUIRY DATA HAS CHANGED") \
SENSE_CODE(0x3f, 0x4, "COMPONENT DEVICE ATTACHED") \
SENSE_CODE(0x3f, 0x5, "DEVICE IDENTIFIER CHANGED") \
SENSE_CODE(0x3f, 0x6, "REDUNDANCY GROUP CREATED OR MODIFIED") \
SENSE_CODE(0x3f, 0x7, "REDUNDANCY GROUP DELETED") \
SENSE_CODE(0x3f, 0x8, "SPARE CREATED OR MODIFIED") \
SENSE_CODE(0x3f, 0x9, "SPARE DELETED") \
SENSE_CODE(0x3f, 0xa, "VOLUME SET CREATED OR MODIFIED") \
SENSE_CODE(0x3f, 0xb, "VOLUME SET DELETED") \
SENSE_CODE(0x3f, 0xc, "VOLUME SET DEASSIGNED") \
SENSE_CODE(0x3f, 0xd, "VOLUME SET REASSIGNED") \
SENSE_CODE(0x3f, 0xe, "REPORTED LUNS DATA HAS CHANGED") \
SENSE_CODE(0x3f, 0xf, "ECHO BUFFER OVERWRITTEN") \
SENSE_CODE(0x3f, 0x10, "MEDIUM LOADABLE") \
SENSE_CODE(0x3f, 0x11, "MEDIUM AUXILIARY MEMORY ACCESSIBLE") \
SENSE_CODE(0x3f, 0x12, "iSCSI IP ADDRESS ADDED") \
SENSE_CODE(0x3f, 0x13, "iSCSI IP ADDRESS REMOVED") \
SENSE_CODE(0x3f, 0x14, "iSCSI IP ADDRESS CHANGED") \
SENSE_CODE(0x3f, 0x15, "INSPECT REFERRALS SENSE DESCRIPTORS") \
SENSE_CODE(0x3f, 0x16, "MICROCODE HAS BEEN CHANGED WITHOUT RESET") \
SENSE_CODE(0x40, 0x0, "RAM FAILURE (SHOULD USE 40 NN)") \
SENSE_CODE_KEYED(0x40, "DIAGNOSTIC FAILURE ON COMPONENT %u (80h-FFh)") \
SENSE_CODE(0x41, 0x0, "DATA PATH FAILURE (SHOULD USE 40 NN)") \
SENSE_CODE(0x42, 0x0, "POWER-ON OR SELF-TEST FAILURE (SHOULD USE 40 NN)") \
SENSE_CODE(0x43, 0x0, "MESSAGE ERROR") \
SENSE_CODE(0x44, 0x0, "INTERNAL TARGET FAILURE") \
SENSE_CODE(0x44, 0x1, "PERSISTENT RESERVATION INFORMATION LOST") \
SENSE_CODE(0x44, 0x71, "ATA DEVICE FAILED SET FEATURES") \
SENSE_CODE(0x45, 0x0, "SELECT OR RESELECT FAILURE") \
SENSE_CODE(0x46, 0x0, "UNSUCCESSFUL SOFT RESET") \
SENSE_CODE(0x47, 0x0, "SCSI PARITY ERROR") \
SENSE_CODE(0x47, 0x1, "DATA PHASE CRC ERROR DETECTED") \
SENSE_CODE(0x47, 0x2, "SCSI PARITY ERROR DETECTED DURING ST DATA PHASE") \
SENSE_CODE(0x47, 0x3, "INFORMATION UNIT iuCRC ERROR DETECTED") \
SENSE_CODE(0x47, 0x4, "ASYNCHRONOUS INFORMATION PROTECTION ERROR DETECTED") \
SENSE_CODE(0x47, 0x5, "PROTOCOL SERVICE CRC ERROR") \
SENSE_CODE(0x47, 0x6, "PHY TEST FUNCTION IN PROGRESS") \
SENSE_CODE(0x47, 0x7f, "SOME COMMANDS CLEARED BY ISCSI PROTOCOL EVENT") \
SENSE_CODE(0x48, 0x0, "INITIATOR DETECTED ERROR MESSAGE RECEIVED") \
SENSE_CODE(0x49, 0x0, "INVALID MESSAGE ERROR") \
SENSE_CODE(0x4a, 0x0, "COMMAND PHASE ERROR") \
SENSE_CODE(0x4b, 0x0, "DATA PHASE ERROR") \
SENSE_CODE(0x4b, 0x1, "INVALID TARGET PORT TRANSFER TAG RECEIVED") \
SENSE_CODE(0x4b, 0x2, "TOO MUCH WRITE DATA") \
SENSE_CODE(0x4b, 0x3, "ACK/NAK TIMEOUT") \
SENSE_CODE(0x4b, 0x4, "NAK RECEIVED") \
SENSE_CODE(0x4b, 0x5, "DATA OFFSET ERROR") \
SENSE_CODE(0x4b, 0x6, "INITIATOR RESPONSE TIMEOUT") \
SENSE_CODE(0x4b, 0x7, "CONNECTION LOST") \
SENSE_CODE(0x4b, 0x8, "DATA-IN BUFFER OVERFLOW - DATA BUFFER SIZE") \
SENSE_CODE(0x4b, 0x9, "DATA-IN BUFFER OVERFLOW - DATA BUFFER DESCRIPTOR AREA") \
SENSE_CODE(0x4b, 0xa, "DATA-IN BUFFER ERROR") \
SENSE_CODE(0x4b, 0xb, "DATA-OUT BUFFER OVERFLOW - DATA BUFFER SIZE") \
SENSE_CODE(0x4b, 0xc, "DATA-OUT BUFFER OVERFLOW - DATA BUFFER DESCRIPTOR AREA") \
SENSE_CODE(0x4b, 0xd, "DATA-OUT BUFFER ERROR") \
SENSE_CODE(0x4b, 0xe, "PCIE FABRIC ERROR") \
SENSE_CODE(0x4b, 0xf, "PCIE COMPLETION TIMEOUT") \
SENSE_CODE(0x4b, 0x10, "PCIE COMPLETER ABORT") \
SENSE_CODE(0x4b, 0x11, "PCIE POISONED TLP RECEIVED") \
SENSE_CODE(0x4b, 0x12, "PCIE ECRC CHECK FAILED") \
SENSE_CODE(0x4b, 0x13, "PCIE UNSUPPORTED REQUEST") \
SENSE_CODE(0x4b, 0x14, "PCIE ACS VIOLATION") \
SENSE_CODE(0x4b, 0x15, "PCIE TLP PREFIX BLOCKED") \
SENSE_CODE(0x4c, 0x0, "LOGICAL UNIT FAILED SELF-CONFIGURATION") \
SENSE_CODE_KEYED(0x4d, "TAGGED OVERLAPPED COMMANDS (%u = TASK TAG)") \
SENSE_CODE(0x4e, 0x0, "OVERLAPPED COMMANDS ATTEMPTED") \
SENSE_CODE(0x50, 0x0, "WRITE APPEND ERROR") \
SENSE_CODE(0x50, 0x1, "WRITE APPEND POSITION ERROR") \
SENSE_CODE(0x50, 0x2, "POSITION ERROR RELATED TO TIMING") \
SENSE_CODE(0x51, 0x0, "ERASE FAILURE") \
SENSE_CODE(0x51, 0x1, "ERASE FAILURE - INCOMPLETE ERASE OPERATION DETECTED") \
SENSE_CODE(0x52, 0x0, "CARTRIDGE FAULT") \
SENSE_CODE(0x53, 0x0, "MEDIA LOAD OR EJECT FAILED") \
SENSE_CODE(0x53, 0x1, "UNLOAD TAPE FAILURE") \
SENSE_CODE(0x53, 0x2, "MEDIUM REMOVAL PREVENTED") \
SENSE_CODE(0x53, 0x3, "MEDIUM REMOVAL PREVENTED BY DATA TRANSFER ELEMENT") \
SENSE_CODE(0x53, 0x4, "MEDIUM THREAD OR UNTHREAD FAILURE") \
SENSE_CODE(0x53, 0x5, "VOLUME IDENTIFIER INVALID") \
SENSE_CODE(0x53, 0x6, "VOLUME IDENTIFIER MISSING") \
SENSE_CODE(0x53, 0x7, "DUPLICATE VOLUME IDENTIFIER") \
SENSE_CODE(0x53, 0x8, "ELEMENT STATUS UNKNOWN") \
SENSE_CODE(0x53, 0x9, "DATA TRANSFER DEVICE ERROR - LOAD FAILED") \
SENSE_CODE(0x53, 0xa, "DATA TRANSFER DEVICE ERROR - UNLOAD FAILED") \
SENSE_CODE(0x53, 0xb, "DATA TRANSFER DEVICE ERROR - UNLOAD MISSING") \
SENSE_CODE(0x53, 0xc, "DATA TRANSFER DEVICE ERROR - EJECT FAILED") \
SENSE_CODE(0x53, 0xd, "DATA TRANSFER DEVICE ERROR - LIBRARY COMMUNICATION FAILED") \
SENSE_CODE(0x54, 0x0, "SCSI TO HOST SYSTEM INTERFACE FAILURE") \
SENSE_CODE(0x55, 0x0, "SYSTEM RESOURCE FAILURE") \
SENSE_CODE(0x55, 0x1, "SYSTEM BUFFER FULL") \
SENSE_CODE(0x55, 0x2, "INSUFFICIENT RESERVATION RESOURCES") \
SENSE_CODE(0x55, 0x3, "INSUFFICIENT RESOURCES") \
SENSE_CODE(0x55, 0x4, "INSUFFICIENT REGISTRATION RESOURCES") \
SENSE_CODE(0x55, 0x5, "INSUFFICIENT ACCESS CONTROL RESOURCES") \
SENSE_CODE(0x55, 0x6, "AUXILIARY MEMORY OUT OF SPACE") \
SENSE_CODE(0x55, 0x7, "QUOTA ERROR") \
SENSE_CODE(0x55, 0x8, "MAXIMUM NUMBER OF SUPPLEMENTAL DECRYPTION KEYS EXCEEDED") \
SENSE_CODE(0x55, 0x9, "MEDIUM AUXILIARY MEMORY NOT ACCESSIBLE") \
SENSE_CODE(0x55, 0xa, "DATA CURRENTLY UNAVAILABLE") \
SENSE_CODE(0x55, 0xb, "INSUFFICIENT POWER FOR OPERATION") \
SENSE_CODE(0x55, 0xc, "INSUFFICIENT RESOURCES TO CREATE ROD") \
SENSE_CODE(0x55, 0xd, "INSUFFICIENT RESOURCES TO CREATE ROD TOKEN") \
SENSE_CODE(0x55, 0xe, "INSUFFICIENT ZONE RESOURCES") \
SENSE_CODE(0x57, 0x0, "UNABLE TO RECOVER TABLE-OF-CONTENTS") \
SENSE_CODE(0x58, 0x0, "GENERATION DOES NOT EXIST") \
SENSE_CODE(0x59, 0x0, "UPDATED BLOCK READ") \
SENSE_CODE(0x5a, 0x0, "OPERATOR REQUEST OR STATE CHANGE INPUT") \
SENSE_CODE(0x5a, 0x1, "OPERATOR MEDIUM REMOVAL REQUEST") \
SENSE_CODE(0x5a, 0x2, "OPERATOR SELECTED WRITE PROTECT") \
SENSE_CODE(0x5a, 0x3, "OPERATOR SELECTED WRITE PERMIT") \
SENSE_CODE(0x5b, 0x0, "LOG EXCEPTION") \
SENSE_CODE(0x5b, 0x1, "THRESHOLD CONDITION MET") \
SENSE_CODE(0x5b, 0x2, "LOG COUNTER AT MAXIMUM") \
SENSE_CODE(0x5b, 0x3, "LOG LIST CODES EXHAUSTED") \
SENSE_CODE(0x5c, 0x0, "RPL STATUS CHANGE") \
SENSE_CODE(0x5c, 0x1, "SPINDLES SYNCHRONIZED") \
SENSE_CODE(0x5c, 0x2, "SPINDLES NOT SYNCHRONIZED") \
SENSE_CODE(0x5d, 0x0, "FAILURE PREDICTION THRESHOLD EXCEEDED") \
SENSE_CODE(0x5d, 0x1, "MEDIA FAILURE PREDICTION THRESHOLD EXCEEDED") \
SENSE_CODE(0x5d, 0x2, "LOGICAL UNIT FAILURE PREDICTION THRESHOLD EXCEEDED") \
SENSE_CODE(0x5d, 0x3, "SPARE AREA EXHAUSTION PREDICTION THRESHOLD EXCEEDED") \
SENSE_CODE(0x5d, 0x10, "HARDWARE IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x11, "HARDWARE IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x12, "HARDWARE IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x13, "HARDWARE IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x14, "HARDWARE IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x15, "HARDWARE IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x16, "HARDWARE IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x17, "HARDWARE IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x18, "HARDWARE IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x19, "HARDWARE IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x1a, "HARDWARE IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x1b, "HARDWARE IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x1c, "HARDWARE IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0x20, "CONTROLLER IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x21, "CONTROLLER IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x22, "CONTROLLER IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x23, "CONTROLLER IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x24, "CONTROLLER IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x25, "CONTROLLER IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x26, "CONTROLLER IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x27, "CONTROLLER IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x28, "CONTROLLER IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x29, "CONTROLLER IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x2a, "CONTROLLER IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x2b, "CONTROLLER IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x2c, "CONTROLLER IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0x30, "DATA CHANNEL IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x31, "DATA CHANNEL IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x32, "DATA CHANNEL IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x33, "DATA CHANNEL IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x34, "DATA CHANNEL IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x35, "DATA CHANNEL IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x36, "DATA CHANNEL IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x37, "DATA CHANNEL IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x38, "DATA CHANNEL IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x39, "DATA CHANNEL IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x3a, "DATA CHANNEL IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x3b, "DATA CHANNEL IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x3c, "DATA CHANNEL IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0x40, "SERVO IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x41, "SERVO IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x42, "SERVO IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x43, "SERVO IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x44, "SERVO IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x45, "SERVO IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x46, "SERVO IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x47, "SERVO IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x48, "SERVO IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x49, "SERVO IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x4a, "SERVO IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x4b, "SERVO IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x4c, "SERVO IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0x50, "SPINDLE IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x51, "SPINDLE IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x52, "SPINDLE IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x53, "SPINDLE IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x54, "SPINDLE IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x55, "SPINDLE IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x56, "SPINDLE IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x57, "SPINDLE IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x58, "SPINDLE IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x59, "SPINDLE IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x5a, "SPINDLE IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x5b, "SPINDLE IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x5c, "SPINDLE IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0x60, "FIRMWARE IMPENDING FAILURE GENERAL HARD DRIVE FAILURE") \
SENSE_CODE(0x5d, 0x61, "FIRMWARE IMPENDING FAILURE DRIVE ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x62, "FIRMWARE IMPENDING FAILURE DATA ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x63, "FIRMWARE IMPENDING FAILURE SEEK ERROR RATE TOO HIGH") \
SENSE_CODE(0x5d, 0x64, "FIRMWARE IMPENDING FAILURE TOO MANY BLOCK REASSIGNS") \
SENSE_CODE(0x5d, 0x65, "FIRMWARE IMPENDING FAILURE ACCESS TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x66, "FIRMWARE IMPENDING FAILURE START UNIT TIMES TOO HIGH") \
SENSE_CODE(0x5d, 0x67, "FIRMWARE IMPENDING FAILURE CHANNEL PARAMETRICS") \
SENSE_CODE(0x5d, 0x68, "FIRMWARE IMPENDING FAILURE CONTROLLER DETECTED") \
SENSE_CODE(0x5d, 0x69, "FIRMWARE IMPENDING FAILURE THROUGHPUT PERFORMANCE") \
SENSE_CODE(0x5d, 0x6a, "FIRMWARE IMPENDING FAILURE SEEK TIME PERFORMANCE") \
SENSE_CODE(0x5d, 0x6b, "FIRMWARE IMPENDING FAILURE SPIN-UP RETRY COUNT") \
SENSE_CODE(0x5d, 0x6c, "FIRMWARE IMPENDING FAILURE DRIVE CALIBRATION RETRY COUNT") \
SENSE_CODE(0x5d, 0xff, "FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE)") \
SENSE_CODE(0x5e, 0x0, "LOW POWER CONDITION ON") \
SENSE_CODE(0x5e, 0x1, "IDLE CONDITION ACTIVATED BY TIMER") \
SENSE_CODE(0x5e, 0x2, "STANDBY CONDITION ACTIVATED BY TIMER") \
SENSE_CODE(0x5e, 0x3, "IDLE CONDITION ACTIVATED BY COMMAND") \
SENSE_CODE(0x5e, 0x4, "STANDBY CONDITION ACTIVATED BY COMMAND") \
SENSE_CODE(0x5e, 0x5, "IDLE_B CONDITION ACTIVATED BY TIMER") \
SENSE_CODE(0x5e, 0x6, "IDLE_B CONDITION ACTIVATED BY COMMAND") \
SENSE_CODE(0x5e, 0x7, "IDLE_C CONDITION ACTIVATED BY TIMER") \
SENSE_CODE(0x5e, 0x8, "IDLE_C CONDITION ACTIVATED BY COMMAND") \
SENSE_CODE(0x5e, 0x9, "STANDBY_Y CONDITION ACTIVATED BY TIMER") \
SENSE_CODE(0x5e, 0xa, "STANDBY_Y CONDITION ACTIVATED BY COMMAND") \
SENSE_CODE(0x5e, 0x41, "POWER STATE CHANGE TO ACTIVE") \
SENSE_CODE(0x5e, 0x42, "POWER STATE CHANGE TO IDLE") \
SENSE_CODE(0x5e, 0x43, "POWER STATE CHANGE TO STANDBY") \
SENSE_CODE(0x5e, 0x45, "POWER STATE CHANGE TO SLEEP") \
SENSE_CODE(0x5e, 0x47, "POWER STATE CHANGE TO DEVICE CONTROL") \
SENSE_CODE(0x60, 0x0, "LAMP FAILURE") \
SENSE_CODE(0x61, 0x0, "VIDEO ACQUISITION ERROR") \
SENSE_CODE(0x61, 0x1, "UNABLE TO ACQUIRE VIDEO") \
SENSE_CODE(0x61, 0x2, "OUT OF FOCUS") \
SENSE_CODE(0x62, 0x0, "SCAN HEAD POSITIONING ERROR") \
SENSE_CODE(0x63, 0x0, "END OF USER AREA ENCOUNTERED ON THIS TRACK") \
SENSE_CODE(0x63, 0x1, "PACKET DOES NOT FIT IN AVAILABLE SPACE") \
SENSE_CODE(0x64, 0x0, "ILLEGAL MODE FOR THIS TRACK") \
SENSE_CODE(0x64, 0x1, "INVALID PACKET SIZE") \
SENSE_CODE(0x65, 0x0, "VOLTAGE FAULT") \
SENSE_CODE(0x66, 0x0, "AUTOMATIC DOCUMENT FEEDER COVER UP") \
SENSE_CODE(0x66, 0x1, "AUTOMATIC DOCUMENT FEEDER LIFT UP") \
SENSE_CODE(0x66, 0x2, "DOCUMENT JAM IN AUTOMATIC DOCUMENT FEEDER") \
SENSE_CODE(0x66, 0x3, "DOCUMENT MISS FEED AUTOMATIC IN DOCUMENT FEEDER") \
SENSE_CODE(0x67, 0x0, "CONFIGURATION FAILURE") \
SENSE_CODE(0x67, 0x1, "CONFIGURATION OF INCAPABLE LOGICAL UNITS FAILED") \
SENSE_CODE(0x67, 0x2, "ADD LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x3, "MODIFICATION OF LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x4, "EXCHANGE OF LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x5, "REMOVE OF LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x6, "ATTACHMENT OF LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x7, "CREATION OF LOGICAL UNIT FAILED") \
SENSE_CODE(0x67, 0x8, "ASSIGN FAILURE OCCURRED") \
SENSE_CODE(0x67, 0x9, "MULTIPLY ASSIGNED LOGICAL UNIT") \
SENSE_CODE(0x67, 0xa, "SET TARGET PORT GROUPS COMMAND FAILED") \
SENSE_CODE(0x67, 0xb, "ATA DEVICE FEATURE NOT ENABLED") \
SENSE_CODE(0x68, 0x0, "LOGICAL UNIT NOT CONFIGURED") \
SENSE_CODE(0x68, 0x1, "SUBSIDIARY LOGICAL UNIT NOT CONFIGURED") \
SENSE_CODE(0x69, 0x0, "DATA LOSS ON LOGICAL UNIT") \
SENSE_CODE(0x69, 0x1, "MULTIPLE LOGICAL UNIT FAILURES") \
SENSE_CODE(0x69, 0x2, "PARITY/DATA MISMATCH") \
SENSE_CODE(0x6a, 0x0, "INFORMATIONAL, REFER TO LOG") \
SENSE_CODE(0x6b, 0x0, "STATE CHANGE HAS OCCURRED") \
SENSE_CODE(0x6b, 0x1, "REDUNDANCY LEVEL GOT BETTER") \
SENSE_CODE(0x6b, 0x2, "REDUNDANCY LEVEL GOT WORSE") \
SENSE_CODE(0x6c, 0x0, "REBUILD FAILURE OCCURRED") \
SENSE_CODE(0x6d, 0x0, "RECALCULATE FAILURE OCCURRED") \
SENSE_CODE(0x6e, 0x0, "COMMAND TO LOGICAL UNIT FAILED") \
SENSE_CODE(0x6f, 0x0, "COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE") \
SENSE_CODE(0x6f, 0x1, "COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT PRESENT") \
SENSE_CODE(0x6f, 0x2, "COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED") \
SENSE_CODE(0x6f, 0x3, "READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION") \
SENSE_CODE(0x6f, 0x4, "MEDIA REGION CODE IS MISMATCHED TO LOGICAL UNIT REGION") \
SENSE_CODE(0x6f, 0x5, "DRIVE REGION MUST BE PERMANENT/REGION RESET COUNT ERROR") \
SENSE_CODE(0x6f, 0x6, "INSUFFICIENT BLOCK COUNT FOR BINDING NONCE RECORDING") \
SENSE_CODE(0x6f, 0x7, "CONFLICT IN BINDING NONCE RECORDING") \
SENSE_CODE_KEYED(0x70, "DECOMPRESSION EXCEPTION SHORT ALGORITHM ID OF %u") \
SENSE_CODE(0x71, 0x0, "DECOMPRESSION EXCEPTION LONG ALGORITHM ID") \
SENSE_CODE(0x72, 0x0, "SESSION FIXATION ERROR") \
SENSE_CODE(0x72, 0x1, "SESSION FIXATION ERROR WRITING LEAD-IN") \
SENSE_CODE(0x72, 0x2, "SESSION FIXATION ERROR WRITING LEAD-OUT") \
SENSE_CODE(0x72, 0x3, "SESSION FIXATION ERROR - INCOMPLETE TRACK IN SESSION") \
SENSE_CODE(0x72, 0x4, "EMPTY OR PARTIALLY WRITTEN RESERVED TRACK") \
SENSE_CODE(0x72, 0x5, "NO MORE TRACK RESERVATIONS ALLOWED") \
SENSE_CODE(0x72, 0x6, "RMZ EXTENSION IS NOT ALLOWED") \
SENSE_CODE(0x72, 0x7, "NO MORE TEST ZONE EXTENSIONS ARE ALLOWED") \
SENSE_CODE(0x73, 0x0, "CD CONTROL ERROR") \
SENSE_CODE(0x73, 0x1, "POWER CALIBRATION AREA ALMOST FULL") \
SENSE_CODE(0x73, 0x2, "POWER CALIBRATION AREA IS FULL") \
SENSE_CODE(0x73, 0x3, "POWER CALIBRATION AREA ERROR") \
SENSE_CODE(0x73, 0x4, "PROGRAM MEMORY AREA UPDATE FAILURE") \
SENSE_CODE(0x73, 0x5, "PROGRAM MEMORY AREA IS FULL") \
SENSE_CODE(0x73, 0x6, "RMA/PMA IS ALMOST FULL") \
SENSE_CODE(0x73, 0x10, "CURRENT POWER CALIBRATION AREA ALMOST FULL") \
SENSE_CODE(0x73, 0x11, "CURRENT POWER CALIBRATION AREA IS FULL") \
SENSE_CODE(0x73, 0x17, "RDZ IS FULL") \
SENSE_CODE(0x74, 0x0, "SECURITY ERROR") \
SENSE_CODE(0x74, 0x1, "UNABLE TO DECRYPT DATA") \
SENSE_CODE(0x74, 0x2, "UNENCRYPTED DATA ENCOUNTERED WHILE DECRYPTING") \
SENSE_CODE(0x74, 0x3, "INCORRECT DATA ENCRYPTION KEY") \
SENSE_CODE(0x74, 0x4, "CRYPTOGRAPHIC INTEGRITY VALIDATION FAILED") \
SENSE_CODE(0x74, 0x5, "ERROR DECRYPTING DATA") \
SENSE_CODE(0x74, 0x6, "UNKNOWN SIGNATURE VERIFICATION KEY") \
SENSE_CODE(0x74, 0x7, "ENCRYPTION PARAMETERS NOT USEABLE") \
SENSE_CODE(0x74, 0x8, "DIGITAL SIGNATURE VALIDATION FAILURE") \
SENSE_CODE(0x74, 0x9, "ENCRYPTION MODE MISMATCH ON READ") \
SENSE_CODE(0x74, 0xa, "ENCRYPTED BLOCK NOT RAW READ ENABLED") \
SENSE_CODE(0x74, 0xb, "INCORRECT ENCRYPTION PARAMETERS") \
SENSE_CODE(0x74, 0xc, "UNABLE TO DECRYPT PARAMETER LIST") \
SENSE_CODE(0x74, 0xd, "ENCRYPTION ALGORITHM DISABLED") \
SENSE_CODE(0x74, 0x10, "SA CREATION PARAMETER VALUE INVALID") \
SENSE_CODE(0x74, 0x11, "SA CREATION PARAMETER VALUE REJECTED") \
SENSE_CODE(0x74, 0x12, "INVALID SA USAGE") \
SENSE_CODE(0x74, 0x21, "DATA ENCRYPTION CONFIGURATION PREVENTED") \
SENSE_CODE(0x74, 0x30, "SA CREATION PARAMETER NOT SUPPORTED") \
SENSE_CODE(0x74, 0x40, "AUTHENTICATION FAILED") \
SENSE_CODE(0x74, 0x61, "EXTERNAL DATA ENCRYPTION KEY MANAGER ACCESS ERROR") \
SENSE_CODE(0x74, 0x62, "EXTERNAL DATA ENCRYPTION KEY MANAGER ERROR") \
SENSE_CODE(0x74, 0x63, "EXTERNAL DATA ENCRYPTION KEY NOT FOUND") \
SENSE_CODE(0x74, 0x64, "EXTERNAL DATA ENCRYPTION REQUEST NOT AUTHORIZED") \
SENSE_CODE(0x74, 0x6e, "EXTERNAL DATA ENCRYPTION CONTROL TIMEOUT") \
SENSE_CODE(0x74, 0x6f, "EXTERNAL DATA ENCRYPTION CONTROL ERROR") \
SENSE_CODE(0x74, 0x71, "LOGICAL UNIT ACCESS NOT AUTHORIZED") \
SENSE_CODE(0x74, 0x79, "SECURITY CONFLICT IN TRANSLATED DEVICE") \

#endif // MSC_ASC_NUM_LIST_H
