require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&MPI_TYPE_H)) {
    eval 'sub MPI_TYPE_H () {1;}' unless defined(&MPI_TYPE_H);
    unless(defined(&MPI_POINTER)) {
	eval 'sub MPI_POINTER () {*;}' unless defined(&MPI_POINTER);
    }
}
eval("sub MPI_IOCLOGINFO_FC_INIT_BASE () { 0x20000000; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_BASE);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME () { 0x20000001; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME () { 0x20000002; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME () { 0x20000003; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN () { 0x20000004; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER () { 0x20000005; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD () { 0x20000006; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN () { 0x20000007; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS () { 0x20000008; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME () { 0x20000009; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE () { 0x2000000A; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE);
eval("sub MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT () { 0x2000000B; }") unless defined(&MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT);
eval("sub MPI_IOCLOGINFO_FC_TARGET_BASE () { 0x21000000; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_BASE);
eval("sub MPI_IOCLOGINFO_FC_TARGET_NO_PDISC () { 0x21000001; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_NO_PDISC);
eval("sub MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN () { 0x21000002; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP () { 0x21000003; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP () { 0x21000004; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA () { 0x21000005; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP () { 0x21000006; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP () { 0x21000007; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP () { 0x21000008; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA () { 0x21000009; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA);
eval("sub MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP () { 0x2100000a; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP);
eval("sub MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 () { 0x2100000b; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3);
eval("sub MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID () { 0x2100000c; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID);
eval("sub MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND () { 0x2100000e; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND);
eval("sub MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN () { 0x2100000f; }") unless defined(&MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN);
eval("sub MPI_IOCLOGINFO_FC_LAN_BASE () { 0x22000000; }") unless defined(&MPI_IOCLOGINFO_FC_LAN_BASE);
eval("sub MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING () { 0x22000001; }") unless defined(&MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING);
eval("sub MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE () { 0x22000002; }") unless defined(&MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE);
eval("sub MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET () { 0x22000003; }") unless defined(&MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET);
eval("sub MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG () { 0x22000004; }") unless defined(&MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG);
eval("sub MPI_IOCLOGINFO_FC_MSG_BASE () { 0x23000000; }") unless defined(&MPI_IOCLOGINFO_FC_MSG_BASE);
eval("sub MPI_IOCLOGINFO_FC_LINK_BASE () { 0x24000000; }") unless defined(&MPI_IOCLOGINFO_FC_LINK_BASE);
eval("sub MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT () { 0x24000001; }") unless defined(&MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT);
eval("sub MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED () { 0x24000002; }") unless defined(&MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED);
eval("sub MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED () { 0x24000003; }") unless defined(&MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED);
eval("sub MPI_IOCLOGINFO_FC_LINK_CRC_ERROR () { 0x24000004; }") unless defined(&MPI_IOCLOGINFO_FC_LINK_CRC_ERROR);
eval("sub MPI_IOCLOGINFO_FC_CTX_BASE () { 0x25000000; }") unless defined(&MPI_IOCLOGINFO_FC_CTX_BASE);
eval("sub MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET () { 0x26000000; }") unless defined(&MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET);
eval("sub MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET () { 0x26ffffff; }") unless defined(&MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET);
eval("sub MPI_IOCLOGINFO_FC_STATE_CHANGE () { 0x27000000; }") unless defined(&MPI_IOCLOGINFO_FC_STATE_CHANGE);
unless(defined(&MPI_H)) {
    eval 'sub MPI_H () {1;}' unless defined(&MPI_H);
    eval 'sub MPI_VERSION_MAJOR () {(0x1);}' unless defined(&MPI_VERSION_MAJOR);
    eval 'sub MPI_VERSION_MINOR () {(0x2);}' unless defined(&MPI_VERSION_MINOR);
    eval 'sub MPI_VERSION_MAJOR_MASK () {(0xff00);}' unless defined(&MPI_VERSION_MAJOR_MASK);
    eval 'sub MPI_VERSION_MAJOR_SHIFT () {(8);}' unless defined(&MPI_VERSION_MAJOR_SHIFT);
    eval 'sub MPI_VERSION_MINOR_MASK () {(0xff);}' unless defined(&MPI_VERSION_MINOR_MASK);
    eval 'sub MPI_VERSION_MINOR_SHIFT () {(0);}' unless defined(&MPI_VERSION_MINOR_SHIFT);
    eval 'sub MPI_VERSION () {(( &MPI_VERSION_MAJOR <<  &MPI_VERSION_MAJOR_SHIFT) |  &MPI_VERSION_MINOR);}' unless defined(&MPI_VERSION);
    eval 'sub MPI_VERSION_01_00 () {(0x100);}' unless defined(&MPI_VERSION_01_00);
    eval 'sub MPI_VERSION_01_01 () {(0x101);}' unless defined(&MPI_VERSION_01_01);
    eval 'sub MPI_VERSION_01_02 () {(0x102);}' unless defined(&MPI_VERSION_01_02);
    eval 'sub MPI_HEADER_VERSION_UNIT () {(0xd);}' unless defined(&MPI_HEADER_VERSION_UNIT);
    eval 'sub MPI_HEADER_VERSION_DEV () {(0x);}' unless defined(&MPI_HEADER_VERSION_DEV);
    eval 'sub MPI_HEADER_VERSION_UNIT_MASK () {(0xff00);}' unless defined(&MPI_HEADER_VERSION_UNIT_MASK);
    eval 'sub MPI_HEADER_VERSION_UNIT_SHIFT () {(8);}' unless defined(&MPI_HEADER_VERSION_UNIT_SHIFT);
    eval 'sub MPI_HEADER_VERSION_DEV_MASK () {(0xff);}' unless defined(&MPI_HEADER_VERSION_DEV_MASK);
    eval 'sub MPI_HEADER_VERSION_DEV_SHIFT () {(0);}' unless defined(&MPI_HEADER_VERSION_DEV_SHIFT);
    eval 'sub MPI_HEADER_VERSION () {(( &MPI_HEADER_VERSION_UNIT << 8) |  &MPI_HEADER_VERSION_DEV);}' unless defined(&MPI_HEADER_VERSION);
    eval 'sub MPI_IOC_STATE_RESET () {(0x);}' unless defined(&MPI_IOC_STATE_RESET);
    eval 'sub MPI_IOC_STATE_READY () {(0x10000000);}' unless defined(&MPI_IOC_STATE_READY);
    eval 'sub MPI_IOC_STATE_OPERATIONAL () {(0x20000000);}' unless defined(&MPI_IOC_STATE_OPERATIONAL);
    eval 'sub MPI_IOC_STATE_FAULT () {(0x40000000);}' unless defined(&MPI_IOC_STATE_FAULT);
    eval 'sub MPI_IOC_STATE_MASK () {(0xf0000000);}' unless defined(&MPI_IOC_STATE_MASK);
    eval 'sub MPI_IOC_STATE_SHIFT () {(28);}' unless defined(&MPI_IOC_STATE_SHIFT);
    eval 'sub MPI_FAULT_REQUEST_MESSAGE_PCI_PARITY_ERROR () {(0x8111);}' unless defined(&MPI_FAULT_REQUEST_MESSAGE_PCI_PARITY_ERROR);
    eval 'sub MPI_FAULT_REQUEST_MESSAGE_PCI_BUS_FAULT () {(0x8112);}' unless defined(&MPI_FAULT_REQUEST_MESSAGE_PCI_BUS_FAULT);
    eval 'sub MPI_FAULT_REPLY_MESSAGE_PCI_PARITY_ERROR () {(0x8113);}' unless defined(&MPI_FAULT_REPLY_MESSAGE_PCI_PARITY_ERROR);
    eval 'sub MPI_FAULT_REPLY_MESSAGE_PCI_BUS_FAULT () {(0x8114);}' unless defined(&MPI_FAULT_REPLY_MESSAGE_PCI_BUS_FAULT);
    eval 'sub MPI_FAULT_DATA_SEND_PCI_PARITY_ERROR () {(0x8115);}' unless defined(&MPI_FAULT_DATA_SEND_PCI_PARITY_ERROR);
    eval 'sub MPI_FAULT_DATA_SEND_PCI_BUS_FAULT () {(0x8116);}' unless defined(&MPI_FAULT_DATA_SEND_PCI_BUS_FAULT);
    eval 'sub MPI_FAULT_DATA_RECEIVE_PCI_PARITY_ERROR () {(0x8117);}' unless defined(&MPI_FAULT_DATA_RECEIVE_PCI_PARITY_ERROR);
    eval 'sub MPI_FAULT_DATA_RECEIVE_PCI_BUS_FAULT () {(0x8118);}' unless defined(&MPI_FAULT_DATA_RECEIVE_PCI_BUS_FAULT);
    eval 'sub MPI_DOORBELL_OFFSET () {(0x);}' unless defined(&MPI_DOORBELL_OFFSET);
    eval 'sub MPI_DOORBELL_ACTIVE () {(0x8000000);}' unless defined(&MPI_DOORBELL_ACTIVE);
    eval 'sub MPI_DOORBELL_USED () {( &MPI_DOORBELL_ACTIVE);}' unless defined(&MPI_DOORBELL_USED);
    eval 'sub MPI_DOORBELL_ACTIVE_SHIFT () {(27);}' unless defined(&MPI_DOORBELL_ACTIVE_SHIFT);
    eval 'sub MPI_DOORBELL_WHO_INIT_MASK () {(0x7000000);}' unless defined(&MPI_DOORBELL_WHO_INIT_MASK);
    eval 'sub MPI_DOORBELL_WHO_INIT_SHIFT () {(24);}' unless defined(&MPI_DOORBELL_WHO_INIT_SHIFT);
    eval 'sub MPI_DOORBELL_FUNCTION_MASK () {(0xff000000);}' unless defined(&MPI_DOORBELL_FUNCTION_MASK);
    eval 'sub MPI_DOORBELL_FUNCTION_SHIFT () {(24);}' unless defined(&MPI_DOORBELL_FUNCTION_SHIFT);
    eval 'sub MPI_DOORBELL_ADD_DWORDS_MASK () {(0xff0000);}' unless defined(&MPI_DOORBELL_ADD_DWORDS_MASK);
    eval 'sub MPI_DOORBELL_ADD_DWORDS_SHIFT () {(16);}' unless defined(&MPI_DOORBELL_ADD_DWORDS_SHIFT);
    eval 'sub MPI_DOORBELL_DATA_MASK () {(0xffff);}' unless defined(&MPI_DOORBELL_DATA_MASK);
    eval 'sub MPI_WRITE_SEQUENCE_OFFSET () {(0x4);}' unless defined(&MPI_WRITE_SEQUENCE_OFFSET);
    eval 'sub MPI_WRSEQ_KEY_VALUE_MASK () {(0xf);}' unless defined(&MPI_WRSEQ_KEY_VALUE_MASK);
    eval 'sub MPI_WRSEQ_1ST_KEY_VALUE () {(0x4);}' unless defined(&MPI_WRSEQ_1ST_KEY_VALUE);
    eval 'sub MPI_WRSEQ_2ND_KEY_VALUE () {(0xb);}' unless defined(&MPI_WRSEQ_2ND_KEY_VALUE);
    eval 'sub MPI_WRSEQ_3RD_KEY_VALUE () {(0x2);}' unless defined(&MPI_WRSEQ_3RD_KEY_VALUE);
    eval 'sub MPI_WRSEQ_4TH_KEY_VALUE () {(0x7);}' unless defined(&MPI_WRSEQ_4TH_KEY_VALUE);
    eval 'sub MPI_WRSEQ_5TH_KEY_VALUE () {(0xd);}' unless defined(&MPI_WRSEQ_5TH_KEY_VALUE);
    eval 'sub MPI_DIAGNOSTIC_OFFSET () {(0x8);}' unless defined(&MPI_DIAGNOSTIC_OFFSET);
    eval 'sub MPI_DIAG_CLEAR_FLASH_BAD_SIG () {(0x400);}' unless defined(&MPI_DIAG_CLEAR_FLASH_BAD_SIG);
    eval 'sub MPI_DIAG_PREVENT_IOC_BOOT () {(0x200);}' unless defined(&MPI_DIAG_PREVENT_IOC_BOOT);
    eval 'sub MPI_DIAG_DRWE () {(0x80);}' unless defined(&MPI_DIAG_DRWE);
    eval 'sub MPI_DIAG_FLASH_BAD_SIG () {(0x40);}' unless defined(&MPI_DIAG_FLASH_BAD_SIG);
    eval 'sub MPI_DIAG_RESET_HISTORY () {(0x20);}' unless defined(&MPI_DIAG_RESET_HISTORY);
    eval 'sub MPI_DIAG_RW_ENABLE () {(0x10);}' unless defined(&MPI_DIAG_RW_ENABLE);
    eval 'sub MPI_DIAG_RESET_ADAPTER () {(0x4);}' unless defined(&MPI_DIAG_RESET_ADAPTER);
    eval 'sub MPI_DIAG_DISABLE_ARM () {(0x2);}' unless defined(&MPI_DIAG_DISABLE_ARM);
    eval 'sub MPI_DIAG_MEM_ENABLE () {(0x1);}' unless defined(&MPI_DIAG_MEM_ENABLE);
    eval 'sub MPI_TEST_BASE_ADDRESS_OFFSET () {(0xc);}' unless defined(&MPI_TEST_BASE_ADDRESS_OFFSET);
    eval 'sub MPI_DIAG_RW_DATA_OFFSET () {(0x10);}' unless defined(&MPI_DIAG_RW_DATA_OFFSET);
    eval 'sub MPI_DIAG_RW_ADDRESS_OFFSET () {(0x14);}' unless defined(&MPI_DIAG_RW_ADDRESS_OFFSET);
    eval 'sub MPI_HOST_INTERRUPT_STATUS_OFFSET () {(0x30);}' unless defined(&MPI_HOST_INTERRUPT_STATUS_OFFSET);
    eval 'sub MPI_HIS_IOP_DOORBELL_STATUS () {(0x80000000);}' unless defined(&MPI_HIS_IOP_DOORBELL_STATUS);
    eval 'sub MPI_HIS_REPLY_MESSAGE_INTERRUPT () {(0x8);}' unless defined(&MPI_HIS_REPLY_MESSAGE_INTERRUPT);
    eval 'sub MPI_HIS_DOORBELL_INTERRUPT () {(0x1);}' unless defined(&MPI_HIS_DOORBELL_INTERRUPT);
    eval 'sub MPI_HOST_INTERRUPT_MASK_OFFSET () {(0x34);}' unless defined(&MPI_HOST_INTERRUPT_MASK_OFFSET);
    eval 'sub MPI_HIM_RIM () {(0x8);}' unless defined(&MPI_HIM_RIM);
    eval 'sub MPI_HIM_DIM () {(0x1);}' unless defined(&MPI_HIM_DIM);
    eval 'sub MPI_REQUEST_QUEUE_OFFSET () {(0x40);}' unless defined(&MPI_REQUEST_QUEUE_OFFSET);
    eval 'sub MPI_REQUEST_POST_FIFO_OFFSET () {(0x40);}' unless defined(&MPI_REQUEST_POST_FIFO_OFFSET);
    eval 'sub MPI_REPLY_QUEUE_OFFSET () {(0x44);}' unless defined(&MPI_REPLY_QUEUE_OFFSET);
    eval 'sub MPI_REPLY_POST_FIFO_OFFSET () {(0x44);}' unless defined(&MPI_REPLY_POST_FIFO_OFFSET);
    eval 'sub MPI_REPLY_FREE_FIFO_OFFSET () {(0x44);}' unless defined(&MPI_REPLY_FREE_FIFO_OFFSET);
    eval 'sub MPI_REQ_MF_DESCRIPTOR_NB_MASK () {(0x3);}' unless defined(&MPI_REQ_MF_DESCRIPTOR_NB_MASK);
    eval 'sub MPI_REQ_MF_DESCRIPTOR_F_BIT () {(0x4);}' unless defined(&MPI_REQ_MF_DESCRIPTOR_F_BIT);
    eval 'sub MPI_REQ_MF_DESCRIPTOR_ADDRESS_MASK () {(0xfffffff8);}' unless defined(&MPI_REQ_MF_DESCRIPTOR_ADDRESS_MASK);
    eval 'sub MPI_ADDRESS_REPLY_A_BIT () {(0x80000000);}' unless defined(&MPI_ADDRESS_REPLY_A_BIT);
    eval 'sub MPI_ADDRESS_REPLY_ADDRESS_MASK () {(0x7fffffff);}' unless defined(&MPI_ADDRESS_REPLY_ADDRESS_MASK);
    eval 'sub MPI_CONTEXT_REPLY_A_BIT () {(0x80000000);}' unless defined(&MPI_CONTEXT_REPLY_A_BIT);
    eval 'sub MPI_CONTEXT_REPLY_TYPE_MASK () {(0x60000000);}' unless defined(&MPI_CONTEXT_REPLY_TYPE_MASK);
    eval 'sub MPI_CONTEXT_REPLY_TYPE_SCSI_INIT () {(0x);}' unless defined(&MPI_CONTEXT_REPLY_TYPE_SCSI_INIT);
    eval 'sub MPI_CONTEXT_REPLY_TYPE_SCSI_TARGET () {(0x1);}' unless defined(&MPI_CONTEXT_REPLY_TYPE_SCSI_TARGET);
    eval 'sub MPI_CONTEXT_REPLY_TYPE_LAN () {(0x2);}' unless defined(&MPI_CONTEXT_REPLY_TYPE_LAN);
    eval 'sub MPI_CONTEXT_REPLY_TYPE_SHIFT () {(29);}' unless defined(&MPI_CONTEXT_REPLY_TYPE_SHIFT);
    eval 'sub MPI_CONTEXT_REPLY_CONTEXT_MASK () {(0x1fffffff);}' unless defined(&MPI_CONTEXT_REPLY_CONTEXT_MASK);
    eval 'sub MPI_GET_CONTEXT_REPLY_TYPE {
        local($x) = @_;
	    eval q(((($x) &  &MPI_CONTEXT_REPLY_TYPE_MASK) >>  &MPI_CONTEXT_REPLY_TYPE_SHIFT));
    }' unless defined(&MPI_GET_CONTEXT_REPLY_TYPE);
    eval 'sub MPI_SET_CONTEXT_REPLY_TYPE {
        local($x, $typ) = @_;
	    eval q((($x) = (($x) & ~ &MPI_CONTEXT_REPLY_TYPE_MASK) | ((($typ) <<  &MPI_CONTEXT_REPLY_TYPE_SHIFT) &  &MPI_CONTEXT_REPLY_TYPE_MASK)));
    }' unless defined(&MPI_SET_CONTEXT_REPLY_TYPE);
    eval 'sub MPI_FUNCTION_SCSI_IO_REQUEST () {(0x);}' unless defined(&MPI_FUNCTION_SCSI_IO_REQUEST);
    eval 'sub MPI_FUNCTION_SCSI_TASK_MGMT () {(0x1);}' unless defined(&MPI_FUNCTION_SCSI_TASK_MGMT);
    eval 'sub MPI_FUNCTION_IOC_INIT () {(0x2);}' unless defined(&MPI_FUNCTION_IOC_INIT);
    eval 'sub MPI_FUNCTION_IOC_FACTS () {(0x3);}' unless defined(&MPI_FUNCTION_IOC_FACTS);
    eval 'sub MPI_FUNCTION_CONFIG () {(0x4);}' unless defined(&MPI_FUNCTION_CONFIG);
    eval 'sub MPI_FUNCTION_PORT_FACTS () {(0x5);}' unless defined(&MPI_FUNCTION_PORT_FACTS);
    eval 'sub MPI_FUNCTION_PORT_ENABLE () {(0x6);}' unless defined(&MPI_FUNCTION_PORT_ENABLE);
    eval 'sub MPI_FUNCTION_EVENT_NOTIFICATION () {(0x7);}' unless defined(&MPI_FUNCTION_EVENT_NOTIFICATION);
    eval 'sub MPI_FUNCTION_EVENT_ACK () {(0x8);}' unless defined(&MPI_FUNCTION_EVENT_ACK);
    eval 'sub MPI_FUNCTION_FW_DOWNLOAD () {(0x9);}' unless defined(&MPI_FUNCTION_FW_DOWNLOAD);
    eval 'sub MPI_FUNCTION_TARGET_CMD_BUFFER_POST () {(0xa);}' unless defined(&MPI_FUNCTION_TARGET_CMD_BUFFER_POST);
    eval 'sub MPI_FUNCTION_TARGET_ASSIST () {(0xb);}' unless defined(&MPI_FUNCTION_TARGET_ASSIST);
    eval 'sub MPI_FUNCTION_TARGET_STATUS_SEND () {(0xc);}' unless defined(&MPI_FUNCTION_TARGET_STATUS_SEND);
    eval 'sub MPI_FUNCTION_TARGET_MODE_ABORT () {(0xd);}' unless defined(&MPI_FUNCTION_TARGET_MODE_ABORT);
    eval 'sub MPI_FUNCTION_TARGET_FC_BUF_POST_LINK_SRVC () {(0xe);}' unless defined(&MPI_FUNCTION_TARGET_FC_BUF_POST_LINK_SRVC);
    eval 'sub MPI_FUNCTION_TARGET_FC_RSP_LINK_SRVC () {(0xf);}' unless defined(&MPI_FUNCTION_TARGET_FC_RSP_LINK_SRVC);
    eval 'sub MPI_FUNCTION_TARGET_FC_EX_SEND_LINK_SRVC () {(0x10);}' unless defined(&MPI_FUNCTION_TARGET_FC_EX_SEND_LINK_SRVC);
    eval 'sub MPI_FUNCTION_TARGET_FC_ABORT () {(0x11);}' unless defined(&MPI_FUNCTION_TARGET_FC_ABORT);
    eval 'sub MPI_FUNCTION_FC_LINK_SRVC_BUF_POST () {(0xe);}' unless defined(&MPI_FUNCTION_FC_LINK_SRVC_BUF_POST);
    eval 'sub MPI_FUNCTION_FC_LINK_SRVC_RSP () {(0xf);}' unless defined(&MPI_FUNCTION_FC_LINK_SRVC_RSP);
    eval 'sub MPI_FUNCTION_FC_EX_LINK_SRVC_SEND () {(0x10);}' unless defined(&MPI_FUNCTION_FC_EX_LINK_SRVC_SEND);
    eval 'sub MPI_FUNCTION_FC_ABORT () {(0x11);}' unless defined(&MPI_FUNCTION_FC_ABORT);
    eval 'sub MPI_FUNCTION_FW_UPLOAD () {(0x12);}' unless defined(&MPI_FUNCTION_FW_UPLOAD);
    eval 'sub MPI_FUNCTION_FC_COMMON_TRANSPORT_SEND () {(0x13);}' unless defined(&MPI_FUNCTION_FC_COMMON_TRANSPORT_SEND);
    eval 'sub MPI_FUNCTION_FC_PRIMITIVE_SEND () {(0x14);}' unless defined(&MPI_FUNCTION_FC_PRIMITIVE_SEND);
    eval 'sub MPI_FUNCTION_RAID_ACTION () {(0x15);}' unless defined(&MPI_FUNCTION_RAID_ACTION);
    eval 'sub MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH () {(0x16);}' unless defined(&MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH);
    eval 'sub MPI_FUNCTION_TOOLBOX () {(0x17);}' unless defined(&MPI_FUNCTION_TOOLBOX);
    eval 'sub MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR () {(0x18);}' unless defined(&MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR);
    eval 'sub MPI_FUNCTION_MAILBOX () {(0x19);}' unless defined(&MPI_FUNCTION_MAILBOX);
    eval 'sub MPI_FUNCTION_LAN_SEND () {(0x20);}' unless defined(&MPI_FUNCTION_LAN_SEND);
    eval 'sub MPI_FUNCTION_LAN_RECEIVE () {(0x21);}' unless defined(&MPI_FUNCTION_LAN_RECEIVE);
    eval 'sub MPI_FUNCTION_LAN_RESET () {(0x22);}' unless defined(&MPI_FUNCTION_LAN_RESET);
    eval 'sub MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET () {(0x40);}' unless defined(&MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET);
    eval 'sub MPI_FUNCTION_IO_UNIT_RESET () {(0x41);}' unless defined(&MPI_FUNCTION_IO_UNIT_RESET);
    eval 'sub MPI_FUNCTION_HANDSHAKE () {(0x42);}' unless defined(&MPI_FUNCTION_HANDSHAKE);
    eval 'sub MPI_FUNCTION_REPLY_FRAME_REMOVAL () {(0x43);}' unless defined(&MPI_FUNCTION_REPLY_FRAME_REMOVAL);
    eval 'sub MPI_SGE_FLAGS_LAST_ELEMENT () {(0x80);}' unless defined(&MPI_SGE_FLAGS_LAST_ELEMENT);
    eval 'sub MPI_SGE_FLAGS_END_OF_BUFFER () {(0x40);}' unless defined(&MPI_SGE_FLAGS_END_OF_BUFFER);
    eval 'sub MPI_SGE_FLAGS_ELEMENT_TYPE_MASK () {(0x30);}' unless defined(&MPI_SGE_FLAGS_ELEMENT_TYPE_MASK);
    eval 'sub MPI_SGE_FLAGS_LOCAL_ADDRESS () {(0x8);}' unless defined(&MPI_SGE_FLAGS_LOCAL_ADDRESS);
    eval 'sub MPI_SGE_FLAGS_DIRECTION () {(0x4);}' unless defined(&MPI_SGE_FLAGS_DIRECTION);
    eval 'sub MPI_SGE_FLAGS_ADDRESS_SIZE () {(0x2);}' unless defined(&MPI_SGE_FLAGS_ADDRESS_SIZE);
    eval 'sub MPI_SGE_FLAGS_END_OF_LIST () {(0x1);}' unless defined(&MPI_SGE_FLAGS_END_OF_LIST);
    eval 'sub MPI_SGE_FLAGS_SHIFT () {(24);}' unless defined(&MPI_SGE_FLAGS_SHIFT);
    eval 'sub MPI_SGE_LENGTH_MASK () {(0xffffff);}' unless defined(&MPI_SGE_LENGTH_MASK);
    eval 'sub MPI_SGE_CHAIN_LENGTH_MASK () {(0xffff);}' unless defined(&MPI_SGE_CHAIN_LENGTH_MASK);
    eval 'sub MPI_SGE_FLAGS_TRANSACTION_ELEMENT () {(0x);}' unless defined(&MPI_SGE_FLAGS_TRANSACTION_ELEMENT);
    eval 'sub MPI_SGE_FLAGS_SIMPLE_ELEMENT () {(0x10);}' unless defined(&MPI_SGE_FLAGS_SIMPLE_ELEMENT);
    eval 'sub MPI_SGE_FLAGS_CHAIN_ELEMENT () {(0x30);}' unless defined(&MPI_SGE_FLAGS_CHAIN_ELEMENT);
    eval 'sub MPI_SGE_FLAGS_ELEMENT_MASK () {(0x30);}' unless defined(&MPI_SGE_FLAGS_ELEMENT_MASK);
    eval 'sub MPI_SGE_FLAGS_SYSTEM_ADDRESS () {(0x);}' unless defined(&MPI_SGE_FLAGS_SYSTEM_ADDRESS);
    eval 'sub MPI_SGE_FLAGS_IOC_TO_HOST () {(0x);}' unless defined(&MPI_SGE_FLAGS_IOC_TO_HOST);
    eval 'sub MPI_SGE_FLAGS_HOST_TO_IOC () {(0x4);}' unless defined(&MPI_SGE_FLAGS_HOST_TO_IOC);
    eval 'sub MPI_SGE_FLAGS_32_BIT_ADDRESSING () {(0x);}' unless defined(&MPI_SGE_FLAGS_32_BIT_ADDRESSING);
    eval 'sub MPI_SGE_FLAGS_64_BIT_ADDRESSING () {(0x2);}' unless defined(&MPI_SGE_FLAGS_64_BIT_ADDRESSING);
    eval 'sub MPI_SGE_FLAGS_32_BIT_CONTEXT () {(0x);}' unless defined(&MPI_SGE_FLAGS_32_BIT_CONTEXT);
    eval 'sub MPI_SGE_FLAGS_64_BIT_CONTEXT () {(0x2);}' unless defined(&MPI_SGE_FLAGS_64_BIT_CONTEXT);
    eval 'sub MPI_SGE_FLAGS_96_BIT_CONTEXT () {(0x4);}' unless defined(&MPI_SGE_FLAGS_96_BIT_CONTEXT);
    eval 'sub MPI_SGE_FLAGS_128_BIT_CONTEXT () {(0x6);}' unless defined(&MPI_SGE_FLAGS_128_BIT_CONTEXT);
    eval 'sub MPI_SGE_CHAIN_OFFSET_MASK () {(0xff0000);}' unless defined(&MPI_SGE_CHAIN_OFFSET_MASK);
    eval 'sub MPI_SGE_CHAIN_OFFSET_SHIFT () {(16);}' unless defined(&MPI_SGE_CHAIN_OFFSET_SHIFT);
    eval 'sub MPI_SGE_SET_FLAGS {
        local($f) = @_;
	    eval q((( &U32)($f) <<  &MPI_SGE_FLAGS_SHIFT));
    }' unless defined(&MPI_SGE_SET_FLAGS);
    eval 'sub MPI_SGE_GET_FLAGS {
        local($fl) = @_;
	    eval q(((($fl) & ~ &MPI_SGE_LENGTH_MASK) >>  &MPI_SGE_FLAGS_SHIFT));
    }' unless defined(&MPI_SGE_GET_FLAGS);
    eval 'sub MPI_SGE_LENGTH {
        local($fl) = @_;
	    eval q((($fl) &  &MPI_SGE_LENGTH_MASK));
    }' unless defined(&MPI_SGE_LENGTH);
    eval 'sub MPI_SGE_CHAIN_LENGTH {
        local($fl) = @_;
	    eval q((($fl) &  &MPI_SGE_CHAIN_LENGTH_MASK));
    }' unless defined(&MPI_SGE_CHAIN_LENGTH);
    eval 'sub MPI_SGE_SET_FLAGS_LENGTH {
        local($f,$l) = @_;
	    eval q(( &MPI_SGE_SET_FLAGS($f) |  &MPI_SGE_LENGTH($l)));
    }' unless defined(&MPI_SGE_SET_FLAGS_LENGTH);
    eval 'sub MPI_pSGE_GET_FLAGS {
        local($psg) = @_;
	    eval q( &MPI_SGE_GET_FLAGS(($psg)-> &FlagsLength));
    }' unless defined(&MPI_pSGE_GET_FLAGS);
    eval 'sub MPI_pSGE_GET_LENGTH {
        local($psg) = @_;
	    eval q( &MPI_SGE_LENGTH(($psg)-> &FlagsLength));
    }' unless defined(&MPI_pSGE_GET_LENGTH);
    eval 'sub MPI_pSGE_SET_FLAGS_LENGTH {
        local($psg,$f,$l) = @_;
	    eval q(($psg)-> &FlagsLength =  &MPI_SGE_SET_FLAGS_LENGTH($f,$l));
    }' unless defined(&MPI_pSGE_SET_FLAGS_LENGTH);
    eval 'sub MPI_pSGE_SET_FLAGS {
        local($psg,$f) = @_;
	    eval q(($psg)-> &FlagsLength |=  &MPI_SGE_SET_FLAGS($f));
    }' unless defined(&MPI_pSGE_SET_FLAGS);
    eval 'sub MPI_pSGE_SET_LENGTH {
        local($psg,$l) = @_;
	    eval q(($psg)-> &FlagsLength |=  &MPI_SGE_LENGTH($l));
    }' unless defined(&MPI_pSGE_SET_LENGTH);
    eval 'sub MPI_GET_CHAIN_OFFSET {
        local($x) = @_;
	    eval q((($x &MPI_SGE_CHAIN_OFFSET_MASK)>> &MPI_SGE_CHAIN_OFFSET_SHIFT));
    }' unless defined(&MPI_GET_CHAIN_OFFSET);
    eval 'sub MPI_MSGFLAGS_CONTINUATION_REPLY () {(0x80);}' unless defined(&MPI_MSGFLAGS_CONTINUATION_REPLY);
    eval 'sub MPI_IOCSTATUS_SUCCESS () {(0x);}' unless defined(&MPI_IOCSTATUS_SUCCESS);
    eval 'sub MPI_IOCSTATUS_INVALID_FUNCTION () {(0x1);}' unless defined(&MPI_IOCSTATUS_INVALID_FUNCTION);
    eval 'sub MPI_IOCSTATUS_BUSY () {(0x2);}' unless defined(&MPI_IOCSTATUS_BUSY);
    eval 'sub MPI_IOCSTATUS_INVALID_SGL () {(0x3);}' unless defined(&MPI_IOCSTATUS_INVALID_SGL);
    eval 'sub MPI_IOCSTATUS_INTERNAL_ERROR () {(0x4);}' unless defined(&MPI_IOCSTATUS_INTERNAL_ERROR);
    eval 'sub MPI_IOCSTATUS_RESERVED () {(0x5);}' unless defined(&MPI_IOCSTATUS_RESERVED);
    eval 'sub MPI_IOCSTATUS_INSUFFICIENT_RESOURCES () {(0x6);}' unless defined(&MPI_IOCSTATUS_INSUFFICIENT_RESOURCES);
    eval 'sub MPI_IOCSTATUS_INVALID_FIELD () {(0x7);}' unless defined(&MPI_IOCSTATUS_INVALID_FIELD);
    eval 'sub MPI_IOCSTATUS_INVALID_STATE () {(0x8);}' unless defined(&MPI_IOCSTATUS_INVALID_STATE);
    eval 'sub MPI_IOCSTATUS_CONFIG_INVALID_ACTION () {(0x20);}' unless defined(&MPI_IOCSTATUS_CONFIG_INVALID_ACTION);
    eval 'sub MPI_IOCSTATUS_CONFIG_INVALID_TYPE () {(0x21);}' unless defined(&MPI_IOCSTATUS_CONFIG_INVALID_TYPE);
    eval 'sub MPI_IOCSTATUS_CONFIG_INVALID_PAGE () {(0x22);}' unless defined(&MPI_IOCSTATUS_CONFIG_INVALID_PAGE);
    eval 'sub MPI_IOCSTATUS_CONFIG_INVALID_DATA () {(0x23);}' unless defined(&MPI_IOCSTATUS_CONFIG_INVALID_DATA);
    eval 'sub MPI_IOCSTATUS_CONFIG_NO_DEFAULTS () {(0x24);}' unless defined(&MPI_IOCSTATUS_CONFIG_NO_DEFAULTS);
    eval 'sub MPI_IOCSTATUS_CONFIG_CANT_COMMIT () {(0x25);}' unless defined(&MPI_IOCSTATUS_CONFIG_CANT_COMMIT);
    eval 'sub MPI_IOCSTATUS_SCSI_RECOVERED_ERROR () {(0x40);}' unless defined(&MPI_IOCSTATUS_SCSI_RECOVERED_ERROR);
    eval 'sub MPI_IOCSTATUS_SCSI_INVALID_BUS () {(0x41);}' unless defined(&MPI_IOCSTATUS_SCSI_INVALID_BUS);
    eval 'sub MPI_IOCSTATUS_SCSI_INVALID_TARGETID () {(0x42);}' unless defined(&MPI_IOCSTATUS_SCSI_INVALID_TARGETID);
    eval 'sub MPI_IOCSTATUS_SCSI_DEVICE_NOT_THERE () {(0x43);}' unless defined(&MPI_IOCSTATUS_SCSI_DEVICE_NOT_THERE);
    eval 'sub MPI_IOCSTATUS_SCSI_DATA_OVERRUN () {(0x44);}' unless defined(&MPI_IOCSTATUS_SCSI_DATA_OVERRUN);
    eval 'sub MPI_IOCSTATUS_SCSI_DATA_UNDERRUN () {(0x45);}' unless defined(&MPI_IOCSTATUS_SCSI_DATA_UNDERRUN);
    eval 'sub MPI_IOCSTATUS_SCSI_IO_DATA_ERROR () {(0x46);}' unless defined(&MPI_IOCSTATUS_SCSI_IO_DATA_ERROR);
    eval 'sub MPI_IOCSTATUS_SCSI_PROTOCOL_ERROR () {(0x47);}' unless defined(&MPI_IOCSTATUS_SCSI_PROTOCOL_ERROR);
    eval 'sub MPI_IOCSTATUS_SCSI_TASK_TERMINATED () {(0x48);}' unless defined(&MPI_IOCSTATUS_SCSI_TASK_TERMINATED);
    eval 'sub MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH () {(0x49);}' unless defined(&MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH);
    eval 'sub MPI_IOCSTATUS_SCSI_TASK_MGMT_FAILED () {(0x4a);}' unless defined(&MPI_IOCSTATUS_SCSI_TASK_MGMT_FAILED);
    eval 'sub MPI_IOCSTATUS_SCSI_IOC_TERMINATED () {(0x4b);}' unless defined(&MPI_IOCSTATUS_SCSI_IOC_TERMINATED);
    eval 'sub MPI_IOCSTATUS_SCSI_EXT_TERMINATED () {(0x4c);}' unless defined(&MPI_IOCSTATUS_SCSI_EXT_TERMINATED);
    eval 'sub MPI_IOCSTATUS_TARGET_PRIORITY_IO () {(0x60);}' unless defined(&MPI_IOCSTATUS_TARGET_PRIORITY_IO);
    eval 'sub MPI_IOCSTATUS_TARGET_INVALID_PORT () {(0x61);}' unless defined(&MPI_IOCSTATUS_TARGET_INVALID_PORT);
    eval 'sub MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX () {(0x62);}' unless defined(&MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX);
    eval 'sub MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX () {(0x62);}' unless defined(&MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX);
    eval 'sub MPI_IOCSTATUS_TARGET_ABORTED () {(0x63);}' unless defined(&MPI_IOCSTATUS_TARGET_ABORTED);
    eval 'sub MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE () {(0x64);}' unless defined(&MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE);
    eval 'sub MPI_IOCSTATUS_TARGET_NO_CONNECTION () {(0x65);}' unless defined(&MPI_IOCSTATUS_TARGET_NO_CONNECTION);
    eval 'sub MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH () {(0x6a);}' unless defined(&MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH);
    eval 'sub MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT () {(0x6b);}' unless defined(&MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT);
    eval 'sub MPI_IOCSTATUS_TARGET_FC_ABORTED () {(0x66);}' unless defined(&MPI_IOCSTATUS_TARGET_FC_ABORTED);
    eval 'sub MPI_IOCSTATUS_TARGET_FC_RX_ID_INVALID () {(0x67);}' unless defined(&MPI_IOCSTATUS_TARGET_FC_RX_ID_INVALID);
    eval 'sub MPI_IOCSTATUS_TARGET_FC_DID_INVALID () {(0x68);}' unless defined(&MPI_IOCSTATUS_TARGET_FC_DID_INVALID);
    eval 'sub MPI_IOCSTATUS_TARGET_FC_NODE_LOGGED_OUT () {(0x69);}' unless defined(&MPI_IOCSTATUS_TARGET_FC_NODE_LOGGED_OUT);
    eval 'sub MPI_IOCSTATUS_FC_ABORTED () {(0x66);}' unless defined(&MPI_IOCSTATUS_FC_ABORTED);
    eval 'sub MPI_IOCSTATUS_FC_RX_ID_INVALID () {(0x67);}' unless defined(&MPI_IOCSTATUS_FC_RX_ID_INVALID);
    eval 'sub MPI_IOCSTATUS_FC_DID_INVALID () {(0x68);}' unless defined(&MPI_IOCSTATUS_FC_DID_INVALID);
    eval 'sub MPI_IOCSTATUS_FC_NODE_LOGGED_OUT () {(0x69);}' unless defined(&MPI_IOCSTATUS_FC_NODE_LOGGED_OUT);
    eval 'sub MPI_IOCSTATUS_FC_EXCHANGE_CANCELED () {(0x6c);}' unless defined(&MPI_IOCSTATUS_FC_EXCHANGE_CANCELED);
    eval 'sub MPI_IOCSTATUS_LAN_DEVICE_NOT_FOUND () {(0x80);}' unless defined(&MPI_IOCSTATUS_LAN_DEVICE_NOT_FOUND);
    eval 'sub MPI_IOCSTATUS_LAN_DEVICE_FAILURE () {(0x81);}' unless defined(&MPI_IOCSTATUS_LAN_DEVICE_FAILURE);
    eval 'sub MPI_IOCSTATUS_LAN_TRANSMIT_ERROR () {(0x82);}' unless defined(&MPI_IOCSTATUS_LAN_TRANSMIT_ERROR);
    eval 'sub MPI_IOCSTATUS_LAN_TRANSMIT_ABORTED () {(0x83);}' unless defined(&MPI_IOCSTATUS_LAN_TRANSMIT_ABORTED);
    eval 'sub MPI_IOCSTATUS_LAN_RECEIVE_ERROR () {(0x84);}' unless defined(&MPI_IOCSTATUS_LAN_RECEIVE_ERROR);
    eval 'sub MPI_IOCSTATUS_LAN_RECEIVE_ABORTED () {(0x85);}' unless defined(&MPI_IOCSTATUS_LAN_RECEIVE_ABORTED);
    eval 'sub MPI_IOCSTATUS_LAN_PARTIAL_PACKET () {(0x86);}' unless defined(&MPI_IOCSTATUS_LAN_PARTIAL_PACKET);
    eval 'sub MPI_IOCSTATUS_LAN_CANCELED () {(0x87);}' unless defined(&MPI_IOCSTATUS_LAN_CANCELED);
    eval 'sub MPI_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE () {(0x8000);}' unless defined(&MPI_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE);
    eval 'sub MPI_IOCSTATUS_MASK () {(0x7fff);}' unless defined(&MPI_IOCSTATUS_MASK);
    eval 'sub MPI_IOCLOGINFO_TYPE_MASK () {(0xf0000000);}' unless defined(&MPI_IOCLOGINFO_TYPE_MASK);
    eval 'sub MPI_IOCLOGINFO_TYPE_SHIFT () {(28);}' unless defined(&MPI_IOCLOGINFO_TYPE_SHIFT);
    eval 'sub MPI_IOCLOGINFO_TYPE_NONE () {(0x);}' unless defined(&MPI_IOCLOGINFO_TYPE_NONE);
    eval 'sub MPI_IOCLOGINFO_TYPE_SCSI () {(0x1);}' unless defined(&MPI_IOCLOGINFO_TYPE_SCSI);
    eval 'sub MPI_IOCLOGINFO_TYPE_FC () {(0x2);}' unless defined(&MPI_IOCLOGINFO_TYPE_FC);
    eval 'sub MPI_IOCLOGINFO_LOG_DATA_MASK () {(0xfffffff);}' unless defined(&MPI_IOCLOGINFO_LOG_DATA_MASK);
}
unless(defined(&MPI_CNFG_H)) {
    eval 'sub MPI_CNFG_H () {1;}' unless defined(&MPI_CNFG_H);
    eval 'sub MPI_CONFIG_PAGEATTR_READ_ONLY () {(0x);}' unless defined(&MPI_CONFIG_PAGEATTR_READ_ONLY);
    eval 'sub MPI_CONFIG_PAGEATTR_CHANGEABLE () {(0x10);}' unless defined(&MPI_CONFIG_PAGEATTR_CHANGEABLE);
    eval 'sub MPI_CONFIG_PAGEATTR_PERSISTENT () {(0x20);}' unless defined(&MPI_CONFIG_PAGEATTR_PERSISTENT);
    eval 'sub MPI_CONFIG_PAGEATTR_RO_PERSISTENT () {(0x30);}' unless defined(&MPI_CONFIG_PAGEATTR_RO_PERSISTENT);
    eval 'sub MPI_CONFIG_PAGEATTR_MASK () {(0xf0);}' unless defined(&MPI_CONFIG_PAGEATTR_MASK);
    eval 'sub MPI_CONFIG_PAGETYPE_IO_UNIT () {(0x);}' unless defined(&MPI_CONFIG_PAGETYPE_IO_UNIT);
    eval 'sub MPI_CONFIG_PAGETYPE_IOC () {(0x1);}' unless defined(&MPI_CONFIG_PAGETYPE_IOC);
    eval 'sub MPI_CONFIG_PAGETYPE_BIOS () {(0x2);}' unless defined(&MPI_CONFIG_PAGETYPE_BIOS);
    eval 'sub MPI_CONFIG_PAGETYPE_SCSI_PORT () {(0x3);}' unless defined(&MPI_CONFIG_PAGETYPE_SCSI_PORT);
    eval 'sub MPI_CONFIG_PAGETYPE_SCSI_DEVICE () {(0x4);}' unless defined(&MPI_CONFIG_PAGETYPE_SCSI_DEVICE);
    eval 'sub MPI_CONFIG_PAGETYPE_FC_PORT () {(0x5);}' unless defined(&MPI_CONFIG_PAGETYPE_FC_PORT);
    eval 'sub MPI_CONFIG_PAGETYPE_FC_DEVICE () {(0x6);}' unless defined(&MPI_CONFIG_PAGETYPE_FC_DEVICE);
    eval 'sub MPI_CONFIG_PAGETYPE_LAN () {(0x7);}' unless defined(&MPI_CONFIG_PAGETYPE_LAN);
    eval 'sub MPI_CONFIG_PAGETYPE_RAID_VOLUME () {(0x8);}' unless defined(&MPI_CONFIG_PAGETYPE_RAID_VOLUME);
    eval 'sub MPI_CONFIG_PAGETYPE_MANUFACTURING () {(0x9);}' unless defined(&MPI_CONFIG_PAGETYPE_MANUFACTURING);
    eval 'sub MPI_CONFIG_PAGETYPE_RAID_PHYSDISK () {(0xa);}' unless defined(&MPI_CONFIG_PAGETYPE_RAID_PHYSDISK);
    eval 'sub MPI_CONFIG_PAGETYPE_MASK () {(0xf);}' unless defined(&MPI_CONFIG_PAGETYPE_MASK);
    eval 'sub MPI_CONFIG_TYPENUM_MASK () {(0xfff);}' unless defined(&MPI_CONFIG_TYPENUM_MASK);
    eval 'sub MPI_SCSI_PORT_PGAD_PORT_MASK () {(0xff);}' unless defined(&MPI_SCSI_PORT_PGAD_PORT_MASK);
    eval 'sub MPI_SCSI_DEVICE_TARGET_ID_MASK () {(0xff);}' unless defined(&MPI_SCSI_DEVICE_TARGET_ID_MASK);
    eval 'sub MPI_SCSI_DEVICE_TARGET_ID_SHIFT () {(0);}' unless defined(&MPI_SCSI_DEVICE_TARGET_ID_SHIFT);
    eval 'sub MPI_SCSI_DEVICE_BUS_MASK () {(0xff00);}' unless defined(&MPI_SCSI_DEVICE_BUS_MASK);
    eval 'sub MPI_SCSI_DEVICE_BUS_SHIFT () {(8);}' unless defined(&MPI_SCSI_DEVICE_BUS_SHIFT);
    eval 'sub MPI_FC_PORT_PGAD_PORT_MASK () {(0xf0000000);}' unless defined(&MPI_FC_PORT_PGAD_PORT_MASK);
    eval 'sub MPI_FC_PORT_PGAD_PORT_SHIFT () {(28);}' unless defined(&MPI_FC_PORT_PGAD_PORT_SHIFT);
    eval 'sub MPI_FC_PORT_PGAD_FORM_MASK () {(0xf000000);}' unless defined(&MPI_FC_PORT_PGAD_FORM_MASK);
    eval 'sub MPI_FC_PORT_PGAD_FORM_INDEX () {(0x1000000);}' unless defined(&MPI_FC_PORT_PGAD_FORM_INDEX);
    eval 'sub MPI_FC_PORT_PGAD_INDEX_MASK () {(0xffff);}' unless defined(&MPI_FC_PORT_PGAD_INDEX_MASK);
    eval 'sub MPI_FC_PORT_PGAD_INDEX_SHIFT () {(0);}' unless defined(&MPI_FC_PORT_PGAD_INDEX_SHIFT);
    eval 'sub MPI_FC_DEVICE_PGAD_PORT_MASK () {(0xf0000000);}' unless defined(&MPI_FC_DEVICE_PGAD_PORT_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_PORT_SHIFT () {(28);}' unless defined(&MPI_FC_DEVICE_PGAD_PORT_SHIFT);
    eval 'sub MPI_FC_DEVICE_PGAD_FORM_MASK () {(0xf000000);}' unless defined(&MPI_FC_DEVICE_PGAD_FORM_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_FORM_NEXT_DID () {(0x);}' unless defined(&MPI_FC_DEVICE_PGAD_FORM_NEXT_DID);
    eval 'sub MPI_FC_DEVICE_PGAD_ND_PORT_MASK () {(0xf0000000);}' unless defined(&MPI_FC_DEVICE_PGAD_ND_PORT_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_ND_PORT_SHIFT () {(28);}' unless defined(&MPI_FC_DEVICE_PGAD_ND_PORT_SHIFT);
    eval 'sub MPI_FC_DEVICE_PGAD_ND_DID_MASK () {(0xffffff);}' unless defined(&MPI_FC_DEVICE_PGAD_ND_DID_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_ND_DID_SHIFT () {(0);}' unless defined(&MPI_FC_DEVICE_PGAD_ND_DID_SHIFT);
    eval 'sub MPI_FC_DEVICE_PGAD_FORM_BUS_TID () {(0x1000000);}' unless defined(&MPI_FC_DEVICE_PGAD_FORM_BUS_TID);
    eval 'sub MPI_FC_DEVICE_PGAD_BT_BUS_MASK () {(0xff00);}' unless defined(&MPI_FC_DEVICE_PGAD_BT_BUS_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_BT_BUS_SHIFT () {(8);}' unless defined(&MPI_FC_DEVICE_PGAD_BT_BUS_SHIFT);
    eval 'sub MPI_FC_DEVICE_PGAD_BT_TID_MASK () {(0xff);}' unless defined(&MPI_FC_DEVICE_PGAD_BT_TID_MASK);
    eval 'sub MPI_FC_DEVICE_PGAD_BT_TID_SHIFT () {(0);}' unless defined(&MPI_FC_DEVICE_PGAD_BT_TID_SHIFT);
    eval 'sub MPI_PHYSDISK_PGAD_PHYSDISKNUM_MASK () {(0xff);}' unless defined(&MPI_PHYSDISK_PGAD_PHYSDISKNUM_MASK);
    eval 'sub MPI_PHYSDISK_PGAD_PHYSDISKNUM_SHIFT () {(0);}' unless defined(&MPI_PHYSDISK_PGAD_PHYSDISKNUM_SHIFT);
    eval 'sub MPI_CONFIG_ACTION_PAGE_HEADER () {(0x);}' unless defined(&MPI_CONFIG_ACTION_PAGE_HEADER);
    eval 'sub MPI_CONFIG_ACTION_PAGE_READ_CURRENT () {(0x1);}' unless defined(&MPI_CONFIG_ACTION_PAGE_READ_CURRENT);
    eval 'sub MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT () {(0x2);}' unless defined(&MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT);
    eval 'sub MPI_CONFIG_ACTION_PAGE_DEFAULT () {(0x3);}' unless defined(&MPI_CONFIG_ACTION_PAGE_DEFAULT);
    eval 'sub MPI_CONFIG_ACTION_PAGE_WRITE_NVRAM () {(0x4);}' unless defined(&MPI_CONFIG_ACTION_PAGE_WRITE_NVRAM);
    eval 'sub MPI_CONFIG_ACTION_PAGE_READ_DEFAULT () {(0x5);}' unless defined(&MPI_CONFIG_ACTION_PAGE_READ_DEFAULT);
    eval 'sub MPI_CONFIG_ACTION_PAGE_READ_NVRAM () {(0x6);}' unless defined(&MPI_CONFIG_ACTION_PAGE_READ_NVRAM);
    eval 'sub MPI_MANUFACTPAGE_VENDORID_LSILOGIC () {(0x1000);}' unless defined(&MPI_MANUFACTPAGE_VENDORID_LSILOGIC);
    eval 'sub MPI_MANUFACTPAGE_VENDORID_TREBIA () {(0x1783);}' unless defined(&MPI_MANUFACTPAGE_VENDORID_TREBIA);
    eval 'sub MPI_MANUFACTPAGE_DEVICEID_FC909 () {(0x621);}' unless defined(&MPI_MANUFACTPAGE_DEVICEID_FC909);
    eval 'sub MPI_MANUFACTPAGE_DEVICEID_FC919 () {(0x624);}' unless defined(&MPI_MANUFACTPAGE_DEVICEID_FC919);
    eval 'sub MPI_MANUFACTPAGE_DEVICEID_FC929 () {(0x622);}' unless defined(&MPI_MANUFACTPAGE_DEVICEID_FC929);
    eval 'sub MPI_MANUFACTPAGE_DEVICEID_FC919X () {(0x628);}' unless defined(&MPI_MANUFACTPAGE_DEVICEID_FC919X);
    eval 'sub MPI_MANUFACTPAGE_DEVICEID_FC929X () {(0x626);}' unless defined(&MPI_MANUFACTPAGE_DEVICEID_FC929X);
    eval 'sub MPI_MANUFACTPAGE_DEVID_53C1030 () {(0x30);}' unless defined(&MPI_MANUFACTPAGE_DEVID_53C1030);
    eval 'sub MPI_MANUFACTPAGE_DEVID_53C1030ZC () {(0x31);}' unless defined(&MPI_MANUFACTPAGE_DEVID_53C1030ZC);
    eval 'sub MPI_MANUFACTPAGE_DEVID_1030_53C1035 () {(0x32);}' unless defined(&MPI_MANUFACTPAGE_DEVID_1030_53C1035);
    eval 'sub MPI_MANUFACTPAGE_DEVID_1030ZC_53C1035 () {(0x33);}' unless defined(&MPI_MANUFACTPAGE_DEVID_1030ZC_53C1035);
    eval 'sub MPI_MANUFACTPAGE_DEVID_53C1035 () {(0x40);}' unless defined(&MPI_MANUFACTPAGE_DEVID_53C1035);
    eval 'sub MPI_MANUFACTPAGE_DEVID_53C1035ZC () {(0x41);}' unless defined(&MPI_MANUFACTPAGE_DEVID_53C1035ZC);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SA2010 () {(0x804);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SA2010);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SA2010ZC () {(0x805);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SA2010ZC);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SA2020 () {(0x806);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SA2020);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SA2020ZC () {(0x807);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SA2020ZC);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SNP1000 () {(0x10);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SNP1000);
    eval 'sub MPI_MANUFACTPAGE_DEVID_SNP500 () {(0x20);}' unless defined(&MPI_MANUFACTPAGE_DEVID_SNP500);
    eval 'sub MPI_MANUFACTURING0_PAGEVERSION () {(0x);}' unless defined(&MPI_MANUFACTURING0_PAGEVERSION);
    eval 'sub MPI_MANUFACTURING1_PAGEVERSION () {(0x);}' unless defined(&MPI_MANUFACTURING1_PAGEVERSION);
    unless(defined(&MPI_MAN_PAGE_2_HW_SETTINGS_WORDS)) {
	eval 'sub MPI_MAN_PAGE_2_HW_SETTINGS_WORDS () {(1);}' unless defined(&MPI_MAN_PAGE_2_HW_SETTINGS_WORDS);
    }
    eval 'sub MPI_MANUFACTURING2_PAGEVERSION () {(0x);}' unless defined(&MPI_MANUFACTURING2_PAGEVERSION);
    unless(defined(&MPI_MAN_PAGE_3_INFO_WORDS)) {
	eval 'sub MPI_MAN_PAGE_3_INFO_WORDS () {(1);}' unless defined(&MPI_MAN_PAGE_3_INFO_WORDS);
    }
    eval 'sub MPI_MANUFACTURING3_PAGEVERSION () {(0x);}' unless defined(&MPI_MANUFACTURING3_PAGEVERSION);
    eval 'sub MPI_MANUFACTURING4_PAGEVERSION () {(0x);}' unless defined(&MPI_MANUFACTURING4_PAGEVERSION);
    eval 'sub MPI_IOUNITPAGE0_PAGEVERSION () {(0x);}' unless defined(&MPI_IOUNITPAGE0_PAGEVERSION);
    eval 'sub MPI_IOUNITPAGE1_PAGEVERSION () {(0x);}' unless defined(&MPI_IOUNITPAGE1_PAGEVERSION);
    eval 'sub MPI_IOUNITPAGE1_MULTI_FUNCTION () {(0x);}' unless defined(&MPI_IOUNITPAGE1_MULTI_FUNCTION);
    eval 'sub MPI_IOUNITPAGE1_SINGLE_FUNCTION () {(0x1);}' unless defined(&MPI_IOUNITPAGE1_SINGLE_FUNCTION);
    eval 'sub MPI_IOUNITPAGE1_MULTI_PATHING () {(0x2);}' unless defined(&MPI_IOUNITPAGE1_MULTI_PATHING);
    eval 'sub MPI_IOUNITPAGE1_SINGLE_PATHING () {(0x);}' unless defined(&MPI_IOUNITPAGE1_SINGLE_PATHING);
    eval 'sub MPI_IOUNITPAGE1_IR_USE_STATIC_VOLUME_ID () {(0x4);}' unless defined(&MPI_IOUNITPAGE1_IR_USE_STATIC_VOLUME_ID);
    eval 'sub MPI_IOUNITPAGE1_DISABLE_IR () {(0x40);}' unless defined(&MPI_IOUNITPAGE1_DISABLE_IR);
    eval 'sub MPI_IOUNITPAGE1_FORCE_32 () {(0x80);}' unless defined(&MPI_IOUNITPAGE1_FORCE_32);
    eval 'sub MPI_ADAPTER_INFO_FLAGS_EMBEDDED () {(0x1);}' unless defined(&MPI_ADAPTER_INFO_FLAGS_EMBEDDED);
    eval 'sub MPI_ADAPTER_INFO_FLAGS_INIT_STATUS () {(0x2);}' unless defined(&MPI_ADAPTER_INFO_FLAGS_INIT_STATUS);
    eval 'sub MPI_IOUNITPAGE2_PAGEVERSION () {(0x);}' unless defined(&MPI_IOUNITPAGE2_PAGEVERSION);
    eval 'sub MPI_IOUNITPAGE2_FLAGS_PAUSE_ON_ERROR () {(0x2);}' unless defined(&MPI_IOUNITPAGE2_FLAGS_PAUSE_ON_ERROR);
    eval 'sub MPI_IOUNITPAGE2_FLAGS_VERBOSE_ENABLE () {(0x4);}' unless defined(&MPI_IOUNITPAGE2_FLAGS_VERBOSE_ENABLE);
    eval 'sub MPI_IOUNITPAGE2_FLAGS_COLOR_VIDEO_DISABLE () {(0x8);}' unless defined(&MPI_IOUNITPAGE2_FLAGS_COLOR_VIDEO_DISABLE);
    eval 'sub MPI_IOUNITPAGE2_FLAGS_DONT_HOOK_INT_40 () {(0x10);}' unless defined(&MPI_IOUNITPAGE2_FLAGS_DONT_HOOK_INT_40);
    unless(defined(&MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX)) {
	eval 'sub MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX () {(1);}' unless defined(&MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX);
    }
    eval 'sub MPI_IOUNITPAGE3_PAGEVERSION () {(0x1);}' unless defined(&MPI_IOUNITPAGE3_PAGEVERSION);
    eval 'sub MPI_IOUNITPAGE3_GPIO_FUNCTION_MASK () {(0xfc);}' unless defined(&MPI_IOUNITPAGE3_GPIO_FUNCTION_MASK);
    eval 'sub MPI_IOUNITPAGE3_GPIO_FUNCTION_SHIFT () {(2);}' unless defined(&MPI_IOUNITPAGE3_GPIO_FUNCTION_SHIFT);
    eval 'sub MPI_IOUNITPAGE3_GPIO_SETTING_OFF () {(0x);}' unless defined(&MPI_IOUNITPAGE3_GPIO_SETTING_OFF);
    eval 'sub MPI_IOUNITPAGE3_GPIO_SETTING_ON () {(0x1);}' unless defined(&MPI_IOUNITPAGE3_GPIO_SETTING_ON);
    eval 'sub MPI_IOCPAGE0_PAGEVERSION () {(0x1);}' unless defined(&MPI_IOCPAGE0_PAGEVERSION);
    eval 'sub MPI_IOCPAGE1_PAGEVERSION () {(0x1);}' unless defined(&MPI_IOCPAGE1_PAGEVERSION);
    eval 'sub MPI_IOCPAGE1_REPLY_COALESCING () {(0x1);}' unless defined(&MPI_IOCPAGE1_REPLY_COALESCING);
    eval 'sub MPI_IOCPAGE1_PCISLOTNUM_UNKNOWN () {(0xff);}' unless defined(&MPI_IOCPAGE1_PCISLOTNUM_UNKNOWN);
    eval 'sub MPI_RAID_VOL_TYPE_IS () {(0x);}' unless defined(&MPI_RAID_VOL_TYPE_IS);
    eval 'sub MPI_RAID_VOL_TYPE_IME () {(0x1);}' unless defined(&MPI_RAID_VOL_TYPE_IME);
    eval 'sub MPI_RAID_VOL_TYPE_IM () {(0x2);}' unless defined(&MPI_RAID_VOL_TYPE_IM);
    eval 'sub MPI_IOCPAGE2_FLAG_VOLUME_INACTIVE () {(0x8);}' unless defined(&MPI_IOCPAGE2_FLAG_VOLUME_INACTIVE);
    unless(defined(&MPI_IOC_PAGE_2_RAID_VOLUME_MAX)) {
	eval 'sub MPI_IOC_PAGE_2_RAID_VOLUME_MAX () {(1);}' unless defined(&MPI_IOC_PAGE_2_RAID_VOLUME_MAX);
    }
    eval 'sub MPI_IOCPAGE2_PAGEVERSION () {(0x2);}' unless defined(&MPI_IOCPAGE2_PAGEVERSION);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT () {(0x1);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT () {(0x2);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT () {(0x4);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT () {(0x20000000);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT () {(0x40000000);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT);
    eval 'sub MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT () {(0x80000000);}' unless defined(&MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT);
    unless(defined(&MPI_IOC_PAGE_3_PHYSDISK_MAX)) {
	eval 'sub MPI_IOC_PAGE_3_PHYSDISK_MAX () {(1);}' unless defined(&MPI_IOC_PAGE_3_PHYSDISK_MAX);
    }
    eval 'sub MPI_IOCPAGE3_PAGEVERSION () {(0x);}' unless defined(&MPI_IOCPAGE3_PAGEVERSION);
    unless(defined(&MPI_IOC_PAGE_4_SEP_MAX)) {
	eval 'sub MPI_IOC_PAGE_4_SEP_MAX () {(1);}' unless defined(&MPI_IOC_PAGE_4_SEP_MAX);
    }
    eval 'sub MPI_IOCPAGE4_PAGEVERSION () {(0x);}' unless defined(&MPI_IOCPAGE4_PAGEVERSION);
    eval 'sub MPI_IOC_PAGE_5_HOT_SPARE_ACTIVE () {(0x1);}' unless defined(&MPI_IOC_PAGE_5_HOT_SPARE_ACTIVE);
    unless(defined(&MPI_IOC_PAGE_5_HOT_SPARE_MAX)) {
	eval 'sub MPI_IOC_PAGE_5_HOT_SPARE_MAX () {(1);}' unless defined(&MPI_IOC_PAGE_5_HOT_SPARE_MAX);
    }
    eval 'sub MPI_IOCPAGE5_PAGEVERSION () {(0x);}' unless defined(&MPI_IOCPAGE5_PAGEVERSION);
    eval 'sub MPI_SCSIPORTPAGE0_PAGEVERSION () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE0_PAGEVERSION);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_IU () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_IU);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_DT () {(0x2);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_DT);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_QAS () {(0x4);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_QAS);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK () {(0xff00);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK () {(0xff0000);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_WIDE () {(0x20000000);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_WIDE);
    eval 'sub MPI_SCSIPORTPAGE0_CAP_AIP () {(0x80000000);}' unless defined(&MPI_SCSIPORTPAGE0_CAP_AIP);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_SIGNAL_TYPE_MASK () {(0x3);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_SIGNAL_TYPE_MASK);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_SIGNAL_HVD () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_SIGNAL_HVD);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_SIGNAL_SE () {(0x2);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_SIGNAL_SE);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD () {(0x3);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_MASK_CONNECTED_ID () {(0xff000000);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_MASK_CONNECTED_ID);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_SHIFT_CONNECTED_ID () {(24);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_SHIFT_CONNECTED_ID);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_BUS_FREE_CONNECTED_ID () {(0xfe);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_BUS_FREE_CONNECTED_ID);
    eval 'sub MPI_SCSIPORTPAGE0_PHY_UNKNOWN_CONNECTED_ID () {(0xff);}' unless defined(&MPI_SCSIPORTPAGE0_PHY_UNKNOWN_CONNECTED_ID);
    eval 'sub MPI_SCSIPORTPAGE1_PAGEVERSION () {(0x3);}' unless defined(&MPI_SCSIPORTPAGE1_PAGEVERSION);
    eval 'sub MPI_SCSIPORTPAGE1_CFG_PORT_SCSI_ID_MASK () {(0xff);}' unless defined(&MPI_SCSIPORTPAGE1_CFG_PORT_SCSI_ID_MASK);
    eval 'sub MPI_SCSIPORTPAGE1_CFG_PORT_RESPONSE_ID_MASK () {(0xffff0000);}' unless defined(&MPI_SCSIPORTPAGE1_CFG_PORT_RESPONSE_ID_MASK);
    eval 'sub MPI_SCSIPORTPAGE1_TARGCONFIG_TARG_ONLY () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE1_TARGCONFIG_TARG_ONLY);
    eval 'sub MPI_SCSIPORTPAGE1_TARGCONFIG_INIT_TARG () {(0x2);}' unless defined(&MPI_SCSIPORTPAGE1_TARGCONFIG_INIT_TARG);
    eval 'sub MPI_SCSIPORTPAGE2_PAGEVERSION () {(0x2);}' unless defined(&MPI_SCSIPORTPAGE2_PAGEVERSION);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_SCAN_HIGH_TO_LOW () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_SCAN_HIGH_TO_LOW);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_AVOID_SCSI_RESET () {(0x4);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_AVOID_SCSI_RESET);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_ALTERNATE_CHS () {(0x8);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_ALTERNATE_CHS);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_TERMINATION_DISABLE () {(0x10);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_TERMINATION_DISABLE);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_DV_MASK () {(0x60);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_DV_MASK);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_FULL_DV () {(0x);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_FULL_DV);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_BASIC_DV_ONLY () {(0x20);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_BASIC_DV_ONLY);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_FLAGS_OFF_DV () {(0x60);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_FLAGS_OFF_DV);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_HOST_ID_MASK () {(0xf);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_HOST_ID_MASK);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_MASK_INIT_HBA () {(0x30);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_MASK_INIT_HBA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_DISABLE_INIT_HBA () {(0x);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_DISABLE_INIT_HBA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_BIOS_INIT_HBA () {(0x10);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_BIOS_INIT_HBA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_OS_INIT_HBA () {(0x20);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_OS_INIT_HBA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_BIOS_OS_INIT_HBA () {(0x30);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_BIOS_OS_INIT_HBA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_REMOVABLE_MEDIA () {(0xc0);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_REMOVABLE_MEDIA);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_SPINUP_DELAY_MASK () {(0xf00);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_SPINUP_DELAY_MASK);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_MASK_NEGO_MASTER_SETTINGS () {(0x3000);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_MASK_NEGO_MASTER_SETTINGS);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_NEGO_MASTER_SETTINGS () {(0x);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_NEGO_MASTER_SETTINGS);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_NONE_MASTER_SETTINGS () {(0x1000);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_NONE_MASTER_SETTINGS);
    eval 'sub MPI_SCSIPORTPAGE2_PORT_ALL_MASTER_SETTINGS () {(0x3000);}' unless defined(&MPI_SCSIPORTPAGE2_PORT_ALL_MASTER_SETTINGS);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_DISCONNECT_ENABLE () {(0x1);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_DISCONNECT_ENABLE);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_ID_SCAN_ENABLE () {(0x2);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_ID_SCAN_ENABLE);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_LUN_SCAN_ENABLE () {(0x4);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_LUN_SCAN_ENABLE);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_TAG_QUEUE_ENABLE () {(0x8);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_TAG_QUEUE_ENABLE);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_WIDE_DISABLE () {(0x10);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_WIDE_DISABLE);
    eval 'sub MPI_SCSIPORTPAGE2_DEVICE_BOOT_CHOICE () {(0x20);}' unless defined(&MPI_SCSIPORTPAGE2_DEVICE_BOOT_CHOICE);
    eval 'sub MPI_SCSIDEVPAGE0_PAGEVERSION () {(0x3);}' unless defined(&MPI_SCSIDEVPAGE0_PAGEVERSION);
    eval 'sub MPI_SCSIDEVPAGE0_NP_IU () {(0x1);}' unless defined(&MPI_SCSIDEVPAGE0_NP_IU);
    eval 'sub MPI_SCSIDEVPAGE0_NP_DT () {(0x2);}' unless defined(&MPI_SCSIDEVPAGE0_NP_DT);
    eval 'sub MPI_SCSIDEVPAGE0_NP_QAS () {(0x4);}' unless defined(&MPI_SCSIDEVPAGE0_NP_QAS);
    eval 'sub MPI_SCSIDEVPAGE0_NP_HOLD_MCS () {(0x8);}' unless defined(&MPI_SCSIDEVPAGE0_NP_HOLD_MCS);
    eval 'sub MPI_SCSIDEVPAGE0_NP_WR_FLOW () {(0x10);}' unless defined(&MPI_SCSIDEVPAGE0_NP_WR_FLOW);
    eval 'sub MPI_SCSIDEVPAGE0_NP_RD_STRM () {(0x20);}' unless defined(&MPI_SCSIDEVPAGE0_NP_RD_STRM);
    eval 'sub MPI_SCSIDEVPAGE0_NP_RTI () {(0x40);}' unless defined(&MPI_SCSIDEVPAGE0_NP_RTI);
    eval 'sub MPI_SCSIDEVPAGE0_NP_PCOMP_EN () {(0x80);}' unless defined(&MPI_SCSIDEVPAGE0_NP_PCOMP_EN);
    eval 'sub MPI_SCSIDEVPAGE0_NP_NEG_SYNC_PERIOD_MASK () {(0xff00);}' unless defined(&MPI_SCSIDEVPAGE0_NP_NEG_SYNC_PERIOD_MASK);
    eval 'sub MPI_SCSIDEVPAGE0_NP_NEG_SYNC_OFFSET_MASK () {(0xff0000);}' unless defined(&MPI_SCSIDEVPAGE0_NP_NEG_SYNC_OFFSET_MASK);
    eval 'sub MPI_SCSIDEVPAGE0_NP_WIDE () {(0x20000000);}' unless defined(&MPI_SCSIDEVPAGE0_NP_WIDE);
    eval 'sub MPI_SCSIDEVPAGE0_NP_AIP () {(0x80000000);}' unless defined(&MPI_SCSIDEVPAGE0_NP_AIP);
    eval 'sub MPI_SCSIDEVPAGE0_INFO_PARAMS_NEGOTIATED () {(0x1);}' unless defined(&MPI_SCSIDEVPAGE0_INFO_PARAMS_NEGOTIATED);
    eval 'sub MPI_SCSIDEVPAGE0_INFO_SDTR_REJECTED () {(0x2);}' unless defined(&MPI_SCSIDEVPAGE0_INFO_SDTR_REJECTED);
    eval 'sub MPI_SCSIDEVPAGE0_INFO_WDTR_REJECTED () {(0x4);}' unless defined(&MPI_SCSIDEVPAGE0_INFO_WDTR_REJECTED);
    eval 'sub MPI_SCSIDEVPAGE0_INFO_PPR_REJECTED () {(0x8);}' unless defined(&MPI_SCSIDEVPAGE0_INFO_PPR_REJECTED);
    eval 'sub MPI_SCSIDEVPAGE1_PAGEVERSION () {(0x4);}' unless defined(&MPI_SCSIDEVPAGE1_PAGEVERSION);
    eval 'sub MPI_SCSIDEVPAGE1_RP_IU () {(0x1);}' unless defined(&MPI_SCSIDEVPAGE1_RP_IU);
    eval 'sub MPI_SCSIDEVPAGE1_RP_DT () {(0x2);}' unless defined(&MPI_SCSIDEVPAGE1_RP_DT);
    eval 'sub MPI_SCSIDEVPAGE1_RP_QAS () {(0x4);}' unless defined(&MPI_SCSIDEVPAGE1_RP_QAS);
    eval 'sub MPI_SCSIDEVPAGE1_RP_HOLD_MCS () {(0x8);}' unless defined(&MPI_SCSIDEVPAGE1_RP_HOLD_MCS);
    eval 'sub MPI_SCSIDEVPAGE1_RP_WR_FLOW () {(0x10);}' unless defined(&MPI_SCSIDEVPAGE1_RP_WR_FLOW);
    eval 'sub MPI_SCSIDEVPAGE1_RP_RD_STRM () {(0x20);}' unless defined(&MPI_SCSIDEVPAGE1_RP_RD_STRM);
    eval 'sub MPI_SCSIDEVPAGE1_RP_RTI () {(0x40);}' unless defined(&MPI_SCSIDEVPAGE1_RP_RTI);
    eval 'sub MPI_SCSIDEVPAGE1_RP_PCOMP_EN () {(0x80);}' unless defined(&MPI_SCSIDEVPAGE1_RP_PCOMP_EN);
    eval 'sub MPI_SCSIDEVPAGE1_RP_MIN_SYNC_PERIOD_MASK () {(0xff00);}' unless defined(&MPI_SCSIDEVPAGE1_RP_MIN_SYNC_PERIOD_MASK);
    eval 'sub MPI_SCSIDEVPAGE1_RP_MAX_SYNC_OFFSET_MASK () {(0xff0000);}' unless defined(&MPI_SCSIDEVPAGE1_RP_MAX_SYNC_OFFSET_MASK);
    eval 'sub MPI_SCSIDEVPAGE1_RP_WIDE () {(0x20000000);}' unless defined(&MPI_SCSIDEVPAGE1_RP_WIDE);
    eval 'sub MPI_SCSIDEVPAGE1_RP_AIP () {(0x80000000);}' unless defined(&MPI_SCSIDEVPAGE1_RP_AIP);
    eval 'sub MPI_SCSIDEVPAGE1_CONF_WDTR_DISALLOWED () {(0x2);}' unless defined(&MPI_SCSIDEVPAGE1_CONF_WDTR_DISALLOWED);
    eval 'sub MPI_SCSIDEVPAGE1_CONF_SDTR_DISALLOWED () {(0x4);}' unless defined(&MPI_SCSIDEVPAGE1_CONF_SDTR_DISALLOWED);
    eval 'sub MPI_SCSIDEVPAGE1_CONF_EXTENDED_PARAMS_ENABLE () {(0x8);}' unless defined(&MPI_SCSIDEVPAGE1_CONF_EXTENDED_PARAMS_ENABLE);
    eval 'sub MPI_SCSIDEVPAGE1_CONF_FORCE_PPR_MSG () {(0x10);}' unless defined(&MPI_SCSIDEVPAGE1_CONF_FORCE_PPR_MSG);
    eval 'sub MPI_SCSIDEVPAGE2_PAGEVERSION () {(0x1);}' unless defined(&MPI_SCSIDEVPAGE2_PAGEVERSION);
    eval 'sub MPI_SCSIDEVPAGE2_DV_ISI_ENABLE () {(0x10);}' unless defined(&MPI_SCSIDEVPAGE2_DV_ISI_ENABLE);
    eval 'sub MPI_SCSIDEVPAGE2_DV_SECONDARY_DRIVER_ENABLE () {(0x20);}' unless defined(&MPI_SCSIDEVPAGE2_DV_SECONDARY_DRIVER_ENABLE);
    eval 'sub MPI_SCSIDEVPAGE2_DV_SLEW_RATE_CTRL () {(0x380);}' unless defined(&MPI_SCSIDEVPAGE2_DV_SLEW_RATE_CTRL);
    eval 'sub MPI_SCSIDEVPAGE2_DV_PRIM_DRIVE_STR_CTRL () {(0x1c00);}' unless defined(&MPI_SCSIDEVPAGE2_DV_PRIM_DRIVE_STR_CTRL);
    eval 'sub MPI_SCSIDEVPAGE2_DV_SECOND_DRIVE_STR_CTRL () {(0xe000);}' unless defined(&MPI_SCSIDEVPAGE2_DV_SECOND_DRIVE_STR_CTRL);
    eval 'sub MPI_SCSIDEVPAGE2_DV_XCLKH_ST () {(0x10000000);}' unless defined(&MPI_SCSIDEVPAGE2_DV_XCLKH_ST);
    eval 'sub MPI_SCSIDEVPAGE2_DV_XCLKS_ST () {(0x20000000);}' unless defined(&MPI_SCSIDEVPAGE2_DV_XCLKS_ST);
    eval 'sub MPI_SCSIDEVPAGE2_DV_XCLKH_DT () {(0x40000000);}' unless defined(&MPI_SCSIDEVPAGE2_DV_XCLKH_DT);
    eval 'sub MPI_SCSIDEVPAGE2_DV_XCLKS_DT () {(0x80000000);}' unless defined(&MPI_SCSIDEVPAGE2_DV_XCLKS_DT);
    eval 'sub MPI_SCSIDEVPAGE2_PPS_PPS_MASK () {(0x3);}' unless defined(&MPI_SCSIDEVPAGE2_PPS_PPS_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_0_PL_SELECT_MASK () {(0x3);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_0_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_1_PL_SELECT_MASK () {(0xc);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_1_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_2_PL_SELECT_MASK () {(0x30);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_2_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_3_PL_SELECT_MASK () {(0xc0);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_3_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_4_PL_SELECT_MASK () {(0x300);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_4_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_5_PL_SELECT_MASK () {(0xc00);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_5_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_6_PL_SELECT_MASK () {(0x3000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_6_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_7_PL_SELECT_MASK () {(0xc000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_7_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_8_PL_SELECT_MASK () {(0x30000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_8_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_9_PL_SELECT_MASK () {(0xc0000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_9_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_10_PL_SELECT_MASK () {(0x300000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_10_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_11_PL_SELECT_MASK () {(0xc00000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_11_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_12_PL_SELECT_MASK () {(0x3000000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_12_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_13_PL_SELECT_MASK () {(0xc000000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_13_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_14_PL_SELECT_MASK () {(0x30000000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_14_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE2_DPS_BIT_15_PL_SELECT_MASK () {(0xc0000000);}' unless defined(&MPI_SCSIDEVPAGE2_DPS_BIT_15_PL_SELECT_MASK);
    eval 'sub MPI_SCSIDEVPAGE3_PAGEVERSION () {(0x);}' unless defined(&MPI_SCSIDEVPAGE3_PAGEVERSION);
    eval 'sub MPI_SCSIDEVPAGE3_MAX_COUNTER () {(0xfffe);}' unless defined(&MPI_SCSIDEVPAGE3_MAX_COUNTER);
    eval 'sub MPI_SCSIDEVPAGE3_UNSUPPORTED_COUNTER () {(0xffff);}' unless defined(&MPI_SCSIDEVPAGE3_UNSUPPORTED_COUNTER);
    eval 'sub MPI_FCPORTPAGE0_PAGEVERSION () {(0x2);}' unless defined(&MPI_FCPORTPAGE0_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_PROT_MASK () {(0xf);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_PROT_MASK);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_PROT_FCP_INIT () {( &MPI_PORTFACTS_PROTOCOL_INITIATOR);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_PROT_FCP_INIT);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_PROT_FCP_TARG () {( &MPI_PORTFACTS_PROTOCOL_TARGET);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_PROT_FCP_TARG);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_PROT_LAN () {( &MPI_PORTFACTS_PROTOCOL_LAN);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_PROT_LAN);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_PROT_LOGBUSADDR () {( &MPI_PORTFACTS_PROTOCOL_LOGBUSADDR);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_PROT_LOGBUSADDR);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ALIAS_ALPA_SUPPORTED () {(0x10);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ALIAS_ALPA_SUPPORTED);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ALIAS_WWN_SUPPORTED () {(0x20);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ALIAS_WWN_SUPPORTED);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_FABRIC_WWN_VALID () {(0x40);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_FABRIC_WWN_VALID);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK () {(0xf00);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT () {(0x);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_POINT_TO_POINT () {(0x100);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_POINT_TO_POINT);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_PRIVATE_LOOP () {(0x200);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_PRIVATE_LOOP);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_FABRIC_DIRECT () {(0x400);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_FABRIC_DIRECT);
    eval 'sub MPI_FCPORTPAGE0_FLAGS_ATTACH_PUBLIC_LOOP () {(0x800);}' unless defined(&MPI_FCPORTPAGE0_FLAGS_ATTACH_PUBLIC_LOOP);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_RESERVED () {(0x);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_RESERVED);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_OTHER () {(0x1);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_OTHER);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_UNKNOWN () {(0x2);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_UNKNOWN);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_COPPER () {(0x3);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_COPPER);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_SINGLE_1300 () {(0x4);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_SINGLE_1300);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_SINGLE_1500 () {(0x5);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_SINGLE_1500);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_50_LASER_MULTI () {(0x6);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_50_LASER_MULTI);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_50_LED_MULTI () {(0x7);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_50_LED_MULTI);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_62_LASER_MULTI () {(0x8);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_62_LASER_MULTI);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_62_LED_MULTI () {(0x9);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_62_LED_MULTI);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_MULTI_LONG_WAVE () {(0xa);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_MULTI_LONG_WAVE);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_MULTI_SHORT_WAVE () {(0xb);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_MULTI_SHORT_WAVE);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_LASER_SHORT_WAVE () {(0xc);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_LASER_SHORT_WAVE);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_LED_SHORT_WAVE () {(0xd);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_LED_SHORT_WAVE);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_1300_LONG_WAVE () {(0xe);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_1300_LONG_WAVE);
    eval 'sub MPI_FCPORTPAGE0_LTYPE_1500_LONG_WAVE () {(0xf);}' unless defined(&MPI_FCPORTPAGE0_LTYPE_1500_LONG_WAVE);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN () {(0x1);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_ONLINE () {(0x2);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_ONLINE);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_OFFLINE () {(0x3);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_OFFLINE);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_BYPASSED () {(0x4);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_BYPASSED);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_DIAGNOST () {(0x5);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_DIAGNOST);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_LINKDOWN () {(0x6);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_LINKDOWN);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_ERROR () {(0x7);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_ERROR);
    eval 'sub MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK () {(0x8);}' unless defined(&MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_CLASS_1 () {(0x1);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_CLASS_1);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_CLASS_2 () {(0x2);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_CLASS_2);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_CLASS_3 () {(0x4);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_CLASS_3);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED () {(0x1);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED () {(0x2);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED);
    eval 'sub MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED () {(0x4);}' unless defined(&MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED);
    eval 'sub MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT () { &MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED;}' unless defined(&MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT);
    eval 'sub MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT () { &MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED;}' unless defined(&MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT);
    eval 'sub MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT () { &MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED;}' unless defined(&MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT);
    eval 'sub MPI_FCPORTPAGE1_PAGEVERSION () {(0x6);}' unless defined(&MPI_FCPORTPAGE1_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_EXT_FCP_STATUS_EN () {(0x8000000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_EXT_FCP_STATUS_EN);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_IMMEDIATE_ERROR_REPLY () {(0x4000000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_IMMEDIATE_ERROR_REPLY);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_FORCE_USE_NOSEEPROM_WWNS () {(0x2000000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_FORCE_USE_NOSEEPROM_WWNS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_VERBOSE_RESCAN_EVENTS () {(0x1000000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_VERBOSE_RESCAN_EVENTS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_TARGET_MODE_OXID () {(0x800000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_TARGET_MODE_OXID);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PORT_OFFLINE () {(0x400000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PORT_OFFLINE);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_SOFT_ALPA_FALLBACK () {(0x200000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_SOFT_ALPA_FALLBACK);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_MASK_RR_TOV_UNITS () {(0x70);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_MASK_RR_TOV_UNITS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_SUPPRESS_PROT_REG () {(0x8);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_SUPPRESS_PROT_REG);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PLOGI_ON_LOGO () {(0x4);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PLOGI_ON_LOGO);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_MAINTAIN_LOGINS () {(0x2);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_MAINTAIN_LOGINS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_SORT_BY_DID () {(0x1);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_SORT_BY_DID);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_SORT_BY_WWN () {(0x);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_SORT_BY_WWN);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_MASK () {(0xf0000000);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_MASK);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT () {(28);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_FCP_INIT () {(( &U32) &MPI_PORTFACTS_PROTOCOL_INITIATOR <<  &MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_FCP_INIT);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_FCP_TARG () {(( &U32) &MPI_PORTFACTS_PROTOCOL_TARGET <<  &MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_FCP_TARG);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_LAN () {(( &U32) &MPI_PORTFACTS_PROTOCOL_LAN <<  &MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_LAN);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_PROT_LOGBUSADDR () {(( &U32) &MPI_PORTFACTS_PROTOCOL_LOGBUSADDR <<  &MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_PROT_LOGBUSADDR);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_NONE_RR_TOV_UNITS () {(0x);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_NONE_RR_TOV_UNITS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_THOUSANDTH_RR_TOV_UNITS () {(0x10);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_THOUSANDTH_RR_TOV_UNITS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_TENTH_RR_TOV_UNITS () {(0x30);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_TENTH_RR_TOV_UNITS);
    eval 'sub MPI_FCPORTPAGE1_FLAGS_TEN_RR_TOV_UNITS () {(0x50);}' unless defined(&MPI_FCPORTPAGE1_FLAGS_TEN_RR_TOV_UNITS);
    eval 'sub MPI_FCPORTPAGE1_HARD_ALPA_NOT_USED () {(0xff);}' unless defined(&MPI_FCPORTPAGE1_HARD_ALPA_NOT_USED);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_MASK () {(0xf);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_MASK);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_1GIG () {(0x);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_1GIG);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_2GIG () {(0x1);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_2GIG);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_4GIG () {(0x2);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_4GIG);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_10GIG () {(0x3);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_10GIG);
    eval 'sub MPI_FCPORTPAGE1_LCONFIG_SPEED_AUTO () {(0xf);}' unless defined(&MPI_FCPORTPAGE1_LCONFIG_SPEED_AUTO);
    eval 'sub MPI_FCPORTPAGE1_TOPOLOGY_MASK () {(0xf);}' unless defined(&MPI_FCPORTPAGE1_TOPOLOGY_MASK);
    eval 'sub MPI_FCPORTPAGE1_TOPOLOGY_NLPORT () {(0x1);}' unless defined(&MPI_FCPORTPAGE1_TOPOLOGY_NLPORT);
    eval 'sub MPI_FCPORTPAGE1_TOPOLOGY_NPORT () {(0x2);}' unless defined(&MPI_FCPORTPAGE1_TOPOLOGY_NPORT);
    eval 'sub MPI_FCPORTPAGE1_TOPOLOGY_AUTO () {(0xf);}' unless defined(&MPI_FCPORTPAGE1_TOPOLOGY_AUTO);
    eval 'sub MPI_FCPORTPAGE1_ALT_CONN_UNKNOWN () {(0x);}' unless defined(&MPI_FCPORTPAGE1_ALT_CONN_UNKNOWN);
    eval 'sub MPI_FCPORTPAGE1_INITIATOR_DEV_TIMEOUT_MASK () {(0x7f);}' unless defined(&MPI_FCPORTPAGE1_INITIATOR_DEV_TIMEOUT_MASK);
    eval 'sub MPI_FCPORTPAGE1_INITIATOR_DEV_UNIT_16 () {(0x80);}' unless defined(&MPI_FCPORTPAGE1_INITIATOR_DEV_UNIT_16);
    eval 'sub MPI_FCPORTPAGE2_PAGEVERSION () {(0x1);}' unless defined(&MPI_FCPORTPAGE2_PAGEVERSION);
    eval 'sub MPI_PERSISTENT_FLAGS_SHIFT () {(16);}' unless defined(&MPI_PERSISTENT_FLAGS_SHIFT);
    eval 'sub MPI_PERSISTENT_FLAGS_ENTRY_VALID () {(0x1);}' unless defined(&MPI_PERSISTENT_FLAGS_ENTRY_VALID);
    eval 'sub MPI_PERSISTENT_FLAGS_SCAN_ID () {(0x2);}' unless defined(&MPI_PERSISTENT_FLAGS_SCAN_ID);
    eval 'sub MPI_PERSISTENT_FLAGS_SCAN_LUNS () {(0x4);}' unless defined(&MPI_PERSISTENT_FLAGS_SCAN_LUNS);
    eval 'sub MPI_PERSISTENT_FLAGS_BOOT_DEVICE () {(0x8);}' unless defined(&MPI_PERSISTENT_FLAGS_BOOT_DEVICE);
    eval 'sub MPI_PERSISTENT_FLAGS_BY_DID () {(0x80);}' unless defined(&MPI_PERSISTENT_FLAGS_BY_DID);
    unless(defined(&MPI_FC_PORT_PAGE_3_ENTRY_MAX)) {
	eval 'sub MPI_FC_PORT_PAGE_3_ENTRY_MAX () {(1);}' unless defined(&MPI_FC_PORT_PAGE_3_ENTRY_MAX);
    }
    eval 'sub MPI_FCPORTPAGE3_PAGEVERSION () {(0x1);}' unless defined(&MPI_FCPORTPAGE3_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE4_PAGEVERSION () {(0x);}' unless defined(&MPI_FCPORTPAGE4_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE4_PORT_FLAGS_ALTERNATE_CHS () {(0x8);}' unless defined(&MPI_FCPORTPAGE4_PORT_FLAGS_ALTERNATE_CHS);
    eval 'sub MPI_FCPORTPAGE4_PORT_MASK_INIT_HBA () {(0x30);}' unless defined(&MPI_FCPORTPAGE4_PORT_MASK_INIT_HBA);
    eval 'sub MPI_FCPORTPAGE4_PORT_DISABLE_INIT_HBA () {(0x);}' unless defined(&MPI_FCPORTPAGE4_PORT_DISABLE_INIT_HBA);
    eval 'sub MPI_FCPORTPAGE4_PORT_BIOS_INIT_HBA () {(0x10);}' unless defined(&MPI_FCPORTPAGE4_PORT_BIOS_INIT_HBA);
    eval 'sub MPI_FCPORTPAGE4_PORT_OS_INIT_HBA () {(0x20);}' unless defined(&MPI_FCPORTPAGE4_PORT_OS_INIT_HBA);
    eval 'sub MPI_FCPORTPAGE4_PORT_BIOS_OS_INIT_HBA () {(0x30);}' unless defined(&MPI_FCPORTPAGE4_PORT_BIOS_OS_INIT_HBA);
    eval 'sub MPI_FCPORTPAGE4_PORT_REMOVABLE_MEDIA () {(0xc0);}' unless defined(&MPI_FCPORTPAGE4_PORT_REMOVABLE_MEDIA);
    eval 'sub MPI_FCPORTPAGE4_PORT_SPINUP_DELAY_MASK () {(0xf00);}' unless defined(&MPI_FCPORTPAGE4_PORT_SPINUP_DELAY_MASK);
    eval 'sub MPI_FCPORTPAGE5_PAGEVERSION () {(0x2);}' unless defined(&MPI_FCPORTPAGE5_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE5_FLAGS_ALPA_ACQUIRED () {(0x1);}' unless defined(&MPI_FCPORTPAGE5_FLAGS_ALPA_ACQUIRED);
    eval 'sub MPI_FCPORTPAGE5_FLAGS_HARD_ALPA () {(0x2);}' unless defined(&MPI_FCPORTPAGE5_FLAGS_HARD_ALPA);
    eval 'sub MPI_FCPORTPAGE5_FLAGS_HARD_WWNN () {(0x4);}' unless defined(&MPI_FCPORTPAGE5_FLAGS_HARD_WWNN);
    eval 'sub MPI_FCPORTPAGE5_FLAGS_HARD_WWPN () {(0x8);}' unless defined(&MPI_FCPORTPAGE5_FLAGS_HARD_WWPN);
    eval 'sub MPI_FCPORTPAGE5_FLAGS_DISABLE () {(0x10);}' unless defined(&MPI_FCPORTPAGE5_FLAGS_DISABLE);
    eval 'sub MPI_FCPORTPAGE6_PAGEVERSION () {(0x);}' unless defined(&MPI_FCPORTPAGE6_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE7_PAGEVERSION () {(0x);}' unless defined(&MPI_FCPORTPAGE7_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE8_PAGEVERSION () {(0x);}' unless defined(&MPI_FCPORTPAGE8_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE9_PAGEVERSION () {(0x);}' unless defined(&MPI_FCPORTPAGE9_PAGEVERSION);
    eval 'sub MPI_FCPORT10_BASE_ID_UNKNOWN () {(0x);}' unless defined(&MPI_FCPORT10_BASE_ID_UNKNOWN);
    eval 'sub MPI_FCPORT10_BASE_ID_GBIC () {(0x1);}' unless defined(&MPI_FCPORT10_BASE_ID_GBIC);
    eval 'sub MPI_FCPORT10_BASE_ID_FIXED () {(0x2);}' unless defined(&MPI_FCPORT10_BASE_ID_FIXED);
    eval 'sub MPI_FCPORT10_BASE_ID_SFP () {(0x3);}' unless defined(&MPI_FCPORT10_BASE_ID_SFP);
    eval 'sub MPI_FCPORT10_BASE_ID_SFP_MIN () {(0x4);}' unless defined(&MPI_FCPORT10_BASE_ID_SFP_MIN);
    eval 'sub MPI_FCPORT10_BASE_ID_SFP_MAX () {(0x7f);}' unless defined(&MPI_FCPORT10_BASE_ID_SFP_MAX);
    eval 'sub MPI_FCPORT10_BASE_ID_VEND_SPEC_MASK () {(0x80);}' unless defined(&MPI_FCPORT10_BASE_ID_VEND_SPEC_MASK);
    eval 'sub MPI_FCPORT10_BASE_EXTID_UNKNOWN () {(0x);}' unless defined(&MPI_FCPORT10_BASE_EXTID_UNKNOWN);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF1 () {(0x1);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF1);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF2 () {(0x2);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF2);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF3 () {(0x3);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF3);
    eval 'sub MPI_FCPORT10_BASE_EXTID_SEEPROM () {(0x4);}' unless defined(&MPI_FCPORT10_BASE_EXTID_SEEPROM);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF5 () {(0x5);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF5);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF6 () {(0x6);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF6);
    eval 'sub MPI_FCPORT10_BASE_EXTID_MODDEF7 () {(0x7);}' unless defined(&MPI_FCPORT10_BASE_EXTID_MODDEF7);
    eval 'sub MPI_FCPORT10_BASE_EXTID_VNDSPC_MASK () {(0x80);}' unless defined(&MPI_FCPORT10_BASE_EXTID_VNDSPC_MASK);
    eval 'sub MPI_FCPORT10_BASE_CONN_UNKNOWN () {(0x);}' unless defined(&MPI_FCPORT10_BASE_CONN_UNKNOWN);
    eval 'sub MPI_FCPORT10_BASE_CONN_SC () {(0x1);}' unless defined(&MPI_FCPORT10_BASE_CONN_SC);
    eval 'sub MPI_FCPORT10_BASE_CONN_COPPER1 () {(0x2);}' unless defined(&MPI_FCPORT10_BASE_CONN_COPPER1);
    eval 'sub MPI_FCPORT10_BASE_CONN_COPPER2 () {(0x3);}' unless defined(&MPI_FCPORT10_BASE_CONN_COPPER2);
    eval 'sub MPI_FCPORT10_BASE_CONN_BNC_TNC () {(0x4);}' unless defined(&MPI_FCPORT10_BASE_CONN_BNC_TNC);
    eval 'sub MPI_FCPORT10_BASE_CONN_COAXIAL () {(0x5);}' unless defined(&MPI_FCPORT10_BASE_CONN_COAXIAL);
    eval 'sub MPI_FCPORT10_BASE_CONN_FIBERJACK () {(0x6);}' unless defined(&MPI_FCPORT10_BASE_CONN_FIBERJACK);
    eval 'sub MPI_FCPORT10_BASE_CONN_LC () {(0x7);}' unless defined(&MPI_FCPORT10_BASE_CONN_LC);
    eval 'sub MPI_FCPORT10_BASE_CONN_MT_RJ () {(0x8);}' unless defined(&MPI_FCPORT10_BASE_CONN_MT_RJ);
    eval 'sub MPI_FCPORT10_BASE_CONN_MU () {(0x9);}' unless defined(&MPI_FCPORT10_BASE_CONN_MU);
    eval 'sub MPI_FCPORT10_BASE_CONN_SG () {(0xa);}' unless defined(&MPI_FCPORT10_BASE_CONN_SG);
    eval 'sub MPI_FCPORT10_BASE_CONN_OPT_PIGT () {(0xb);}' unless defined(&MPI_FCPORT10_BASE_CONN_OPT_PIGT);
    eval 'sub MPI_FCPORT10_BASE_CONN_RSV1_MIN () {(0xc);}' unless defined(&MPI_FCPORT10_BASE_CONN_RSV1_MIN);
    eval 'sub MPI_FCPORT10_BASE_CONN_RSV1_MAX () {(0x1f);}' unless defined(&MPI_FCPORT10_BASE_CONN_RSV1_MAX);
    eval 'sub MPI_FCPORT10_BASE_CONN_HSSDC_II () {(0x20);}' unless defined(&MPI_FCPORT10_BASE_CONN_HSSDC_II);
    eval 'sub MPI_FCPORT10_BASE_CONN_CPR_PIGT () {(0x21);}' unless defined(&MPI_FCPORT10_BASE_CONN_CPR_PIGT);
    eval 'sub MPI_FCPORT10_BASE_CONN_RSV2_MIN () {(0x22);}' unless defined(&MPI_FCPORT10_BASE_CONN_RSV2_MIN);
    eval 'sub MPI_FCPORT10_BASE_CONN_RSV2_MAX () {(0x7f);}' unless defined(&MPI_FCPORT10_BASE_CONN_RSV2_MAX);
    eval 'sub MPI_FCPORT10_BASE_CONN_VNDSPC_MASK () {(0x80);}' unless defined(&MPI_FCPORT10_BASE_CONN_VNDSPC_MASK);
    eval 'sub MPI_FCPORT10_BASE_ENCODE_UNSPEC () {(0x);}' unless defined(&MPI_FCPORT10_BASE_ENCODE_UNSPEC);
    eval 'sub MPI_FCPORT10_BASE_ENCODE_8B10B () {(0x1);}' unless defined(&MPI_FCPORT10_BASE_ENCODE_8B10B);
    eval 'sub MPI_FCPORT10_BASE_ENCODE_4B5B () {(0x2);}' unless defined(&MPI_FCPORT10_BASE_ENCODE_4B5B);
    eval 'sub MPI_FCPORT10_BASE_ENCODE_NRZ () {(0x3);}' unless defined(&MPI_FCPORT10_BASE_ENCODE_NRZ);
    eval 'sub MPI_FCPORT10_BASE_ENCODE_MANCHESTER () {(0x4);}' unless defined(&MPI_FCPORT10_BASE_ENCODE_MANCHESTER);
    eval 'sub MPI_FCPORT10_EXT_OPTION1_RATESEL () {(0x20);}' unless defined(&MPI_FCPORT10_EXT_OPTION1_RATESEL);
    eval 'sub MPI_FCPORT10_EXT_OPTION1_TX_DISABLE () {(0x10);}' unless defined(&MPI_FCPORT10_EXT_OPTION1_TX_DISABLE);
    eval 'sub MPI_FCPORT10_EXT_OPTION1_TX_FAULT () {(0x8);}' unless defined(&MPI_FCPORT10_EXT_OPTION1_TX_FAULT);
    eval 'sub MPI_FCPORT10_EXT_OPTION1_LOS_INVERT () {(0x4);}' unless defined(&MPI_FCPORT10_EXT_OPTION1_LOS_INVERT);
    eval 'sub MPI_FCPORT10_EXT_OPTION1_LOS () {(0x2);}' unless defined(&MPI_FCPORT10_EXT_OPTION1_LOS);
    eval 'sub MPI_FCPORTPAGE10_PAGEVERSION () {(0x1);}' unless defined(&MPI_FCPORTPAGE10_PAGEVERSION);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_MASK () {(0x7);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_MASK);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF2 () {(0x1);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF2);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF1 () {(0x2);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF1);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF0 () {(0x4);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF0);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_NOGBIC () {(0x7);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_NOGBIC);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_CPR_IEEE_CX () {(0x6);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_CPR_IEEE_CX);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_COPPER () {(0x5);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_COPPER);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_OPTICAL_LW () {(0x4);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_OPTICAL_LW);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_SEEPROM () {(0x3);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_SEEPROM);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_SW_OPTICAL () {(0x2);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_SW_OPTICAL);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_LX_IEEE_OPT_LW () {(0x1);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_LX_IEEE_OPT_LW);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_MODDEF_SX_IEEE_OPT_SW () {(0x);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_MODDEF_SX_IEEE_OPT_SW);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_CC_BASE_OK () {(0x10);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_CC_BASE_OK);
    eval 'sub MPI_FCPORTPAGE10_FLAGS_CC_EXT_OK () {(0x20);}' unless defined(&MPI_FCPORTPAGE10_FLAGS_CC_EXT_OK);
    eval 'sub MPI_FC_DEVICE_PAGE0_PAGEVERSION () {(0x3);}' unless defined(&MPI_FC_DEVICE_PAGE0_PAGEVERSION);
    eval 'sub MPI_FC_DEVICE_PAGE0_FLAGS_TARGETID_BUS_VALID () {(0x1);}' unless defined(&MPI_FC_DEVICE_PAGE0_FLAGS_TARGETID_BUS_VALID);
    eval 'sub MPI_FC_DEVICE_PAGE0_FLAGS_PLOGI_INVALID () {(0x2);}' unless defined(&MPI_FC_DEVICE_PAGE0_FLAGS_PLOGI_INVALID);
    eval 'sub MPI_FC_DEVICE_PAGE0_FLAGS_PRLI_INVALID () {(0x4);}' unless defined(&MPI_FC_DEVICE_PAGE0_FLAGS_PRLI_INVALID);
    eval 'sub MPI_FC_DEVICE_PAGE0_PROT_IP () {(0x1);}' unless defined(&MPI_FC_DEVICE_PAGE0_PROT_IP);
    eval 'sub MPI_FC_DEVICE_PAGE0_PROT_FCP_TARGET () {(0x2);}' unless defined(&MPI_FC_DEVICE_PAGE0_PROT_FCP_TARGET);
    eval 'sub MPI_FC_DEVICE_PAGE0_PROT_FCP_INITIATOR () {(0x4);}' unless defined(&MPI_FC_DEVICE_PAGE0_PROT_FCP_INITIATOR);
    eval 'sub MPI_FC_DEVICE_PAGE0_PROT_FCP_RETRY () {(0x8);}' unless defined(&MPI_FC_DEVICE_PAGE0_PROT_FCP_RETRY);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_PORT_MASK () {( &MPI_FC_DEVICE_PGAD_PORT_MASK);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_PORT_MASK);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_FORM_MASK () {( &MPI_FC_DEVICE_PGAD_FORM_MASK);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_FORM_MASK);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_FORM_NEXT_DID () {( &MPI_FC_DEVICE_PGAD_FORM_NEXT_DID);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_FORM_NEXT_DID);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_FORM_BUS_TID () {( &MPI_FC_DEVICE_PGAD_FORM_BUS_TID);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_FORM_BUS_TID);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_DID_MASK () {( &MPI_FC_DEVICE_PGAD_ND_DID_MASK);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_DID_MASK);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_BUS_MASK () {( &MPI_FC_DEVICE_PGAD_BT_BUS_MASK);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_BUS_MASK);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_BUS_SHIFT () {( &MPI_FC_DEVICE_PGAD_BT_BUS_SHIFT);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_BUS_SHIFT);
    eval 'sub MPI_FC_DEVICE_PAGE0_PGAD_TID_MASK () {( &MPI_FC_DEVICE_PGAD_BT_TID_MASK);}' unless defined(&MPI_FC_DEVICE_PAGE0_PGAD_TID_MASK);
    eval 'sub MPI_FC_DEVICE_PAGE0_HARD_ALPA_UNKNOWN () {(0xff);}' unless defined(&MPI_FC_DEVICE_PAGE0_HARD_ALPA_UNKNOWN);
    eval 'sub MPI_RAIDVOL0_PHYSDISK_PRIMARY () {(0x1);}' unless defined(&MPI_RAIDVOL0_PHYSDISK_PRIMARY);
    eval 'sub MPI_RAIDVOL0_PHYSDISK_SECONDARY () {(0x2);}' unless defined(&MPI_RAIDVOL0_PHYSDISK_SECONDARY);
    eval 'sub MPI_RAIDVOL0_STATUS_FLAG_ENABLED () {(0x1);}' unless defined(&MPI_RAIDVOL0_STATUS_FLAG_ENABLED);
    eval 'sub MPI_RAIDVOL0_STATUS_FLAG_QUIESCED () {(0x2);}' unless defined(&MPI_RAIDVOL0_STATUS_FLAG_QUIESCED);
    eval 'sub MPI_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS () {(0x4);}' unless defined(&MPI_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS);
    eval 'sub MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE () {(0x8);}' unless defined(&MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE);
    eval 'sub MPI_RAIDVOL0_STATUS_STATE_OPTIMAL () {(0x);}' unless defined(&MPI_RAIDVOL0_STATUS_STATE_OPTIMAL);
    eval 'sub MPI_RAIDVOL0_STATUS_STATE_DEGRADED () {(0x1);}' unless defined(&MPI_RAIDVOL0_STATUS_STATE_DEGRADED);
    eval 'sub MPI_RAIDVOL0_STATUS_STATE_FAILED () {(0x2);}' unless defined(&MPI_RAIDVOL0_STATUS_STATE_FAILED);
    eval 'sub MPI_RAIDVOL0_SETTING_WRITE_CACHING_ENABLE () {(0x1);}' unless defined(&MPI_RAIDVOL0_SETTING_WRITE_CACHING_ENABLE);
    eval 'sub MPI_RAIDVOL0_SETTING_OFFLINE_ON_SMART () {(0x2);}' unless defined(&MPI_RAIDVOL0_SETTING_OFFLINE_ON_SMART);
    eval 'sub MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE () {(0x4);}' unless defined(&MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE);
    eval 'sub MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC () {(0x8);}' unless defined(&MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC);
    eval 'sub MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX () {(0x10);}' unless defined(&MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX);
    eval 'sub MPI_RAIDVOL0_SETTING_USE_DEFAULTS () {(0x8000);}' unless defined(&MPI_RAIDVOL0_SETTING_USE_DEFAULTS);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_0 () {(0x1);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_0);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_1 () {(0x2);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_1);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_2 () {(0x4);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_2);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_3 () {(0x8);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_3);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_4 () {(0x10);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_4);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_5 () {(0x20);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_5);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_6 () {(0x40);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_6);
    eval 'sub MPI_RAID_HOT_SPARE_POOL_7 () {(0x80);}' unless defined(&MPI_RAID_HOT_SPARE_POOL_7);
    unless(defined(&MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX)) {
	eval 'sub MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX () {(1);}' unless defined(&MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX);
    }
    eval 'sub MPI_RAIDVOLPAGE0_PAGEVERSION () {(0x1);}' unless defined(&MPI_RAIDVOLPAGE0_PAGEVERSION);
    eval 'sub MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC () {(0x1);}' unless defined(&MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC);
    eval 'sub MPI_PHYSDISK0_STATUS_FLAG_QUIESCED () {(0x2);}' unless defined(&MPI_PHYSDISK0_STATUS_FLAG_QUIESCED);
    eval 'sub MPI_PHYSDISK0_STATUS_ONLINE () {(0x);}' unless defined(&MPI_PHYSDISK0_STATUS_ONLINE);
    eval 'sub MPI_PHYSDISK0_STATUS_MISSING () {(0x1);}' unless defined(&MPI_PHYSDISK0_STATUS_MISSING);
    eval 'sub MPI_PHYSDISK0_STATUS_NOT_COMPATIBLE () {(0x2);}' unless defined(&MPI_PHYSDISK0_STATUS_NOT_COMPATIBLE);
    eval 'sub MPI_PHYSDISK0_STATUS_FAILED () {(0x3);}' unless defined(&MPI_PHYSDISK0_STATUS_FAILED);
    eval 'sub MPI_PHYSDISK0_STATUS_INITIALIZING () {(0x4);}' unless defined(&MPI_PHYSDISK0_STATUS_INITIALIZING);
    eval 'sub MPI_PHYSDISK0_STATUS_OFFLINE_REQUESTED () {(0x5);}' unless defined(&MPI_PHYSDISK0_STATUS_OFFLINE_REQUESTED);
    eval 'sub MPI_PHYSDISK0_STATUS_FAILED_REQUESTED () {(0x6);}' unless defined(&MPI_PHYSDISK0_STATUS_FAILED_REQUESTED);
    eval 'sub MPI_PHYSDISK0_STATUS_OTHER_OFFLINE () {(0xff);}' unless defined(&MPI_PHYSDISK0_STATUS_OTHER_OFFLINE);
    eval 'sub MPI_RAIDPHYSDISKPAGE0_PAGEVERSION () {(0x);}' unless defined(&MPI_RAIDPHYSDISKPAGE0_PAGEVERSION);
    eval 'sub MPI_LAN_PAGE0_PAGEVERSION () {(0x1);}' unless defined(&MPI_LAN_PAGE0_PAGEVERSION);
    eval 'sub MPI_LAN_PAGE0_RETURN_LOOPBACK () {(0x);}' unless defined(&MPI_LAN_PAGE0_RETURN_LOOPBACK);
    eval 'sub MPI_LAN_PAGE0_SUPPRESS_LOOPBACK () {(0x1);}' unless defined(&MPI_LAN_PAGE0_SUPPRESS_LOOPBACK);
    eval 'sub MPI_LAN_PAGE0_LOOPBACK_MASK () {(0x1);}' unless defined(&MPI_LAN_PAGE0_LOOPBACK_MASK);
    eval 'sub MPI_LAN_PAGE1_PAGEVERSION () {(0x3);}' unless defined(&MPI_LAN_PAGE1_PAGEVERSION);
    eval 'sub MPI_LAN_PAGE1_DEV_STATE_RESET () {(0x);}' unless defined(&MPI_LAN_PAGE1_DEV_STATE_RESET);
    eval 'sub MPI_LAN_PAGE1_DEV_STATE_OPERATIONAL () {(0x1);}' unless defined(&MPI_LAN_PAGE1_DEV_STATE_OPERATIONAL);
}
unless(defined(&MPI_FC_H)) {
    eval 'sub MPI_FC_H () {1;}' unless defined(&MPI_FC_H);
    eval 'sub LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK () {(0x1);}' unless defined(&LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK);
    eval 'sub MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED () {(0x80);}' unless defined(&MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED);
    eval 'sub MPI_FC_DID_MASK () {(0xffffff);}' unless defined(&MPI_FC_DID_MASK);
    eval 'sub MPI_FC_DID_SHIFT () {(0);}' unless defined(&MPI_FC_DID_SHIFT);
    eval 'sub MPI_FC_RCTL_MASK () {(0xff000000);}' unless defined(&MPI_FC_RCTL_MASK);
    eval 'sub MPI_FC_RCTL_SHIFT () {(24);}' unless defined(&MPI_FC_RCTL_SHIFT);
    eval 'sub MPI_FC_SID_MASK () {(0xffffff);}' unless defined(&MPI_FC_SID_MASK);
    eval 'sub MPI_FC_SID_SHIFT () {(0);}' unless defined(&MPI_FC_SID_SHIFT);
    eval 'sub MPI_FC_CSCTL_MASK () {(0xff000000);}' unless defined(&MPI_FC_CSCTL_MASK);
    eval 'sub MPI_FC_CSCTL_SHIFT () {(24);}' unless defined(&MPI_FC_CSCTL_SHIFT);
    eval 'sub MPI_FC_FCTL_MASK () {(0xffffff);}' unless defined(&MPI_FC_FCTL_MASK);
    eval 'sub MPI_FC_FCTL_SHIFT () {(0);}' unless defined(&MPI_FC_FCTL_SHIFT);
    eval 'sub MPI_FC_TYPE_MASK () {(0xff000000);}' unless defined(&MPI_FC_TYPE_MASK);
    eval 'sub MPI_FC_TYPE_SHIFT () {(24);}' unless defined(&MPI_FC_TYPE_SHIFT);
    eval 'sub FCP_TARGET_DID_MASK () {(0xffffff);}' unless defined(&FCP_TARGET_DID_MASK);
    eval 'sub FCP_TARGET_DID_SHIFT () {(0);}' unless defined(&FCP_TARGET_DID_SHIFT);
    eval 'sub FCP_TARGET_RCTL_MASK () {(0xff000000);}' unless defined(&FCP_TARGET_RCTL_MASK);
    eval 'sub FCP_TARGET_RCTL_SHIFT () {(24);}' unless defined(&FCP_TARGET_RCTL_SHIFT);
    eval 'sub FCP_TARGET_SID_MASK () {(0xffffff);}' unless defined(&FCP_TARGET_SID_MASK);
    eval 'sub FCP_TARGET_SID_SHIFT () {(0);}' unless defined(&FCP_TARGET_SID_SHIFT);
    eval 'sub FCP_TARGET_CSCTL_MASK () {(0xff000000);}' unless defined(&FCP_TARGET_CSCTL_MASK);
    eval 'sub FCP_TARGET_CSCTL_SHIFT () {(24);}' unless defined(&FCP_TARGET_CSCTL_SHIFT);
    eval 'sub FCP_TARGET_FCTL_MASK () {(0xffffff);}' unless defined(&FCP_TARGET_FCTL_MASK);
    eval 'sub FCP_TARGET_FCTL_SHIFT () {(0);}' unless defined(&FCP_TARGET_FCTL_SHIFT);
    eval 'sub FCP_TARGET_TYPE_MASK () {(0xff000000);}' unless defined(&FCP_TARGET_TYPE_MASK);
    eval 'sub FCP_TARGET_TYPE_SHIFT () {(24);}' unless defined(&FCP_TARGET_TYPE_SHIFT);
    eval 'sub LINK_SERVICE_RSP_FLAGS_IMMEDIATE () {(0x80);}' unless defined(&LINK_SERVICE_RSP_FLAGS_IMMEDIATE);
    eval 'sub LINK_SERVICE_RSP_FLAGS_PORT_MASK () {(0x1);}' unless defined(&LINK_SERVICE_RSP_FLAGS_PORT_MASK);
    eval 'sub EX_LINK_SERVICE_SEND_DID_MASK () {(0xffffff);}' unless defined(&EX_LINK_SERVICE_SEND_DID_MASK);
    eval 'sub EX_LINK_SERVICE_SEND_DID_SHIFT () {(0);}' unless defined(&EX_LINK_SERVICE_SEND_DID_SHIFT);
    eval 'sub EX_LINK_SERVICE_SEND_MSGFLAGS_MASK () {(0xff000000);}' unless defined(&EX_LINK_SERVICE_SEND_MSGFLAGS_MASK);
    eval 'sub EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT () {(24);}' unless defined(&EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT);
    eval 'sub FC_ABORT_FLAG_PORT_MASK () {(0x1);}' unless defined(&FC_ABORT_FLAG_PORT_MASK);
    eval 'sub FC_ABORT_TYPE_ALL_FC_BUFFERS () {(0x);}' unless defined(&FC_ABORT_TYPE_ALL_FC_BUFFERS);
    eval 'sub FC_ABORT_TYPE_EXACT_FC_BUFFER () {(0x1);}' unless defined(&FC_ABORT_TYPE_EXACT_FC_BUFFER);
    eval 'sub FC_ABORT_TYPE_CT_SEND_REQUEST () {(0x2);}' unless defined(&FC_ABORT_TYPE_CT_SEND_REQUEST);
    eval 'sub FC_ABORT_TYPE_EXLINKSEND_REQUEST () {(0x3);}' unless defined(&FC_ABORT_TYPE_EXLINKSEND_REQUEST);
    eval 'sub MPI_FC_CT_SEND_DID_MASK () {(0xffffff);}' unless defined(&MPI_FC_CT_SEND_DID_MASK);
    eval 'sub MPI_FC_CT_SEND_DID_SHIFT () {(0);}' unless defined(&MPI_FC_CT_SEND_DID_SHIFT);
    eval 'sub MPI_FC_CT_SEND_MSGFLAGS_MASK () {(0xff000000);}' unless defined(&MPI_FC_CT_SEND_MSGFLAGS_MASK);
    eval 'sub MPI_FC_CT_SEND_MSGFLAGS_SHIFT () {(24);}' unless defined(&MPI_FC_CT_SEND_MSGFLAGS_SHIFT);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_PORT_MASK () {(0x1);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_PORT_MASK);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK () {(0x2);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_RESET_LINK () {(0x4);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_RESET_LINK);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_STOP_SEND () {(0x8);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_STOP_SEND);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE () {(0x10);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND () {(0x20);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL () {(0x40);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL);
    eval 'sub MPI_FC_PRIM_SEND_FLAGS_FOREVER () {(0x80);}' unless defined(&MPI_FC_PRIM_SEND_FLAGS_FOREVER);
}
unless(defined(&MPI_INIT_H)) {
    eval 'sub MPI_INIT_H () {1;}' unless defined(&MPI_INIT_H);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_WIDTH () {(0x1);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_WIDTH);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32 () {(0x);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 () {(0x1);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_LOCATION () {(0x2);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_LOCATION);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_LOC_HOST () {(0x);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_LOC_HOST);
    eval 'sub MPI_SCSIIO_MSGFLGS_SENSE_LOC_IOC () {(0x2);}' unless defined(&MPI_SCSIIO_MSGFLGS_SENSE_LOC_IOC);
    eval 'sub MPI_SCSIIO_MSGFLGS_CMD_DETERMINES_DATA_DIR () {(0x4);}' unless defined(&MPI_SCSIIO_MSGFLGS_CMD_DETERMINES_DATA_DIR);
    eval 'sub MPI_SCSIIO_LUN_FIRST_LEVEL_ADDRESSING () {(0xffff);}' unless defined(&MPI_SCSIIO_LUN_FIRST_LEVEL_ADDRESSING);
    eval 'sub MPI_SCSIIO_LUN_SECOND_LEVEL_ADDRESSING () {(0xffff0000);}' unless defined(&MPI_SCSIIO_LUN_SECOND_LEVEL_ADDRESSING);
    eval 'sub MPI_SCSIIO_LUN_THIRD_LEVEL_ADDRESSING () {(0xffff);}' unless defined(&MPI_SCSIIO_LUN_THIRD_LEVEL_ADDRESSING);
    eval 'sub MPI_SCSIIO_LUN_FOURTH_LEVEL_ADDRESSING () {(0xffff0000);}' unless defined(&MPI_SCSIIO_LUN_FOURTH_LEVEL_ADDRESSING);
    eval 'sub MPI_SCSIIO_LUN_LEVEL_1_WORD () {(0xff00);}' unless defined(&MPI_SCSIIO_LUN_LEVEL_1_WORD);
    eval 'sub MPI_SCSIIO_LUN_LEVEL_1_DWORD () {(0xff00);}' unless defined(&MPI_SCSIIO_LUN_LEVEL_1_DWORD);
    eval 'sub MPI_SCSIIO_CONTROL_DATADIRECTION_MASK () {(0x3000000);}' unless defined(&MPI_SCSIIO_CONTROL_DATADIRECTION_MASK);
    eval 'sub MPI_SCSIIO_CONTROL_NODATATRANSFER () {(0x);}' unless defined(&MPI_SCSIIO_CONTROL_NODATATRANSFER);
    eval 'sub MPI_SCSIIO_CONTROL_WRITE () {(0x1000000);}' unless defined(&MPI_SCSIIO_CONTROL_WRITE);
    eval 'sub MPI_SCSIIO_CONTROL_READ () {(0x2000000);}' unless defined(&MPI_SCSIIO_CONTROL_READ);
    eval 'sub MPI_SCSIIO_CONTROL_ADDCDBLEN_MASK () {(0x3c000000);}' unless defined(&MPI_SCSIIO_CONTROL_ADDCDBLEN_MASK);
    eval 'sub MPI_SCSIIO_CONTROL_ADDCDBLEN_SHIFT () {(26);}' unless defined(&MPI_SCSIIO_CONTROL_ADDCDBLEN_SHIFT);
    eval 'sub MPI_SCSIIO_CONTROL_TASKATTRIBUTE_MASK () {(0x700);}' unless defined(&MPI_SCSIIO_CONTROL_TASKATTRIBUTE_MASK);
    eval 'sub MPI_SCSIIO_CONTROL_SIMPLEQ () {(0x);}' unless defined(&MPI_SCSIIO_CONTROL_SIMPLEQ);
    eval 'sub MPI_SCSIIO_CONTROL_HEADOFQ () {(0x100);}' unless defined(&MPI_SCSIIO_CONTROL_HEADOFQ);
    eval 'sub MPI_SCSIIO_CONTROL_ORDEREDQ () {(0x200);}' unless defined(&MPI_SCSIIO_CONTROL_ORDEREDQ);
    eval 'sub MPI_SCSIIO_CONTROL_ACAQ () {(0x400);}' unless defined(&MPI_SCSIIO_CONTROL_ACAQ);
    eval 'sub MPI_SCSIIO_CONTROL_UNTAGGED () {(0x500);}' unless defined(&MPI_SCSIIO_CONTROL_UNTAGGED);
    eval 'sub MPI_SCSIIO_CONTROL_NO_DISCONNECT () {(0x700);}' unless defined(&MPI_SCSIIO_CONTROL_NO_DISCONNECT);
    eval 'sub MPI_SCSIIO_CONTROL_TASKMANAGE_MASK () {(0xff0000);}' unless defined(&MPI_SCSIIO_CONTROL_TASKMANAGE_MASK);
    eval 'sub MPI_SCSIIO_CONTROL_OBSOLETE () {(0x800000);}' unless defined(&MPI_SCSIIO_CONTROL_OBSOLETE);
    eval 'sub MPI_SCSIIO_CONTROL_CLEAR_ACA_RSV () {(0x400000);}' unless defined(&MPI_SCSIIO_CONTROL_CLEAR_ACA_RSV);
    eval 'sub MPI_SCSIIO_CONTROL_TARGET_RESET () {(0x200000);}' unless defined(&MPI_SCSIIO_CONTROL_TARGET_RESET);
    eval 'sub MPI_SCSIIO_CONTROL_LUN_RESET_RSV () {(0x100000);}' unless defined(&MPI_SCSIIO_CONTROL_LUN_RESET_RSV);
    eval 'sub MPI_SCSIIO_CONTROL_RESERVED () {(0x80000);}' unless defined(&MPI_SCSIIO_CONTROL_RESERVED);
    eval 'sub MPI_SCSIIO_CONTROL_CLR_TASK_SET_RSV () {(0x40000);}' unless defined(&MPI_SCSIIO_CONTROL_CLR_TASK_SET_RSV);
    eval 'sub MPI_SCSIIO_CONTROL_ABORT_TASK_SET () {(0x20000);}' unless defined(&MPI_SCSIIO_CONTROL_ABORT_TASK_SET);
    eval 'sub MPI_SCSIIO_CONTROL_RESERVED2 () {(0x10000);}' unless defined(&MPI_SCSIIO_CONTROL_RESERVED2);
    eval 'sub MPI_SCSI_STATUS_SUCCESS () {(0x);}' unless defined(&MPI_SCSI_STATUS_SUCCESS);
    eval 'sub MPI_SCSI_STATUS_CHECK_CONDITION () {(0x2);}' unless defined(&MPI_SCSI_STATUS_CHECK_CONDITION);
    eval 'sub MPI_SCSI_STATUS_CONDITION_MET () {(0x4);}' unless defined(&MPI_SCSI_STATUS_CONDITION_MET);
    eval 'sub MPI_SCSI_STATUS_BUSY () {(0x8);}' unless defined(&MPI_SCSI_STATUS_BUSY);
    eval 'sub MPI_SCSI_STATUS_INTERMEDIATE () {(0x10);}' unless defined(&MPI_SCSI_STATUS_INTERMEDIATE);
    eval 'sub MPI_SCSI_STATUS_INTERMEDIATE_CONDMET () {(0x14);}' unless defined(&MPI_SCSI_STATUS_INTERMEDIATE_CONDMET);
    eval 'sub MPI_SCSI_STATUS_RESERVATION_CONFLICT () {(0x18);}' unless defined(&MPI_SCSI_STATUS_RESERVATION_CONFLICT);
    eval 'sub MPI_SCSI_STATUS_COMMAND_TERMINATED () {(0x22);}' unless defined(&MPI_SCSI_STATUS_COMMAND_TERMINATED);
    eval 'sub MPI_SCSI_STATUS_TASK_SET_FULL () {(0x28);}' unless defined(&MPI_SCSI_STATUS_TASK_SET_FULL);
    eval 'sub MPI_SCSI_STATUS_ACA_ACTIVE () {(0x30);}' unless defined(&MPI_SCSI_STATUS_ACA_ACTIVE);
    eval 'sub MPI_SCSI_STATUS_FCPEXT_DEVICE_LOGGED_OUT () {(0x80);}' unless defined(&MPI_SCSI_STATUS_FCPEXT_DEVICE_LOGGED_OUT);
    eval 'sub MPI_SCSI_STATUS_FCPEXT_NO_LINK () {(0x81);}' unless defined(&MPI_SCSI_STATUS_FCPEXT_NO_LINK);
    eval 'sub MPI_SCSI_STATUS_FCPEXT_UNASSIGNED () {(0x82);}' unless defined(&MPI_SCSI_STATUS_FCPEXT_UNASSIGNED);
    eval 'sub MPI_SCSI_STATE_AUTOSENSE_VALID () {(0x1);}' unless defined(&MPI_SCSI_STATE_AUTOSENSE_VALID);
    eval 'sub MPI_SCSI_STATE_AUTOSENSE_FAILED () {(0x2);}' unless defined(&MPI_SCSI_STATE_AUTOSENSE_FAILED);
    eval 'sub MPI_SCSI_STATE_NO_SCSI_STATUS () {(0x4);}' unless defined(&MPI_SCSI_STATE_NO_SCSI_STATUS);
    eval 'sub MPI_SCSI_STATE_TERMINATED () {(0x8);}' unless defined(&MPI_SCSI_STATE_TERMINATED);
    eval 'sub MPI_SCSI_STATE_RESPONSE_INFO_VALID () {(0x10);}' unless defined(&MPI_SCSI_STATE_RESPONSE_INFO_VALID);
    eval 'sub MPI_SCSI_STATE_QUEUE_TAG_REJECTED () {(0x20);}' unless defined(&MPI_SCSI_STATE_QUEUE_TAG_REJECTED);
    eval 'sub MPI_SCSI_RSP_INFO_FUNCTION_COMPLETE () {(0x);}' unless defined(&MPI_SCSI_RSP_INFO_FUNCTION_COMPLETE);
    eval 'sub MPI_SCSI_RSP_INFO_FCP_BURST_LEN_ERROR () {(0x1000000);}' unless defined(&MPI_SCSI_RSP_INFO_FCP_BURST_LEN_ERROR);
    eval 'sub MPI_SCSI_RSP_INFO_CMND_FIELDS_INVALID () {(0x2000000);}' unless defined(&MPI_SCSI_RSP_INFO_CMND_FIELDS_INVALID);
    eval 'sub MPI_SCSI_RSP_INFO_FCP_DATA_RO_ERROR () {(0x3000000);}' unless defined(&MPI_SCSI_RSP_INFO_FCP_DATA_RO_ERROR);
    eval 'sub MPI_SCSI_RSP_INFO_TASK_MGMT_UNSUPPORTED () {(0x4000000);}' unless defined(&MPI_SCSI_RSP_INFO_TASK_MGMT_UNSUPPORTED);
    eval 'sub MPI_SCSI_RSP_INFO_TASK_MGMT_FAILED () {(0x5000000);}' unless defined(&MPI_SCSI_RSP_INFO_TASK_MGMT_FAILED);
    eval 'sub MPI_SCSI_RSP_INFO_SPI_LQ_INVALID_TYPE () {(0x6000000);}' unless defined(&MPI_SCSI_RSP_INFO_SPI_LQ_INVALID_TYPE);
    eval 'sub MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK () {(0x1);}' unless defined(&MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK);
    eval 'sub MPI_SCSITASKMGMT_TASKTYPE_ABRT_TASK_SET () {(0x2);}' unless defined(&MPI_SCSITASKMGMT_TASKTYPE_ABRT_TASK_SET);
    eval 'sub MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET () {(0x3);}' unless defined(&MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET);
    eval 'sub MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS () {(0x4);}' unless defined(&MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS);
    eval 'sub MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET () {(0x5);}' unless defined(&MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET);
    eval 'sub MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION () {(0x);}' unless defined(&MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION);
    eval 'sub MPI_SCSITASKMGMT_MSGFLAGS_LIP_RESET_OPTION () {(0x2);}' unless defined(&MPI_SCSITASKMGMT_MSGFLAGS_LIP_RESET_OPTION);
    eval 'sub MPI_SCSITASKMGMT_MSGFLAGS_LIPRESET_RESET_OPTION () {(0x4);}' unless defined(&MPI_SCSITASKMGMT_MSGFLAGS_LIPRESET_RESET_OPTION);
    eval 'sub MPI_SEP_REQ_ACTION_WRITE_STATUS () {(0x);}' unless defined(&MPI_SEP_REQ_ACTION_WRITE_STATUS);
    eval 'sub MPI_SEP_REQ_ACTION_READ_STATUS () {(0x1);}' unless defined(&MPI_SEP_REQ_ACTION_READ_STATUS);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_NO_ERROR () {(0x1);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_NO_ERROR);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_DEV_FAULTY () {(0x2);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_DEV_FAULTY);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_DEV_REBUILDING () {(0x4);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_DEV_REBUILDING);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_IN_FAILED_ARRAY () {(0x8);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_IN_FAILED_ARRAY);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_IN_CRITICAL_ARRAY () {(0x10);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_IN_CRITICAL_ARRAY);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_PARITY_CHECK () {(0x20);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_PARITY_CHECK);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_PREDICTED_FAULT () {(0x40);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_PREDICTED_FAULT);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_UNCONFIGURED () {(0x80);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_UNCONFIGURED);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_HOT_SPARE () {(0x100);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_HOT_SPARE);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED () {(0x200);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST () {(0x20000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE () {(0x40000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_REQUEST_INSERT () {(0x80000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_REQUEST_INSERT);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_DO_NOT_MOVE () {(0x400000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_DO_NOT_MOVE);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_B_ENABLE_BYPASS () {(0x4000000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_B_ENABLE_BYPASS);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_A_ENABLE_BYPASS () {(0x8000000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_A_ENABLE_BYPASS);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_DEV_OFF () {(0x10000000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_DEV_OFF);
    eval 'sub MPI_SEP_REQ_SLOTSTATUS_SWAP_RESET () {(0x80000000);}' unless defined(&MPI_SEP_REQ_SLOTSTATUS_SWAP_RESET);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_NO_ERROR () {(0x1);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_NO_ERROR);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_DEV_FAULTY () {(0x2);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_DEV_FAULTY);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_DEV_REBUILDING () {(0x4);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_DEV_REBUILDING);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_IN_FAILED_ARRAY () {(0x8);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_IN_FAILED_ARRAY);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_IN_CRITICAL_ARRAY () {(0x10);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_IN_CRITICAL_ARRAY);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_PARITY_CHECK () {(0x20);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_PARITY_CHECK);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_PREDICTED_FAULT () {(0x40);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_PREDICTED_FAULT);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_UNCONFIGURED () {(0x80);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_UNCONFIGURED);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_HOT_SPARE () {(0x100);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_HOT_SPARE);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED () {(0x200);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_REPORT () {(0x10000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_REPORT);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST () {(0x20000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_REMOVE_READY () {(0x40000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_REMOVE_READY);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_INSERT_READY () {(0x80000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_INSERT_READY);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_DO_NOT_REMOVE () {(0x400000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_DO_NOT_REMOVE);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_B_BYPASS_ENABLED () {(0x1000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_B_BYPASS_ENABLED);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_A_BYPASS_ENABLED () {(0x2000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_A_BYPASS_ENABLED);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_B_ENABLE_BYPASS () {(0x4000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_B_ENABLE_BYPASS);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_A_ENABLE_BYPASS () {(0x8000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_A_ENABLE_BYPASS);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_DEV_OFF () {(0x10000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_DEV_OFF);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_FAULT_SENSED () {(0x40000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_FAULT_SENSED);
    eval 'sub MPI_SEP_REPLY_SLOTSTATUS_SWAPPED () {(0x80000000);}' unless defined(&MPI_SEP_REPLY_SLOTSTATUS_SWAPPED);
}
unless(defined(&MPI_IOC_H)) {
    eval 'sub MPI_IOC_H () {1;}' unless defined(&MPI_IOC_H);
    eval 'sub MPI_WHOINIT_NO_ONE () {(0x);}' unless defined(&MPI_WHOINIT_NO_ONE);
    eval 'sub MPI_WHOINIT_SYSTEM_BIOS () {(0x1);}' unless defined(&MPI_WHOINIT_SYSTEM_BIOS);
    eval 'sub MPI_WHOINIT_ROM_BIOS () {(0x2);}' unless defined(&MPI_WHOINIT_ROM_BIOS);
    eval 'sub MPI_WHOINIT_PCI_PEER () {(0x3);}' unless defined(&MPI_WHOINIT_PCI_PEER);
    eval 'sub MPI_WHOINIT_HOST_DRIVER () {(0x4);}' unless defined(&MPI_WHOINIT_HOST_DRIVER);
    eval 'sub MPI_WHOINIT_MANUFACTURER () {(0x5);}' unless defined(&MPI_WHOINIT_MANUFACTURER);
    eval 'sub MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE () {(0x1);}' unless defined(&MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE);
    eval 'sub MPI_IOCFACTS_MSGVERSION_MAJOR_MASK () {(0xff00);}' unless defined(&MPI_IOCFACTS_MSGVERSION_MAJOR_MASK);
    eval 'sub MPI_IOCFACTS_MSGVERSION_MINOR_MASK () {(0xff);}' unless defined(&MPI_IOCFACTS_MSGVERSION_MINOR_MASK);
    eval 'sub MPI_IOCFACTS_HEADERVERSION_UNIT_MASK () {(0xff00);}' unless defined(&MPI_IOCFACTS_HEADERVERSION_UNIT_MASK);
    eval 'sub MPI_IOCFACTS_HEADERVERSION_DEV_MASK () {(0xff);}' unless defined(&MPI_IOCFACTS_HEADERVERSION_DEV_MASK);
    eval 'sub MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL () {(0x1);}' unless defined(&MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL);
    eval 'sub MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID () {(0x2);}' unless defined(&MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID);
    eval 'sub MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT () {(0x1);}' unless defined(&MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT);
    eval 'sub MPI_IOCFACTS_EVENTSTATE_DISABLED () {(0x);}' unless defined(&MPI_IOCFACTS_EVENTSTATE_DISABLED);
    eval 'sub MPI_IOCFACTS_EVENTSTATE_ENABLED () {(0x1);}' unless defined(&MPI_IOCFACTS_EVENTSTATE_ENABLED);
    eval 'sub MPI_PORTFACTS_PORTTYPE_INACTIVE () {(0x);}' unless defined(&MPI_PORTFACTS_PORTTYPE_INACTIVE);
    eval 'sub MPI_PORTFACTS_PORTTYPE_SCSI () {(0x1);}' unless defined(&MPI_PORTFACTS_PORTTYPE_SCSI);
    eval 'sub MPI_PORTFACTS_PORTTYPE_FC () {(0x10);}' unless defined(&MPI_PORTFACTS_PORTTYPE_FC);
    eval 'sub MPI_PORTFACTS_PROTOCOL_LOGBUSADDR () {(0x1);}' unless defined(&MPI_PORTFACTS_PROTOCOL_LOGBUSADDR);
    eval 'sub MPI_PORTFACTS_PROTOCOL_LAN () {(0x2);}' unless defined(&MPI_PORTFACTS_PROTOCOL_LAN);
    eval 'sub MPI_PORTFACTS_PROTOCOL_TARGET () {(0x4);}' unless defined(&MPI_PORTFACTS_PROTOCOL_TARGET);
    eval 'sub MPI_PORTFACTS_PROTOCOL_INITIATOR () {(0x8);}' unless defined(&MPI_PORTFACTS_PROTOCOL_INITIATOR);
    eval 'sub MPI_EVENT_NOTIFICATION_SWITCH_OFF () {(0x);}' unless defined(&MPI_EVENT_NOTIFICATION_SWITCH_OFF);
    eval 'sub MPI_EVENT_NOTIFICATION_SWITCH_ON () {(0x1);}' unless defined(&MPI_EVENT_NOTIFICATION_SWITCH_ON);
    eval 'sub MPI_EVENT_NONE () {(0x);}' unless defined(&MPI_EVENT_NONE);
    eval 'sub MPI_EVENT_LOG_DATA () {(0x1);}' unless defined(&MPI_EVENT_LOG_DATA);
    eval 'sub MPI_EVENT_STATE_CHANGE () {(0x2);}' unless defined(&MPI_EVENT_STATE_CHANGE);
    eval 'sub MPI_EVENT_UNIT_ATTENTION () {(0x3);}' unless defined(&MPI_EVENT_UNIT_ATTENTION);
    eval 'sub MPI_EVENT_IOC_BUS_RESET () {(0x4);}' unless defined(&MPI_EVENT_IOC_BUS_RESET);
    eval 'sub MPI_EVENT_EXT_BUS_RESET () {(0x5);}' unless defined(&MPI_EVENT_EXT_BUS_RESET);
    eval 'sub MPI_EVENT_RESCAN () {(0x6);}' unless defined(&MPI_EVENT_RESCAN);
    eval 'sub MPI_EVENT_LINK_STATUS_CHANGE () {(0x7);}' unless defined(&MPI_EVENT_LINK_STATUS_CHANGE);
    eval 'sub MPI_EVENT_LOOP_STATE_CHANGE () {(0x8);}' unless defined(&MPI_EVENT_LOOP_STATE_CHANGE);
    eval 'sub MPI_EVENT_LOGOUT () {(0x9);}' unless defined(&MPI_EVENT_LOGOUT);
    eval 'sub MPI_EVENT_EVENT_CHANGE () {(0xa);}' unless defined(&MPI_EVENT_EVENT_CHANGE);
    eval 'sub MPI_EVENT_INTEGRATED_RAID () {(0xb);}' unless defined(&MPI_EVENT_INTEGRATED_RAID);
    eval 'sub MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE () {(0xc);}' unless defined(&MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE);
    eval 'sub MPI_EVENT_ON_BUS_TIMER_EXPIRED () {(0xd);}' unless defined(&MPI_EVENT_ON_BUS_TIMER_EXPIRED);
    eval 'sub MPI_EVENT_NOTIFICATION_ACK_NOT_REQUIRED () {(0x);}' unless defined(&MPI_EVENT_NOTIFICATION_ACK_NOT_REQUIRED);
    eval 'sub MPI_EVENT_NOTIFICATION_ACK_REQUIRED () {(0x1);}' unless defined(&MPI_EVENT_NOTIFICATION_ACK_REQUIRED);
    eval 'sub MPI_EVENT_SCSI_DEV_STAT_RC_ADDED () {(0x3);}' unless defined(&MPI_EVENT_SCSI_DEV_STAT_RC_ADDED);
    eval 'sub MPI_EVENT_SCSI_DEV_STAT_RC_NOT_RESPONDING () {(0x4);}' unless defined(&MPI_EVENT_SCSI_DEV_STAT_RC_NOT_RESPONDING);
    eval 'sub MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA () {(0x5);}' unless defined(&MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA);
    eval 'sub MPI_EVENT_LINK_STATUS_FAILURE () {(0x);}' unless defined(&MPI_EVENT_LINK_STATUS_FAILURE);
    eval 'sub MPI_EVENT_LINK_STATUS_ACTIVE () {(0x1);}' unless defined(&MPI_EVENT_LINK_STATUS_ACTIVE);
    eval 'sub MPI_EVENT_LOOP_STATE_CHANGE_LIP () {(0x1);}' unless defined(&MPI_EVENT_LOOP_STATE_CHANGE_LIP);
    eval 'sub MPI_EVENT_LOOP_STATE_CHANGE_LPE () {(0x2);}' unless defined(&MPI_EVENT_LOOP_STATE_CHANGE_LPE);
    eval 'sub MPI_EVENT_LOOP_STATE_CHANGE_LPB () {(0x3);}' unless defined(&MPI_EVENT_LOOP_STATE_CHANGE_LPB);
    eval 'sub MPI_EVENT_LOGOUT_ALL_ALIASES () {(0xff);}' unless defined(&MPI_EVENT_LOGOUT_ALL_ALIASES);
    eval 'sub MPI_EVENT_RAID_RC_VOLUME_CREATED () {(0x);}' unless defined(&MPI_EVENT_RAID_RC_VOLUME_CREATED);
    eval 'sub MPI_EVENT_RAID_RC_VOLUME_DELETED () {(0x1);}' unless defined(&MPI_EVENT_RAID_RC_VOLUME_DELETED);
    eval 'sub MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED () {(0x2);}' unless defined(&MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED);
    eval 'sub MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED () {(0x3);}' unless defined(&MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED);
    eval 'sub MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED () {(0x4);}' unless defined(&MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED);
    eval 'sub MPI_EVENT_RAID_RC_PHYSDISK_CREATED () {(0x5);}' unless defined(&MPI_EVENT_RAID_RC_PHYSDISK_CREATED);
    eval 'sub MPI_EVENT_RAID_RC_PHYSDISK_DELETED () {(0x6);}' unless defined(&MPI_EVENT_RAID_RC_PHYSDISK_DELETED);
    eval 'sub MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED () {(0x7);}' unless defined(&MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED);
    eval 'sub MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED () {(0x8);}' unless defined(&MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED);
    eval 'sub MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED () {(0x9);}' unless defined(&MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED);
    eval 'sub MPI_EVENT_RAID_RC_SMART_DATA () {(0xa);}' unless defined(&MPI_EVENT_RAID_RC_SMART_DATA);
    eval 'sub MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED () {(0xb);}' unless defined(&MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED);
    eval 'sub MPI_FW_DOWNLOAD_ITYPE_RESERVED () {(0x);}' unless defined(&MPI_FW_DOWNLOAD_ITYPE_RESERVED);
    eval 'sub MPI_FW_DOWNLOAD_ITYPE_FW () {(0x1);}' unless defined(&MPI_FW_DOWNLOAD_ITYPE_FW);
    eval 'sub MPI_FW_DOWNLOAD_ITYPE_BIOS () {(0x2);}' unless defined(&MPI_FW_DOWNLOAD_ITYPE_BIOS);
    eval 'sub MPI_FW_DOWNLOAD_ITYPE_NVDATA () {(0x3);}' unless defined(&MPI_FW_DOWNLOAD_ITYPE_NVDATA);
    eval 'sub MPI_FW_UPLOAD_ITYPE_FW_IOC_MEM () {(0x);}' unless defined(&MPI_FW_UPLOAD_ITYPE_FW_IOC_MEM);
    eval 'sub MPI_FW_UPLOAD_ITYPE_FW_FLASH () {(0x1);}' unless defined(&MPI_FW_UPLOAD_ITYPE_FW_FLASH);
    eval 'sub MPI_FW_UPLOAD_ITYPE_BIOS_FLASH () {(0x2);}' unless defined(&MPI_FW_UPLOAD_ITYPE_BIOS_FLASH);
    eval 'sub MPI_FW_UPLOAD_ITYPE_NVDATA () {(0x3);}' unless defined(&MPI_FW_UPLOAD_ITYPE_NVDATA);
    eval 'sub MPI_FW_HEADER_WHAT_SIGNATURE () {(0x29232840);}' unless defined(&MPI_FW_HEADER_WHAT_SIGNATURE);
    eval 'sub MPI_FW_HEADER_PID_TYPE_MASK () {(0xf000);}' unless defined(&MPI_FW_HEADER_PID_TYPE_MASK);
    eval 'sub MPI_FW_HEADER_PID_TYPE_SCSI () {(0x);}' unless defined(&MPI_FW_HEADER_PID_TYPE_SCSI);
    eval 'sub MPI_FW_HEADER_PID_TYPE_FC () {(0x1000);}' unless defined(&MPI_FW_HEADER_PID_TYPE_FC);
    eval 'sub MPI_FW_HEADER_SIGNATURE_0 () {(0x5aeaa55a);}' unless defined(&MPI_FW_HEADER_SIGNATURE_0);
    eval 'sub MPI_FW_HEADER_SIGNATURE_1 () {(0xa55aeaa5);}' unless defined(&MPI_FW_HEADER_SIGNATURE_1);
    eval 'sub MPI_FW_HEADER_SIGNATURE_2 () {(0x5aa55aea);}' unless defined(&MPI_FW_HEADER_SIGNATURE_2);
    eval 'sub MPI_FW_HEADER_PID_PROD_MASK () {(0xf00);}' unless defined(&MPI_FW_HEADER_PID_PROD_MASK);
    eval 'sub MPI_FW_HEADER_PID_PROD_INITIATOR_SCSI () {(0x100);}' unless defined(&MPI_FW_HEADER_PID_PROD_INITIATOR_SCSI);
    eval 'sub MPI_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI () {(0x200);}' unless defined(&MPI_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI);
    eval 'sub MPI_FW_HEADER_PID_PROD_TARGET_SCSI () {(0x300);}' unless defined(&MPI_FW_HEADER_PID_PROD_TARGET_SCSI);
    eval 'sub MPI_FW_HEADER_PID_PROD_IM_SCSI () {(0x400);}' unless defined(&MPI_FW_HEADER_PID_PROD_IM_SCSI);
    eval 'sub MPI_FW_HEADER_PID_PROD_IS_SCSI () {(0x500);}' unless defined(&MPI_FW_HEADER_PID_PROD_IS_SCSI);
    eval 'sub MPI_FW_HEADER_PID_PROD_CTX_SCSI () {(0x600);}' unless defined(&MPI_FW_HEADER_PID_PROD_CTX_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_MASK () {(0xff);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_MASK);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1030A0_SCSI () {(0x1);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1030A0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1030B0_SCSI () {(0x2);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1030B0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1030B1_SCSI () {(0x3);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1030B1_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1030C0_SCSI () {(0x4);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1030C0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1020A0_SCSI () {(0x5);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1020A0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1020B0_SCSI () {(0x6);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1020B0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1020B1_SCSI () {(0x7);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1020B1_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1020C0_SCSI () {(0x8);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1020C0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1035A0_SCSI () {(0x9);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1035A0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1035B0_SCSI () {(0xa);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1035B0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1030TA0_SCSI () {(0xb);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1030TA0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI () {(0xc);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_909_FC () {(0x);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_909_FC);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_919_FC () {(0x1);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_919_FC);
    eval 'sub MPI_FW_HEADER_PID_FAMILY_919X_FC () {(0x2);}' unless defined(&MPI_FW_HEADER_PID_FAMILY_919X_FC);
    eval 'sub MPI_EXT_IMAGE_TYPE_UNSPECIFIED () {(0x);}' unless defined(&MPI_EXT_IMAGE_TYPE_UNSPECIFIED);
    eval 'sub MPI_EXT_IMAGE_TYPE_FW () {(0x1);}' unless defined(&MPI_EXT_IMAGE_TYPE_FW);
    eval 'sub MPI_EXT_IMAGE_TYPE_NVDATA () {(0x3);}' unless defined(&MPI_EXT_IMAGE_TYPE_NVDATA);
}
unless(defined(&MPI_LAN_H)) {
    eval 'sub MPI_LAN_H () {1;}' unless defined(&MPI_LAN_H);
    eval 'sub LAN_REPLY_PACKET_LENGTH_MASK () {(0xffff);}' unless defined(&LAN_REPLY_PACKET_LENGTH_MASK);
    eval 'sub LAN_REPLY_PACKET_LENGTH_SHIFT () {(0);}' unless defined(&LAN_REPLY_PACKET_LENGTH_SHIFT);
    eval 'sub LAN_REPLY_BUCKET_CONTEXT_MASK () {(0x7ff0000);}' unless defined(&LAN_REPLY_BUCKET_CONTEXT_MASK);
    eval 'sub LAN_REPLY_BUCKET_CONTEXT_SHIFT () {(16);}' unless defined(&LAN_REPLY_BUCKET_CONTEXT_SHIFT);
    eval 'sub LAN_REPLY_BUFFER_CONTEXT_MASK () {(0x7ffffff);}' unless defined(&LAN_REPLY_BUFFER_CONTEXT_MASK);
    eval 'sub LAN_REPLY_BUFFER_CONTEXT_SHIFT () {(0);}' unless defined(&LAN_REPLY_BUFFER_CONTEXT_SHIFT);
    eval 'sub LAN_REPLY_FORM_MASK () {(0x18000000);}' unless defined(&LAN_REPLY_FORM_MASK);
    eval 'sub LAN_REPLY_FORM_RECEIVE_SINGLE () {(0x);}' unless defined(&LAN_REPLY_FORM_RECEIVE_SINGLE);
    eval 'sub LAN_REPLY_FORM_RECEIVE_MULTIPLE () {(0x1);}' unless defined(&LAN_REPLY_FORM_RECEIVE_MULTIPLE);
    eval 'sub LAN_REPLY_FORM_SEND_SINGLE () {(0x2);}' unless defined(&LAN_REPLY_FORM_SEND_SINGLE);
    eval 'sub LAN_REPLY_FORM_MESSAGE_CONTEXT () {(0x3);}' unless defined(&LAN_REPLY_FORM_MESSAGE_CONTEXT);
    eval 'sub LAN_REPLY_FORM_SHIFT () {(27);}' unless defined(&LAN_REPLY_FORM_SHIFT);
    eval 'sub GET_LAN_PACKET_LENGTH {
        local($x) = @_;
	    eval q(((($x) &  &LAN_REPLY_PACKET_LENGTH_MASK) >>  &LAN_REPLY_PACKET_LENGTH_SHIFT));
    }' unless defined(&GET_LAN_PACKET_LENGTH);
    eval 'sub SET_LAN_PACKET_LENGTH {
        local($x, $lth) = @_;
	    eval q((($x) = (($x) & ~ &LAN_REPLY_PACKET_LENGTH_MASK) | ((($lth) <<  &LAN_REPLY_PACKET_LENGTH_SHIFT) &  &LAN_REPLY_PACKET_LENGTH_MASK)));
    }' unless defined(&SET_LAN_PACKET_LENGTH);
    eval 'sub GET_LAN_BUCKET_CONTEXT {
        local($x) = @_;
	    eval q(((($x) &  &LAN_REPLY_BUCKET_CONTEXT_MASK) >>  &LAN_REPLY_BUCKET_CONTEXT_SHIFT));
    }' unless defined(&GET_LAN_BUCKET_CONTEXT);
    eval 'sub SET_LAN_BUCKET_CONTEXT {
        local($x, $ctx) = @_;
	    eval q((($x) = (($x) & ~ &LAN_REPLY_BUCKET_CONTEXT_MASK) | ((($ctx) <<  &LAN_REPLY_BUCKET_CONTEXT_SHIFT) &  &LAN_REPLY_BUCKET_CONTEXT_MASK)));
    }' unless defined(&SET_LAN_BUCKET_CONTEXT);
    eval 'sub GET_LAN_BUFFER_CONTEXT {
        local($x) = @_;
	    eval q(((($x) &  &LAN_REPLY_BUFFER_CONTEXT_MASK) >>  &LAN_REPLY_BUFFER_CONTEXT_SHIFT));
    }' unless defined(&GET_LAN_BUFFER_CONTEXT);
    eval 'sub SET_LAN_BUFFER_CONTEXT {
        local($x, $ctx) = @_;
	    eval q((($x) = (($x) & ~ &LAN_REPLY_BUFFER_CONTEXT_MASK) | ((($ctx) <<  &LAN_REPLY_BUFFER_CONTEXT_SHIFT) &  &LAN_REPLY_BUFFER_CONTEXT_MASK)));
    }' unless defined(&SET_LAN_BUFFER_CONTEXT);
    eval 'sub GET_LAN_FORM {
        local($x) = @_;
	    eval q(((($x) &  &LAN_REPLY_FORM_MASK) >>  &LAN_REPLY_FORM_SHIFT));
    }' unless defined(&GET_LAN_FORM);
    eval 'sub SET_LAN_FORM {
        local($x, $frm) = @_;
	    eval q((($x) = (($x) & ~ &LAN_REPLY_FORM_MASK) | ((($frm) <<  &LAN_REPLY_FORM_SHIFT) &  &LAN_REPLY_FORM_MASK)));
    }' unless defined(&SET_LAN_FORM);
    eval 'sub MPI_LAN_DEVICE_STATE_RESET () {(0x);}' unless defined(&MPI_LAN_DEVICE_STATE_RESET);
    eval 'sub MPI_LAN_DEVICE_STATE_OPERATIONAL () {(0x1);}' unless defined(&MPI_LAN_DEVICE_STATE_OPERATIONAL);
    eval 'sub MPI_LAN_TX_MODES_ENABLE_LOOPBACK_SUPPRESSION () {(0x1);}' unless defined(&MPI_LAN_TX_MODES_ENABLE_LOOPBACK_SUPPRESSION);
}
unless(defined(&MPI_RAID_H)) {
    eval 'sub MPI_RAID_H () {1;}' unless defined(&MPI_RAID_H);
    eval 'sub MPI_RAID_ACTION_STATUS () {(0x);}' unless defined(&MPI_RAID_ACTION_STATUS);
    eval 'sub MPI_RAID_ACTION_INDICATOR_STRUCT () {(0x1);}' unless defined(&MPI_RAID_ACTION_INDICATOR_STRUCT);
    eval 'sub MPI_RAID_ACTION_CREATE_VOLUME () {(0x2);}' unless defined(&MPI_RAID_ACTION_CREATE_VOLUME);
    eval 'sub MPI_RAID_ACTION_DELETE_VOLUME () {(0x3);}' unless defined(&MPI_RAID_ACTION_DELETE_VOLUME);
    eval 'sub MPI_RAID_ACTION_DISABLE_VOLUME () {(0x4);}' unless defined(&MPI_RAID_ACTION_DISABLE_VOLUME);
    eval 'sub MPI_RAID_ACTION_ENABLE_VOLUME () {(0x5);}' unless defined(&MPI_RAID_ACTION_ENABLE_VOLUME);
    eval 'sub MPI_RAID_ACTION_QUIESCE_PHYS_IO () {(0x6);}' unless defined(&MPI_RAID_ACTION_QUIESCE_PHYS_IO);
    eval 'sub MPI_RAID_ACTION_ENABLE_PHYS_IO () {(0x7);}' unless defined(&MPI_RAID_ACTION_ENABLE_PHYS_IO);
    eval 'sub MPI_RAID_ACTION_CHANGE_VOLUME_SETTINGS () {(0x8);}' unless defined(&MPI_RAID_ACTION_CHANGE_VOLUME_SETTINGS);
    eval 'sub MPI_RAID_ACTION_PHYSDISK_OFFLINE () {(0xa);}' unless defined(&MPI_RAID_ACTION_PHYSDISK_OFFLINE);
    eval 'sub MPI_RAID_ACTION_PHYSDISK_ONLINE () {(0xb);}' unless defined(&MPI_RAID_ACTION_PHYSDISK_ONLINE);
    eval 'sub MPI_RAID_ACTION_CHANGE_PHYSDISK_SETTINGS () {(0xc);}' unless defined(&MPI_RAID_ACTION_CHANGE_PHYSDISK_SETTINGS);
    eval 'sub MPI_RAID_ACTION_CREATE_PHYSDISK () {(0xd);}' unless defined(&MPI_RAID_ACTION_CREATE_PHYSDISK);
    eval 'sub MPI_RAID_ACTION_DELETE_PHYSDISK () {(0xe);}' unless defined(&MPI_RAID_ACTION_DELETE_PHYSDISK);
    eval 'sub MPI_RAID_ACTION_FAIL_PHYSDISK () {(0xf);}' unless defined(&MPI_RAID_ACTION_FAIL_PHYSDISK);
    eval 'sub MPI_RAID_ACTION_REPLACE_PHYSDISK () {(0x10);}' unless defined(&MPI_RAID_ACTION_REPLACE_PHYSDISK);
    eval 'sub MPI_RAID_ACTION_ACTIVATE_VOLUME () {(0x11);}' unless defined(&MPI_RAID_ACTION_ACTIVATE_VOLUME);
    eval 'sub MPI_RAID_ACTION_INACTIVATE_VOLUME () {(0x12);}' unless defined(&MPI_RAID_ACTION_INACTIVATE_VOLUME);
    eval 'sub MPI_RAID_ACTION_SET_RESYNC_RATE () {(0x13);}' unless defined(&MPI_RAID_ACTION_SET_RESYNC_RATE);
    eval 'sub MPI_RAID_ACTION_SET_DATA_SCRUB_RATE () {(0x14);}' unless defined(&MPI_RAID_ACTION_SET_DATA_SCRUB_RATE);
    eval 'sub MPI_RAID_ACTION_ADATA_DO_NOT_SYNC () {(0x1);}' unless defined(&MPI_RAID_ACTION_ADATA_DO_NOT_SYNC);
    eval 'sub MPI_RAID_ACTION_ADATA_LOW_LEVEL_INIT () {(0x2);}' unless defined(&MPI_RAID_ACTION_ADATA_LOW_LEVEL_INIT);
    eval 'sub MPI_RAID_ACTION_ADATA_KEEP_PHYS_DISKS () {(0x);}' unless defined(&MPI_RAID_ACTION_ADATA_KEEP_PHYS_DISKS);
    eval 'sub MPI_RAID_ACTION_ADATA_DEL_PHYS_DISKS () {(0x1);}' unless defined(&MPI_RAID_ACTION_ADATA_DEL_PHYS_DISKS);
    eval 'sub MPI_RAID_ACTION_ADATA_KEEP_LBA0 () {(0x);}' unless defined(&MPI_RAID_ACTION_ADATA_KEEP_LBA0);
    eval 'sub MPI_RAID_ACTION_ADATA_ZERO_LBA0 () {(0x2);}' unless defined(&MPI_RAID_ACTION_ADATA_ZERO_LBA0);
    eval 'sub MPI_RAID_ACTION_ADATA_INACTIVATE_ALL () {(0x1);}' unless defined(&MPI_RAID_ACTION_ADATA_INACTIVATE_ALL);
    eval 'sub MPI_RAID_ACTION_ASTATUS_SUCCESS () {(0x);}' unless defined(&MPI_RAID_ACTION_ASTATUS_SUCCESS);
    eval 'sub MPI_RAID_ACTION_ASTATUS_INVALID_ACTION () {(0x1);}' unless defined(&MPI_RAID_ACTION_ASTATUS_INVALID_ACTION);
    eval 'sub MPI_RAID_ACTION_ASTATUS_FAILURE () {(0x2);}' unless defined(&MPI_RAID_ACTION_ASTATUS_FAILURE);
    eval 'sub MPI_RAID_ACTION_ASTATUS_IN_PROGRESS () {(0x3);}' unless defined(&MPI_RAID_ACTION_ASTATUS_IN_PROGRESS);
}
unless(defined(&MPI_TARG_H)) {
    eval 'sub MPI_TARG_H () {1;}' unless defined(&MPI_TARG_H);
    eval 'sub CMD_BUFFER_POST_FLAGS_PORT_MASK () {(0x1);}' unless defined(&CMD_BUFFER_POST_FLAGS_PORT_MASK);
    eval 'sub CMD_BUFFER_POST_FLAGS_ADDR_MODE_MASK () {(0x80);}' unless defined(&CMD_BUFFER_POST_FLAGS_ADDR_MODE_MASK);
    eval 'sub CMD_BUFFER_POST_FLAGS_ADDR_MODE_32 () {(0);}' unless defined(&CMD_BUFFER_POST_FLAGS_ADDR_MODE_32);
    eval 'sub CMD_BUFFER_POST_FLAGS_ADDR_MODE_64 () {(1);}' unless defined(&CMD_BUFFER_POST_FLAGS_ADDR_MODE_64);
    eval 'sub CMD_BUFFER_POST_FLAGS_64_BIT_ADDR () {(0x80);}' unless defined(&CMD_BUFFER_POST_FLAGS_64_BIT_ADDR);
    eval 'sub CMD_BUFFER_POST_IO_INDEX_MASK () {(0x3fff);}' unless defined(&CMD_BUFFER_POST_IO_INDEX_MASK);
    eval 'sub CMD_BUFFER_POST_IO_INDEX_MASK_0100 () {(0x3ff);}' unless defined(&CMD_BUFFER_POST_IO_INDEX_MASK_0100);
    eval 'sub PRIORITY_REASON_NO_DISCONNECT () {(0x);}' unless defined(&PRIORITY_REASON_NO_DISCONNECT);
    eval 'sub PRIORITY_REASON_SCSI_TASK_MANAGEMENT () {(0x1);}' unless defined(&PRIORITY_REASON_SCSI_TASK_MANAGEMENT);
    eval 'sub PRIORITY_REASON_CMD_PARITY_ERR () {(0x2);}' unless defined(&PRIORITY_REASON_CMD_PARITY_ERR);
    eval 'sub PRIORITY_REASON_MSG_OUT_PARITY_ERR () {(0x3);}' unless defined(&PRIORITY_REASON_MSG_OUT_PARITY_ERR);
    eval 'sub PRIORITY_REASON_LQ_CRC_ERR () {(0x4);}' unless defined(&PRIORITY_REASON_LQ_CRC_ERR);
    eval 'sub PRIORITY_REASON_CMD_CRC_ERR () {(0x5);}' unless defined(&PRIORITY_REASON_CMD_CRC_ERR);
    eval 'sub PRIORITY_REASON_PROTOCOL_ERR () {(0x6);}' unless defined(&PRIORITY_REASON_PROTOCOL_ERR);
    eval 'sub PRIORITY_REASON_DATA_OUT_PARITY_ERR () {(0x7);}' unless defined(&PRIORITY_REASON_DATA_OUT_PARITY_ERR);
    eval 'sub PRIORITY_REASON_DATA_OUT_CRC_ERR () {(0x8);}' unless defined(&PRIORITY_REASON_DATA_OUT_CRC_ERR);
    eval 'sub PRIORITY_REASON_TARGET_BUSY () {(0x9);}' unless defined(&PRIORITY_REASON_TARGET_BUSY);
    eval 'sub PRIORITY_REASON_UNKNOWN () {(0xff);}' unless defined(&PRIORITY_REASON_UNKNOWN);
    eval 'sub TARGET_ASSIST_FLAGS_DATA_DIRECTION () {(0x1);}' unless defined(&TARGET_ASSIST_FLAGS_DATA_DIRECTION);
    eval 'sub TARGET_ASSIST_FLAGS_AUTO_STATUS () {(0x2);}' unless defined(&TARGET_ASSIST_FLAGS_AUTO_STATUS);
    eval 'sub TARGET_ASSIST_FLAGS_HIGH_PRIORITY () {(0x4);}' unless defined(&TARGET_ASSIST_FLAGS_HIGH_PRIORITY);
    eval 'sub TARGET_ASSIST_FLAGS_CONFIRMED () {(0x8);}' unless defined(&TARGET_ASSIST_FLAGS_CONFIRMED);
    eval 'sub TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER () {(0x80);}' unless defined(&TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER);
    eval 'sub TARGET_STATUS_SEND_FLAGS_AUTO_GOOD_STATUS () {(0x1);}' unless defined(&TARGET_STATUS_SEND_FLAGS_AUTO_GOOD_STATUS);
    eval 'sub TARGET_STATUS_SEND_FLAGS_HIGH_PRIORITY () {(0x4);}' unless defined(&TARGET_STATUS_SEND_FLAGS_HIGH_PRIORITY);
    eval 'sub TARGET_STATUS_SEND_FLAGS_CONFIRMED () {(0x8);}' unless defined(&TARGET_STATUS_SEND_FLAGS_CONFIRMED);
    eval 'sub TARGET_STATUS_SEND_FLAGS_REPOST_CMD_BUFFER () {(0x80);}' unless defined(&TARGET_STATUS_SEND_FLAGS_REPOST_CMD_BUFFER);
    eval 'sub TARGET_MODE_ABORT_TYPE_ALL_CMD_BUFFERS () {(0x);}' unless defined(&TARGET_MODE_ABORT_TYPE_ALL_CMD_BUFFERS);
    eval 'sub TARGET_MODE_ABORT_TYPE_ALL_IO () {(0x1);}' unless defined(&TARGET_MODE_ABORT_TYPE_ALL_IO);
    eval 'sub TARGET_MODE_ABORT_TYPE_EXACT_IO () {(0x2);}' unless defined(&TARGET_MODE_ABORT_TYPE_EXACT_IO);
    eval 'sub TARGET_MODE_ABORT_TYPE_EXACT_IO_REQUEST () {(0x3);}' unless defined(&TARGET_MODE_ABORT_TYPE_EXACT_IO_REQUEST);
    eval 'sub TARGET_MODE_REPLY_IO_INDEX_MASK () {(0x3fff);}' unless defined(&TARGET_MODE_REPLY_IO_INDEX_MASK);
    eval 'sub TARGET_MODE_REPLY_IO_INDEX_SHIFT () {(0);}' unless defined(&TARGET_MODE_REPLY_IO_INDEX_SHIFT);
    eval 'sub TARGET_MODE_REPLY_INITIATOR_INDEX_MASK () {(0x3ffc000);}' unless defined(&TARGET_MODE_REPLY_INITIATOR_INDEX_MASK);
    eval 'sub TARGET_MODE_REPLY_INITIATOR_INDEX_SHIFT () {(14);}' unless defined(&TARGET_MODE_REPLY_INITIATOR_INDEX_SHIFT);
    eval 'sub TARGET_MODE_REPLY_ALIAS_MASK () {(0x4000000);}' unless defined(&TARGET_MODE_REPLY_ALIAS_MASK);
    eval 'sub TARGET_MODE_REPLY_ALIAS_SHIFT () {(26);}' unless defined(&TARGET_MODE_REPLY_ALIAS_SHIFT);
    eval 'sub TARGET_MODE_REPLY_PORT_MASK () {(0x10000000);}' unless defined(&TARGET_MODE_REPLY_PORT_MASK);
    eval 'sub TARGET_MODE_REPLY_PORT_SHIFT () {(28);}' unless defined(&TARGET_MODE_REPLY_PORT_SHIFT);
    eval 'sub GET_IO_INDEX {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_IO_INDEX_MASK) >>  &TARGET_MODE_REPLY_IO_INDEX_SHIFT));
    }' unless defined(&GET_IO_INDEX);
    eval 'sub SET_IO_INDEX {
        local($t, $i) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_IO_INDEX_MASK) | ((($i) <<  &TARGET_MODE_REPLY_IO_INDEX_SHIFT) &  &TARGET_MODE_REPLY_IO_INDEX_MASK)));
    }' unless defined(&SET_IO_INDEX);
    eval 'sub GET_INITIATOR_INDEX {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_INITIATOR_INDEX_MASK) >>  &TARGET_MODE_REPLY_INITIATOR_INDEX_SHIFT));
    }' unless defined(&GET_INITIATOR_INDEX);
    eval 'sub SET_INITIATOR_INDEX {
        local($t, $ii) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_INITIATOR_INDEX_MASK) | ((($ii) <<  &TARGET_MODE_REPLY_INITIATOR_INDEX_SHIFT) &  &TARGET_MODE_REPLY_INITIATOR_INDEX_MASK)));
    }' unless defined(&SET_INITIATOR_INDEX);
    eval 'sub GET_ALIAS {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_ALIAS_MASK) >>  &TARGET_MODE_REPLY_ALIAS_SHIFT));
    }' unless defined(&GET_ALIAS);
    eval 'sub SET_ALIAS {
        local($t, $a) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_ALIAS_MASK) | ((($a) <<  &TARGET_MODE_REPLY_ALIAS_SHIFT) &  &TARGET_MODE_REPLY_ALIAS_MASK)));
    }' unless defined(&SET_ALIAS);
    eval 'sub GET_PORT {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_PORT_MASK) >>  &TARGET_MODE_REPLY_PORT_SHIFT));
    }' unless defined(&GET_PORT);
    eval 'sub SET_PORT {
        local($t, $p) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_PORT_MASK) | ((($p) <<  &TARGET_MODE_REPLY_PORT_SHIFT) &  &TARGET_MODE_REPLY_PORT_MASK)));
    }' unless defined(&SET_PORT);
    eval 'sub TARGET_MODE_REPLY_0100_MASK_HOST_INDEX () {(0x3ff);}' unless defined(&TARGET_MODE_REPLY_0100_MASK_HOST_INDEX);
    eval 'sub TARGET_MODE_REPLY_0100_SHIFT_HOST_INDEX () {(0);}' unless defined(&TARGET_MODE_REPLY_0100_SHIFT_HOST_INDEX);
    eval 'sub TARGET_MODE_REPLY_0100_MASK_IOC_INDEX () {(0x1ff800);}' unless defined(&TARGET_MODE_REPLY_0100_MASK_IOC_INDEX);
    eval 'sub TARGET_MODE_REPLY_0100_SHIFT_IOC_INDEX () {(11);}' unless defined(&TARGET_MODE_REPLY_0100_SHIFT_IOC_INDEX);
    eval 'sub TARGET_MODE_REPLY_0100_PORT_MASK () {(0x400000);}' unless defined(&TARGET_MODE_REPLY_0100_PORT_MASK);
    eval 'sub TARGET_MODE_REPLY_0100_PORT_SHIFT () {(22);}' unless defined(&TARGET_MODE_REPLY_0100_PORT_SHIFT);
    eval 'sub TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX () {(0x1f800000);}' unless defined(&TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX);
    eval 'sub TARGET_MODE_REPLY_0100_SHIFT_INITIATOR_INDEX () {(23);}' unless defined(&TARGET_MODE_REPLY_0100_SHIFT_INITIATOR_INDEX);
    eval 'sub GET_HOST_INDEX_0100 {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_0100_MASK_HOST_INDEX) >>  &TARGET_MODE_REPLY_0100_SHIFT_HOST_INDEX));
    }' unless defined(&GET_HOST_INDEX_0100);
    eval 'sub SET_HOST_INDEX_0100 {
        local($t, $hi) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_0100_MASK_HOST_INDEX) | ((($hi) <<  &TARGET_MODE_REPLY_0100_SHIFT_HOST_INDEX) &  &TARGET_MODE_REPLY_0100_MASK_HOST_INDEX)));
    }' unless defined(&SET_HOST_INDEX_0100);
    eval 'sub GET_IOC_INDEX_0100 {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_0100_MASK_IOC_INDEX) >>  &TARGET_MODE_REPLY_0100_SHIFT_IOC_INDEX));
    }' unless defined(&GET_IOC_INDEX_0100);
    eval 'sub SET_IOC_INDEX_0100 {
        local($t, $ii) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_0100_MASK_IOC_INDEX) | ((($ii) <<  &TARGET_MODE_REPLY_0100_SHIFT_IOC_INDEX) &  &TARGET_MODE_REPLY_0100_MASK_IOC_INDEX)));
    }' unless defined(&SET_IOC_INDEX_0100);
    eval 'sub GET_INITIATOR_INDEX_0100 {
        local($x) = @_;
	    eval q(((($x) &  &TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX) >>  &TARGET_MODE_REPLY_0100_SHIFT_INITIATOR_INDEX));
    }' unless defined(&GET_INITIATOR_INDEX_0100);
    eval 'sub SET_INITIATOR_INDEX_0100 {
        local($t, $ii) = @_;
	    eval q((($t) = (($t) & ~ &TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX) | ((($ii) <<  &TARGET_MODE_REPLY_0100_SHIFT_INITIATOR_INDEX) &  &TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX)));
    }' unless defined(&SET_INITIATOR_INDEX_0100);
}
1;
