#ifndef MPI30_TRANSPORT_H
#define MPI30_TRANSPORT_H …
struct mpi3_version_struct { … };
mpi3_version_union;
#define MPI3_VERSION_MAJOR …
#define MPI3_VERSION_MINOR …
#define MPI3_VERSION_UNIT …
#define MPI3_VERSION_DEV …
#define MPI3_DEVHANDLE_INVALID …
struct mpi3_sysif_oper_queue_indexes { … };
struct mpi3_sysif_registers { … };
#define MPI3_SYSIF_IOC_INFO_LOW_OFFSET …
#define MPI3_SYSIF_IOC_INFO_HIGH_OFFSET …
#define MPI3_SYSIF_IOC_INFO_LOW_TIMEOUT_MASK …
#define MPI3_SYSIF_IOC_INFO_LOW_TIMEOUT_SHIFT …
#define MPI3_SYSIF_IOC_INFO_LOW_HCB_DISABLED …
#define MPI3_SYSIF_IOC_CONFIG_OFFSET …
#define MPI3_SYSIF_IOC_CONFIG_OPER_RPY_ENT_SZ …
#define MPI3_SYSIF_IOC_CONFIG_OPER_RPY_ENT_SZ_SHIFT …
#define MPI3_SYSIF_IOC_CONFIG_OPER_REQ_ENT_SZ …
#define MPI3_SYSIF_IOC_CONFIG_OPER_REQ_ENT_SZ_SHIFT …
#define MPI3_SYSIF_IOC_CONFIG_SHUTDOWN_MASK …
#define MPI3_SYSIF_IOC_CONFIG_SHUTDOWN_NO …
#define MPI3_SYSIF_IOC_CONFIG_SHUTDOWN_NORMAL …
#define MPI3_SYSIF_IOC_CONFIG_DEVICE_SHUTDOWN_SEND_REQ …
#define MPI3_SYSIF_IOC_CONFIG_DIAG_SAVE …
#define MPI3_SYSIF_IOC_CONFIG_ENABLE_IOC …
#define MPI3_SYSIF_IOC_STATUS_OFFSET …
#define MPI3_SYSIF_IOC_STATUS_RESET_HISTORY …
#define MPI3_SYSIF_IOC_STATUS_SHUTDOWN_MASK …
#define MPI3_SYSIF_IOC_STATUS_SHUTDOWN_SHIFT …
#define MPI3_SYSIF_IOC_STATUS_SHUTDOWN_NONE …
#define MPI3_SYSIF_IOC_STATUS_SHUTDOWN_IN_PROGRESS …
#define MPI3_SYSIF_IOC_STATUS_SHUTDOWN_COMPLETE …
#define MPI3_SYSIF_IOC_STATUS_FAULT …
#define MPI3_SYSIF_IOC_STATUS_READY …
#define MPI3_SYSIF_ADMIN_Q_NUM_ENTRIES_OFFSET …
#define MPI3_SYSIF_ADMIN_Q_NUM_ENTRIES_REQ_MASK …
#define MPI3_SYSIF_ADMIN_Q_NUM_ENTRIES_REPLY_OFFSET …
#define MPI3_SYSIF_ADMIN_Q_NUM_ENTRIES_REPLY_MASK …
#define MPI3_SYSIF_ADMIN_Q_NUM_ENTRIES_REPLY_SHIFT …
#define MPI3_SYSIF_ADMIN_REQ_Q_ADDR_LOW_OFFSET …
#define MPI3_SYSIF_ADMIN_REQ_Q_ADDR_HIGH_OFFSET …
#define MPI3_SYSIF_ADMIN_REPLY_Q_ADDR_LOW_OFFSET …
#define MPI3_SYSIF_ADMIN_REPLY_Q_ADDR_HIGH_OFFSET …
#define MPI3_SYSIF_COALESCE_CONTROL_OFFSET …
#define MPI3_SYSIF_COALESCE_CONTROL_ENABLE_MASK …
#define MPI3_SYSIF_COALESCE_CONTROL_ENABLE_NO_CHANGE …
#define MPI3_SYSIF_COALESCE_CONTROL_ENABLE_DISABLE …
#define MPI3_SYSIF_COALESCE_CONTROL_ENABLE_ENABLE …
#define MPI3_SYSIF_COALESCE_CONTROL_VALID …
#define MPI3_SYSIF_COALESCE_CONTROL_MSIX_IDX_MASK …
#define MPI3_SYSIF_COALESCE_CONTROL_MSIX_IDX_SHIFT …
#define MPI3_SYSIF_COALESCE_CONTROL_TIMEOUT_MASK …
#define MPI3_SYSIF_COALESCE_CONTROL_TIMEOUT_SHIFT …
#define MPI3_SYSIF_COALESCE_CONTROL_DEPTH_MASK …
#define MPI3_SYSIF_COALESCE_CONTROL_DEPTH_SHIFT …
#define MPI3_SYSIF_ADMIN_REQ_Q_PI_OFFSET …
#define MPI3_SYSIF_ADMIN_REPLY_Q_CI_OFFSET …
#define MPI3_SYSIF_OPER_REQ_Q_PI_OFFSET …
#define MPI3_SYSIF_OPER_REQ_Q_N_PI_OFFSET(N) …
#define MPI3_SYSIF_OPER_REPLY_Q_CI_OFFSET …
#define MPI3_SYSIF_OPER_REPLY_Q_N_CI_OFFSET(N) …
#define MPI3_SYSIF_WRITE_SEQUENCE_OFFSET …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_MASK …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_FLUSH …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_1ST …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_2ND …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_3RD …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_4TH …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_5TH …
#define MPI3_SYSIF_WRITE_SEQUENCE_KEY_VALUE_6TH …
#define MPI3_SYSIF_HOST_DIAG_OFFSET …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_MASK …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_NO_RESET …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_SOFT_RESET …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_HOST_CONTROL_BOOT_RESET …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_COMPLETE_RESET …
#define MPI3_SYSIF_HOST_DIAG_RESET_ACTION_DIAG_FAULT …
#define MPI3_SYSIF_HOST_DIAG_SAVE_IN_PROGRESS …
#define MPI3_SYSIF_HOST_DIAG_SECURE_BOOT …
#define MPI3_SYSIF_HOST_DIAG_CLEAR_INVALID_FW_IMAGE …
#define MPI3_SYSIF_HOST_DIAG_INVALID_FW_IMAGE …
#define MPI3_SYSIF_HOST_DIAG_HCBENABLE …
#define MPI3_SYSIF_HOST_DIAG_HCBMODE …
#define MPI3_SYSIF_HOST_DIAG_DIAG_RW_ENABLE …
#define MPI3_SYSIF_HOST_DIAG_DIAG_WRITE_ENABLE …
#define MPI3_SYSIF_FAULT_OFFSET …
#define MPI3_SYSIF_FAULT_FUNC_AREA_MASK …
#define MPI3_SYSIF_FAULT_FUNC_AREA_SHIFT …
#define MPI3_SYSIF_FAULT_FUNC_AREA_MPI_DEFINED …
#define MPI3_SYSIF_FAULT_CODE_MASK …
#define MPI3_SYSIF_FAULT_CODE_DIAG_FAULT_RESET …
#define MPI3_SYSIF_FAULT_CODE_CI_ACTIVATION_RESET …
#define MPI3_SYSIF_FAULT_CODE_SOFT_RESET_IN_PROGRESS …
#define MPI3_SYSIF_FAULT_CODE_COMPLETE_RESET_NEEDED …
#define MPI3_SYSIF_FAULT_CODE_SOFT_RESET_NEEDED …
#define MPI3_SYSIF_FAULT_CODE_POWER_CYCLE_REQUIRED …
#define MPI3_SYSIF_FAULT_CODE_TEMP_THRESHOLD_EXCEEDED …
#define MPI3_SYSIF_FAULT_INFO0_OFFSET …
#define MPI3_SYSIF_FAULT_INFO1_OFFSET …
#define MPI3_SYSIF_FAULT_INFO2_OFFSET …
#define MPI3_SYSIF_HCB_ADDRESS_LOW_OFFSET …
#define MPI3_SYSIF_HCB_ADDRESS_HIGH_OFFSET …
#define MPI3_SYSIF_HCB_SIZE_OFFSET …
#define MPI3_SYSIF_HCB_SIZE_SIZE_MASK …
#define MPI3_SYSIF_HCB_SIZE_SIZE_SHIFT …
#define MPI3_SYSIF_HCB_SIZE_HCDW_ENABLE …
#define MPI3_SYSIF_REPLY_FREE_HOST_INDEX_OFFSET …
#define MPI3_SYSIF_SENSE_BUF_FREE_HOST_INDEX_OFFSET …
#define MPI3_SYSIF_DIAG_RW_DATA_LOW_OFFSET …
#define MPI3_SYSIF_DIAG_RW_DATA_HIGH_OFFSET …
#define MPI3_SYSIF_DIAG_RW_ADDRESS_LOW_OFFSET …
#define MPI3_SYSIF_DIAG_RW_ADDRESS_HIGH_OFFSET …
#define MPI3_SYSIF_DIAG_RW_CONTROL_OFFSET …
#define MPI3_SYSIF_DIAG_RW_CONTROL_LEN_MASK …
#define MPI3_SYSIF_DIAG_RW_CONTROL_LEN_1BYTE …
#define MPI3_SYSIF_DIAG_RW_CONTROL_LEN_2BYTES …
#define MPI3_SYSIF_DIAG_RW_CONTROL_LEN_4BYTES …
#define MPI3_SYSIF_DIAG_RW_CONTROL_LEN_8BYTES …
#define MPI3_SYSIF_DIAG_RW_CONTROL_RESET …
#define MPI3_SYSIF_DIAG_RW_CONTROL_DIR_MASK …
#define MPI3_SYSIF_DIAG_RW_CONTROL_DIR_READ …
#define MPI3_SYSIF_DIAG_RW_CONTROL_DIR_WRITE …
#define MPI3_SYSIF_DIAG_RW_CONTROL_START …
#define MPI3_SYSIF_DIAG_RW_STATUS_OFFSET …
#define MPI3_SYSIF_DIAG_RW_STATUS_STATUS_MASK …
#define MPI3_SYSIF_DIAG_RW_STATUS_STATUS_SUCCESS …
#define MPI3_SYSIF_DIAG_RW_STATUS_STATUS_INV_ADDR …
#define MPI3_SYSIF_DIAG_RW_STATUS_STATUS_ACC_ERR …
#define MPI3_SYSIF_DIAG_RW_STATUS_STATUS_PAR_ERR …
#define MPI3_SYSIF_DIAG_RW_STATUS_BUSY …
#define MPI3_SYSIF_SCRATCHPAD0_OFFSET …
#define MPI3_SYSIF_SCRATCHPAD1_OFFSET …
#define MPI3_SYSIF_SCRATCHPAD2_OFFSET …
#define MPI3_SYSIF_SCRATCHPAD3_OFFSET …
#define MPI3_SYSIF_DEVICE_ASSIGNED_REGS_OFFSET …
#define MPI3_SYSIF_DIAG_SAVE_TIMEOUT …
struct mpi3_default_reply_descriptor { … };
#define MPI3_REPLY_DESCRIPT_FLAGS_PHASE_MASK …
#define MPI3_REPLY_DESCRIPT_FLAGS_TYPE_MASK …
#define MPI3_REPLY_DESCRIPT_FLAGS_TYPE_ADDRESS_REPLY …
#define MPI3_REPLY_DESCRIPT_FLAGS_TYPE_SUCCESS …
#define MPI3_REPLY_DESCRIPT_FLAGS_TYPE_TARGET_COMMAND_BUFFER …
#define MPI3_REPLY_DESCRIPT_FLAGS_TYPE_STATUS …
#define MPI3_REPLY_DESCRIPT_REQUEST_QUEUE_ID_INVALID …
struct mpi3_address_reply_descriptor { … };
struct mpi3_success_reply_descriptor { … };
struct mpi3_target_command_buffer_reply_descriptor { … };
struct mpi3_status_reply_descriptor { … };
#define MPI3_REPLY_DESCRIPT_STATUS_IOCSTATUS_LOGINFOAVAIL …
#define MPI3_REPLY_DESCRIPT_STATUS_IOCSTATUS_STATUS_MASK …
#define MPI3_REPLY_DESCRIPT_STATUS_IOCLOGINFO_TYPE_MASK …
#define MPI3_REPLY_DESCRIPT_STATUS_IOCLOGINFO_TYPE_NO_INFO …
#define MPI3_REPLY_DESCRIPT_STATUS_IOCLOGINFO_TYPE_SAS …
#define MPI3_REPLY_DESCRIPT_STATUS_IOCLOGINFO_DATA_MASK …
mpi3_reply_descriptors_union;
struct mpi3_sge_common { … };
struct mpi3_sge_bit_bucket { … };
struct mpi3_sge_extended_eedp { … };
mpi3_sge_union;
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_MASK …
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_SIMPLE …
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_BIT_BUCKET …
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_CHAIN …
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_LAST_CHAIN …
#define MPI3_SGE_FLAGS_ELEMENT_TYPE_EXTENDED …
#define MPI3_SGE_FLAGS_END_OF_LIST …
#define MPI3_SGE_FLAGS_END_OF_BUFFER …
#define MPI3_SGE_FLAGS_DLAS_MASK …
#define MPI3_SGE_FLAGS_DLAS_SYSTEM …
#define MPI3_SGE_FLAGS_DLAS_IOC_UDP …
#define MPI3_SGE_FLAGS_DLAS_IOC_CTL …
#define MPI3_SGE_EXT_OPER_EEDP …
#define MPI3_EEDPFLAGS_INCR_PRI_REF_TAG …
#define MPI3_EEDPFLAGS_INCR_SEC_REF_TAG …
#define MPI3_EEDPFLAGS_INCR_PRI_APP_TAG …
#define MPI3_EEDPFLAGS_INCR_SEC_APP_TAG …
#define MPI3_EEDPFLAGS_ESC_PASSTHROUGH …
#define MPI3_EEDPFLAGS_CHK_REF_TAG …
#define MPI3_EEDPFLAGS_CHK_APP_TAG …
#define MPI3_EEDPFLAGS_CHK_GUARD …
#define MPI3_EEDPFLAGS_ESC_MODE_MASK …
#define MPI3_EEDPFLAGS_ESC_MODE_DO_NOT_DISABLE …
#define MPI3_EEDPFLAGS_ESC_MODE_APPTAG_DISABLE …
#define MPI3_EEDPFLAGS_ESC_MODE_APPTAG_REFTAG_DISABLE …
#define MPI3_EEDPFLAGS_HOST_GUARD_MASK …
#define MPI3_EEDPFLAGS_HOST_GUARD_T10_CRC …
#define MPI3_EEDPFLAGS_HOST_GUARD_IP_CHKSUM …
#define MPI3_EEDPFLAGS_HOST_GUARD_OEM_SPECIFIC …
#define MPI3_EEDPFLAGS_PT_REF_TAG …
#define MPI3_EEDPFLAGS_EEDP_OP_MASK …
#define MPI3_EEDPFLAGS_EEDP_OP_CHECK …
#define MPI3_EEDPFLAGS_EEDP_OP_STRIP …
#define MPI3_EEDPFLAGS_EEDP_OP_CHECK_REMOVE …
#define MPI3_EEDPFLAGS_EEDP_OP_INSERT …
#define MPI3_EEDPFLAGS_EEDP_OP_REPLACE …
#define MPI3_EEDPFLAGS_EEDP_OP_CHECK_REGEN …
#define MPI3_EEDP_UDS_512 …
#define MPI3_EEDP_UDS_520 …
#define MPI3_EEDP_UDS_4080 …
#define MPI3_EEDP_UDS_4088 …
#define MPI3_EEDP_UDS_4096 …
#define MPI3_EEDP_UDS_4104 …
#define MPI3_EEDP_UDS_4160 …
struct mpi3_request_header { … };
struct mpi3_default_reply { … };
#define MPI3_HOST_TAG_INVALID …
#define MPI3_FUNCTION_IOC_FACTS …
#define MPI3_FUNCTION_IOC_INIT …
#define MPI3_FUNCTION_PORT_ENABLE …
#define MPI3_FUNCTION_EVENT_NOTIFICATION …
#define MPI3_FUNCTION_EVENT_ACK …
#define MPI3_FUNCTION_CI_DOWNLOAD …
#define MPI3_FUNCTION_CI_UPLOAD …
#define MPI3_FUNCTION_IO_UNIT_CONTROL …
#define MPI3_FUNCTION_PERSISTENT_EVENT_LOG …
#define MPI3_FUNCTION_MGMT_PASSTHROUGH …
#define MPI3_FUNCTION_CONFIG …
#define MPI3_FUNCTION_SCSI_IO …
#define MPI3_FUNCTION_SCSI_TASK_MGMT …
#define MPI3_FUNCTION_SMP_PASSTHROUGH …
#define MPI3_FUNCTION_NVME_ENCAPSULATED …
#define MPI3_FUNCTION_TARGET_ASSIST …
#define MPI3_FUNCTION_TARGET_STATUS_SEND …
#define MPI3_FUNCTION_TARGET_MODE_ABORT …
#define MPI3_FUNCTION_TARGET_CMD_BUF_POST_BASE …
#define MPI3_FUNCTION_TARGET_CMD_BUF_POST_LIST …
#define MPI3_FUNCTION_CREATE_REQUEST_QUEUE …
#define MPI3_FUNCTION_DELETE_REQUEST_QUEUE …
#define MPI3_FUNCTION_CREATE_REPLY_QUEUE …
#define MPI3_FUNCTION_DELETE_REPLY_QUEUE …
#define MPI3_FUNCTION_TOOLBOX …
#define MPI3_FUNCTION_DIAG_BUFFER_POST …
#define MPI3_FUNCTION_DIAG_BUFFER_MANAGE …
#define MPI3_FUNCTION_DIAG_BUFFER_UPLOAD …
#define MPI3_FUNCTION_MIN_IOC_USE_ONLY …
#define MPI3_FUNCTION_MAX_IOC_USE_ONLY …
#define MPI3_FUNCTION_MIN_PRODUCT_SPECIFIC …
#define MPI3_FUNCTION_MAX_PRODUCT_SPECIFIC …
#define MPI3_IOCSTATUS_LOG_INFO_AVAIL_MASK …
#define MPI3_IOCSTATUS_LOG_INFO_AVAILABLE …
#define MPI3_IOCSTATUS_STATUS_MASK …
#define MPI3_IOCSTATUS_SUCCESS …
#define MPI3_IOCSTATUS_INVALID_FUNCTION …
#define MPI3_IOCSTATUS_BUSY …
#define MPI3_IOCSTATUS_INVALID_SGL …
#define MPI3_IOCSTATUS_INTERNAL_ERROR …
#define MPI3_IOCSTATUS_INSUFFICIENT_RESOURCES …
#define MPI3_IOCSTATUS_INVALID_FIELD …
#define MPI3_IOCSTATUS_INVALID_STATE …
#define MPI3_IOCSTATUS_INSUFFICIENT_POWER …
#define MPI3_IOCSTATUS_INVALID_CHANGE_COUNT …
#define MPI3_IOCSTATUS_ALLOWED_CMD_BLOCK …
#define MPI3_IOCSTATUS_SUPERVISOR_ONLY …
#define MPI3_IOCSTATUS_FAILURE …
#define MPI3_IOCSTATUS_CONFIG_INVALID_ACTION …
#define MPI3_IOCSTATUS_CONFIG_INVALID_TYPE …
#define MPI3_IOCSTATUS_CONFIG_INVALID_PAGE …
#define MPI3_IOCSTATUS_CONFIG_INVALID_DATA …
#define MPI3_IOCSTATUS_CONFIG_NO_DEFAULTS …
#define MPI3_IOCSTATUS_CONFIG_CANT_COMMIT …
#define MPI3_IOCSTATUS_SCSI_RECOVERED_ERROR …
#define MPI3_IOCSTATUS_SCSI_TM_NOT_SUPPORTED …
#define MPI3_IOCSTATUS_SCSI_INVALID_DEVHANDLE …
#define MPI3_IOCSTATUS_SCSI_DEVICE_NOT_THERE …
#define MPI3_IOCSTATUS_SCSI_DATA_OVERRUN …
#define MPI3_IOCSTATUS_SCSI_DATA_UNDERRUN …
#define MPI3_IOCSTATUS_SCSI_IO_DATA_ERROR …
#define MPI3_IOCSTATUS_SCSI_PROTOCOL_ERROR …
#define MPI3_IOCSTATUS_SCSI_TASK_TERMINATED …
#define MPI3_IOCSTATUS_SCSI_RESIDUAL_MISMATCH …
#define MPI3_IOCSTATUS_SCSI_TASK_MGMT_FAILED …
#define MPI3_IOCSTATUS_SCSI_IOC_TERMINATED …
#define MPI3_IOCSTATUS_SCSI_EXT_TERMINATED …
#define MPI3_IOCSTATUS_EEDP_GUARD_ERROR …
#define MPI3_IOCSTATUS_EEDP_REF_TAG_ERROR …
#define MPI3_IOCSTATUS_EEDP_APP_TAG_ERROR …
#define MPI3_IOCSTATUS_TARGET_INVALID_IO_INDEX …
#define MPI3_IOCSTATUS_TARGET_ABORTED …
#define MPI3_IOCSTATUS_TARGET_NO_CONN_RETRYABLE …
#define MPI3_IOCSTATUS_TARGET_NO_CONNECTION …
#define MPI3_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH …
#define MPI3_IOCSTATUS_TARGET_DATA_OFFSET_ERROR …
#define MPI3_IOCSTATUS_TARGET_TOO_MUCH_WRITE_DATA …
#define MPI3_IOCSTATUS_TARGET_IU_TOO_SHORT …
#define MPI3_IOCSTATUS_TARGET_ACK_NAK_TIMEOUT …
#define MPI3_IOCSTATUS_TARGET_NAK_RECEIVED …
#define MPI3_IOCSTATUS_SAS_SMP_REQUEST_FAILED …
#define MPI3_IOCSTATUS_SAS_SMP_DATA_OVERRUN …
#define MPI3_IOCSTATUS_DIAGNOSTIC_RELEASED …
#define MPI3_IOCSTATUS_CI_UNSUPPORTED …
#define MPI3_IOCSTATUS_CI_UPDATE_SEQUENCE …
#define MPI3_IOCSTATUS_CI_VALIDATION_FAILED …
#define MPI3_IOCSTATUS_CI_KEY_UPDATE_PENDING …
#define MPI3_IOCSTATUS_CI_KEY_UPDATE_NOT_POSSIBLE …
#define MPI3_IOCSTATUS_SECURITY_KEY_REQUIRED …
#define MPI3_IOCSTATUS_SECURITY_VIOLATION …
#define MPI3_IOCSTATUS_INVALID_QUEUE_ID …
#define MPI3_IOCSTATUS_INVALID_QUEUE_SIZE …
#define MPI3_IOCSTATUS_INVALID_MSIX_VECTOR …
#define MPI3_IOCSTATUS_INVALID_REPLY_QUEUE_ID …
#define MPI3_IOCSTATUS_INVALID_QUEUE_DELETION …
#define MPI3_IOCLOGINFO_TYPE_MASK …
#define MPI3_IOCLOGINFO_TYPE_SHIFT …
#define MPI3_IOCLOGINFO_TYPE_NONE …
#define MPI3_IOCLOGINFO_TYPE_SAS …
#define MPI3_IOCLOGINFO_LOG_DATA_MASK …
#endif