File diff d0a14f973771 → 1efda0e3054b
BLD/build/HEADERS/vmkapi-current-all-public-bincomp/vmkernel64/release/scsi/vmkapi_scsi_const.h
Show inline comments
...
 
@@ -305,168 +305,170 @@
 
/** \brief Either the command or the parameter list contains an error. */
 
#define VMK_SCSI_SENSE_KEY_ILLEGAL_REQUEST 0x5
 
/** \brief The LUN has been reset (bus reset of medium change). */
 
#define VMK_SCSI_SENSE_KEY_UNIT_ATTENTION  0x6
 
/** \brief Access to the data is blocked. */
 
#define VMK_SCSI_SENSE_KEY_DATA_PROTECT    0x7
 
/** \brief Reached an unexpected written or unwritten region of the medium. */
 
#define VMK_SCSI_SENSE_KEY_BLANK_CHECK     0x8
 
/** \brief COPY, COMPARE, or COPY AND VERIFY was aborted. */
 
#define VMK_SCSI_SENSE_KEY_COPY_ABORTED    0xa
 
/** \brief The target aborted the command. */
 
#define VMK_SCSI_SENSE_KEY_ABORTED_CMD     0xb
 
/** \brief Comparison for SEARCH DATA was unsuccessful. */
 
#define VMK_SCSI_SENSE_KEY_EQUAL           0xc
 
/** \brief The medium is full. */
 
#define VMK_SCSI_SENSE_KEY_VOLUME_OVERFLOW 0xd
 
/** \brief Source and data on the medium do not agree. */
 
#define VMK_SCSI_SENSE_KEY_MISCOMPARE      0xe
 

	
 
/*
 
 * The Additional Sense Code - ASC             and
 
 *     Additional Sense Code Qualifiers - ASCQ
 
 * always come in pairs.
 
 *
 
 * Note:
 
 *     These values are found at senseBuffer[12} and senseBuffer[13].
 
 *     You may see references to these in legacy code. New code should make an
 
 *     attempt to use the ASC/ASCQ syntax.
 
 */
 
/** \brief Logical unit not ready. */
 
#define VMK_SCSI_ASC_LU_NOT_READY                                            0x04
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_CAUSE_NOT_REPORTABLE                  0x00
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_UNIT_BECOMING_READY                   0x01
 
/** \brief Initializing command required. */
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_INIT_CMD_REQUIRED                     0x02
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_MANUAL_INTERVENTION_REQUIRED          0x03
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_FORMAT_IN_PROGRESS                    0x04
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_REBUILD_IN_PROGRESS                   0x05
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_RECALCULATION_IN_PROGRESS             0x06
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_OPERATION_IN_PROGRESS                 0x07
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_LONG_WRITE_IN_PROGRESS                0x08
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_SELF_TEST_IN_PROGRESS                 0x09
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_ASYMMETRIC_ACCESS_STATE_TRANSITION    0x0a
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_TARGET_PORT_IN_STANDBY_STATE          0x0b
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_TARGET_PORT_IN_UNAVAILABLE_STATE      0x0c
 
#define VMK_SCSI_ASC_LU_NOT_READY_ASCQ_SPACE_ALLOC_IN_PROGRESS               0x14
 
/** \brief Logical unit doesn't respond to selection. */
 
#define VMK_SCSI_ASC_LU_NO_RESPONSE_TO_SELECTION                             0x05
 
/** \brief Write error. */
 
#define VMK_SCSI_ASC_WRITE_ERROR                                             0x0c
 
/** \brief Unrecovered read error. */
 
#define VMK_SCSI_ASC_UNRECOVERED_READ_ERROR                                  0x11
 
/** \brief Parameter list length error. */
 
#define VMK_SCSI_ASC_PARAM_LIST_LENGTH_ERROR                                 0x1a
 
/** \brief Invalid command operation code. */
 
#define VMK_SCSI_ASC_INVALID_COMMAND_OPERATION                               0x20
 
#define VMK_SCSI_ASC_INVALID_FIELD_IN_CDB                                    0x24
 
/** \brief LU has been removed. */
 
#define VMK_SCSI_ASC_LU_NOT_SUPPORTED                                        0x25
 
#define VMK_SCSI_ASC_INVALID_FIELD_IN_PARAMETER_LIST                         0x26
 
/** \brief Device is write protected. */
 
#define VMK_SCSI_ASC_WRITE_PROTECTED                                         0x27
 
#define VMK_SCSI_ASC_WRITE_PROTECTED_ASCQ_SPACE_ALLOCATION_FAILED            0x07
 
/** \brief After changing medium. */
 
#define VMK_SCSI_ASC_MEDIUM_MAY_HAVE_CHANGED                                 0x28
 
/** \brief Device power-on or SCSI reset. */
 
#define VMK_SCSI_ASC_POWER_ON_OR_RESET                                       0x29
 
#define VMK_SCSI_ASC_COMMANDS_CLEARED                                        0x2F
 
#define VMK_SCSI_ASC_PARAMS_CHANGED                                          0x2a
 
#define VMK_SCSI_ASC_PARAMS_CHANGED_ASCQ_RESERVATIONS_RELEASED               0x04
 
#define VMK_SCSI_ASC_PARAMS_CHANGED_ASCQ_ASYMMETRIC_ACCESS_STATE_CHANGED     0x06
 
/** \brief Event status notification. */
 
#define VMK_SCSI_ASC_EVENT_STATUS_NOTIFICATION                               0x38
 
#define VMK_SCSI_ASC_EVENT_STATUS_NOT_ASCQ_TP_SOFT_THRESHOLD_REACHED         0x07
 
/** \brief Saving parameters not supported. */
 
#define VMK_SCSI_ASC_SAVING_PARAMS_NOT_SUPPORTED                             0x39
 
/** \brief Changing medium. */
 
#define VMK_SCSI_ASC_MEDIUM_NOT_PRESENT                                      0x3a
 
/** \brief An ascq. */
 
#define VMK_SCSI_ASC_MEDIUM_NOT_PRESENT_ASCQ_TRAY_OPEN                       0x02
 
/** \brief Something changed in LU or Target. */
 
#define VMK_SCSI_ASC_CHANGED                                                 0x3f
 
/** \brief Internal target failure. */
 
#define VMK_SCSI_ASC_INTERNAL_TARGET_FAILURE                                 0x44
 
/** \brief Internal target failure. */
 
#define VMK_SCSI_ASCQ_INTERNAL_TARGET_FAILURE_ASCQ0                          0x00
 
/** \brief An ascq: REPORTED LUNS DATA HAS CHANGED. */
 
#define VMK_SCSI_ASC_CHANGED_ASCQ_REPORTED_LUNS_DATA_CHANGED                 0x0e
 
/** \brief During persistent reservations. */
 
#define VMK_SCSI_ASC_INSUFFICIENT_REGISTRATION_RESOURCES                     0x55
 
/** \brief Logical unit communication failure - asc */
 
#define VMK_SCSI_ASC_LOGICAL_UNIT_FAILED_SELF_CONFIG                         0x4c
 
/** \brief Logical unit failed asc */
 
#define VMK_SCSI_ASC_LOGICAL_UNIT_ERROR                                      0x3e
 
#define VMK_SCSI_ASCQ_LOGICAL_UNIT_FAILED_SELF_TEST                          0x03
 
#define VMK_SCSI_ASCQ_LOGICAL_UNIT_FAILURE                                   0x01
 
/** \brief LU is not configured (array only). */
 
#define VMK_SCSI_ASC_LU_NOT_CONFIGURED                                       0x68
 

	
 
/*
 
 * Inquiry data.
 
 */
 

	
 
/* \brief Standard INQUIRY data layout. */
 
#define VMK_SCSI_INQUIRY_DATA_LEN      255
 

	
 
/** \brief Byte offset of vendor name in SCSI inquiry. */
 
#define VMK_SCSI_INQUIRY_VENDOR_OFFSET 8
 
/** \brief Length of vendor name in SCSI inquiry (w/o terminating NUL). */
 
#define VMK_SCSI_INQUIRY_VENDOR_LENGTH 8
 
/** \brief Byte offset of model name in SCSI inquiry. */
 
#define VMK_SCSI_INQUIRY_MODEL_OFFSET 16
 
 /** \brief Length of model name in SCSI inquiry (w/o terminating NUL). */
 
#define VMK_SCSI_INQUIRY_MODEL_LENGTH 16
 
/** \brief Byte off of revision string in SCSI inquiry. */
 
#define VMK_SCSI_INQUIRY_REVISION_OFFSET 32
 
/** \brief Length of revision string in SCSI inquiry (w/o terminating NUL). */
 
#define VMK_SCSI_INQUIRY_REVISION_LENGTH 4
 

	
 
#define VMK_SCSI_PAGE0_INQUIRY_DATA_LEN   255
 
#define VMK_SCSI_PAGE80_INQUIRY_DATA_LEN  255
 

	
 
/* Inquiry page 0x83: Identifier Type.  See spc3r23 section 7.6.3 table 298 */
 
typedef enum vmk_ScsiIdentifierType {
 
   VMK_SCSI_IDENTIFIERTYPE_VENDOR_SPEC = 0x0,
 
   VMK_SCSI_IDENTIFIERTYPE_T10,
 
   VMK_SCSI_IDENTIFIERTYPE_EUI,
 
   VMK_SCSI_IDENTIFIERTYPE_NAA,
 
   VMK_SCSI_IDENTIFIERTYPE_RTPI,
 
   VMK_SCSI_IDENTIFIERTYPE_TPG,
 
   VMK_SCSI_IDENTIFIERTYPE_LUG,
 
   VMK_SCSI_IDENTIFIERTYPE_MD5,
 
   VMK_SCSI_IDENTIFIERTYPE_SNS,
 
   VMK_SCSI_IDENTIFIERTYPE_MAX,
 
} vmk_ScsiIdentifierType;
 

	
 
/* Inquiry page 0x83: UUID Entity. See spc3r23 section 7.6.3 table 297 */
 
typedef enum vmk_ScsiAssociationType {
 
   VMK_SCSI_ASSOCIATION_LUN = 0x0,
 
   VMK_SCSI_ASSOCIATION_TARGET_PORT,
 
   VMK_SCSI_ASSOCIATION_TARGET_DEVICE,
 
} vmk_ScsiAssociationType;
 

	
 
/* Persistent Reserve Out Service Actions. */
 
#define VMK_SCSI_REGISTER                         0x0
 
#define VMK_SCSI_PRESERVE                         0x1
 
#define VMK_SCSI_PRELEASE                         0x2
 
#define VMK_SCSI_CLEAR                            0x3
 
#define VMK_SCSI_PREEMPT                          0x4
 
#define VMK_SCSI_PREEMPT_AND_ABORT                0x5
 
#define VMK_SCSI_REGISTER_AND_IGNORE_EXISTING_KEY 0x6
 
#define VMK_SCSI_REGISTER_AND_MOVE                0x7
 

	
 
/* Persistent Reservation Type Codes. */
 
#define VMK_SCSI_WRITE_EXCL                       0x1
 
#define VMK_SCSI_EXCL_ACCESS                      0x3
 
#define VMK_SCSI_WRITE_EXCL_REG_ONLY              0x5
 
#define VMK_SCSI_EXCL_ACCESS_REG_ONLY             0x6
 
#define VMK_SCSI_WRITE_EXCL_ALL_REG               0x7
 
#define VMK_SCSI_EXCL_ACCESS_ALL_REG              0x8
 

	
 
/* Persistent Reservation In Service Actions. */
 
#define VMK_SCSI_READ_KEYS                        0x0
 
#define VMK_SCSI_READ_RESERVATION                 0x1
 
#define VMK_SCSI_REPORT_CAPABILITIES              0x2
 
#define VMK_SCSI_READ_FULL_STATUS                 0x3
 

	
 
#endif /*_VMKAPI_SCSI_CONST_H_ */
 
/** @} */
 
/** @} */