📄 mpi_ioc.h
字号:
U8 PortNumber; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ U8 Reserved3; /* 14h */ U8 PortType; /* 15h */ U16 MaxDevices; /* 16h */ U16 PortSCSIID; /* 18h */ U16 ProtocolFlags; /* 1Ah */ U16 MaxPostedCmdBuffers; /* 1Ch */ U16 MaxPersistentIDs; /* 1Eh */ U16 MaxLanBuckets; /* 20h */ U16 Reserved4; /* 22h */ U32 Reserved5; /* 24h */} MSG_PORT_FACTS_REPLY, MPI_POINTER PTR_MSG_PORT_FACTS_REPLY, PortFactsReply_t, MPI_POINTER pPortFactsReply_t;/* PortTypes values */#define MPI_PORTFACTS_PORTTYPE_INACTIVE (0x00)#define MPI_PORTFACTS_PORTTYPE_SCSI (0x01)#define MPI_PORTFACTS_PORTTYPE_FC (0x10)#define MPI_PORTFACTS_PORTTYPE_ISCSI (0x20)#define MPI_PORTFACTS_PORTTYPE_SAS (0x30)/* ProtocolFlags values */#define MPI_PORTFACTS_PROTOCOL_LOGBUSADDR (0x01)#define MPI_PORTFACTS_PROTOCOL_LAN (0x02)#define MPI_PORTFACTS_PROTOCOL_TARGET (0x04)#define MPI_PORTFACTS_PROTOCOL_INITIATOR (0x08)/****************************************************************************//* Port Enable Message *//****************************************************************************/typedef struct _MSG_PORT_ENABLE{ U8 Reserved[2]; /* 00h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[2]; /* 04h */ U8 PortNumber; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */} MSG_PORT_ENABLE, MPI_POINTER PTR_MSG_PORT_ENABLE, PortEnable_t, MPI_POINTER pPortEnable_t;typedef struct _MSG_PORT_ENABLE_REPLY{ U8 Reserved[2]; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[2]; /* 04h */ U8 PortNumber; /* 05h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */} MSG_PORT_ENABLE_REPLY, MPI_POINTER PTR_MSG_PORT_ENABLE_REPLY, PortEnableReply_t, MPI_POINTER pPortEnableReply_t;/******************************************************************************* E v e n t M e s s a g e s******************************************************************************//****************************************************************************//* Event Notification messages *//****************************************************************************/typedef struct _MSG_EVENT_NOTIFY{ U8 Switch; /* 00h */ U8 Reserved; /* 01h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */} MSG_EVENT_NOTIFY, MPI_POINTER PTR_MSG_EVENT_NOTIFY, EventNotification_t, MPI_POINTER pEventNotification_t;/* Event Notification Reply */typedef struct _MSG_EVENT_NOTIFY_REPLY{ U16 EventDataLength; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[2]; /* 04h */ U8 AckRequired; /* 06h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U8 Reserved2[2]; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */ U32 Event; /* 14h */ U32 EventContext; /* 18h */ U32 Data[1]; /* 1Ch */} MSG_EVENT_NOTIFY_REPLY, MPI_POINTER PTR_MSG_EVENT_NOTIFY_REPLY, EventNotificationReply_t, MPI_POINTER pEventNotificationReply_t;/* Event Acknowledge */typedef struct _MSG_EVENT_ACK{ U8 Reserved[2]; /* 00h */ U8 ChainOffset; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U32 Event; /* 0Ch */ U32 EventContext; /* 10h */} MSG_EVENT_ACK, MPI_POINTER PTR_MSG_EVENT_ACK, EventAck_t, MPI_POINTER pEventAck_t;typedef struct _MSG_EVENT_ACK_REPLY{ U8 Reserved[2]; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U8 Reserved1[3]; /* 04h */ U8 MsgFlags; /* 07h */ U32 MsgContext; /* 08h */ U16 Reserved2; /* 0Ch */ U16 IOCStatus; /* 0Eh */ U32 IOCLogInfo; /* 10h */} MSG_EVENT_ACK_REPLY, MPI_POINTER PTR_MSG_EVENT_ACK_REPLY, EventAckReply_t, MPI_POINTER pEventAckReply_t;/* Switch */#define MPI_EVENT_NOTIFICATION_SWITCH_OFF (0x00)#define MPI_EVENT_NOTIFICATION_SWITCH_ON (0x01)/* Event */#define MPI_EVENT_NONE (0x00000000)#define MPI_EVENT_LOG_DATA (0x00000001)#define MPI_EVENT_STATE_CHANGE (0x00000002)#define MPI_EVENT_UNIT_ATTENTION (0x00000003)#define MPI_EVENT_IOC_BUS_RESET (0x00000004)#define MPI_EVENT_EXT_BUS_RESET (0x00000005)#define MPI_EVENT_RESCAN (0x00000006)#define MPI_EVENT_LINK_STATUS_CHANGE (0x00000007)#define MPI_EVENT_LOOP_STATE_CHANGE (0x00000008)#define MPI_EVENT_LOGOUT (0x00000009)#define MPI_EVENT_EVENT_CHANGE (0x0000000A)#define MPI_EVENT_INTEGRATED_RAID (0x0000000B)#define MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE (0x0000000C)#define MPI_EVENT_ON_BUS_TIMER_EXPIRED (0x0000000D)#define MPI_EVENT_QUEUE_FULL (0x0000000E)#define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE (0x0000000F)#define MPI_EVENT_SAS_SES (0x00000010)#define MPI_EVENT_PERSISTENT_TABLE_FULL (0x00000011)#define MPI_EVENT_SAS_PHY_LINK_STATUS (0x00000012)#define MPI_EVENT_SAS_DISCOVERY_ERROR (0x00000013)/* AckRequired field values */#define MPI_EVENT_NOTIFICATION_ACK_NOT_REQUIRED (0x00)#define MPI_EVENT_NOTIFICATION_ACK_REQUIRED (0x01)/* EventChange Event data */typedef struct _EVENT_DATA_EVENT_CHANGE{ U8 EventState; /* 00h */ U8 Reserved; /* 01h */ U16 Reserved1; /* 02h */} EVENT_DATA_EVENT_CHANGE, MPI_POINTER PTR_EVENT_DATA_EVENT_CHANGE, EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t;/* SCSI Event data for Port, Bus and Device forms */typedef struct _EVENT_DATA_SCSI{ U8 TargetID; /* 00h */ U8 BusPort; /* 01h */ U16 Reserved; /* 02h */} EVENT_DATA_SCSI, MPI_POINTER PTR_EVENT_DATA_SCSI, EventDataScsi_t, MPI_POINTER pEventDataScsi_t;/* SCSI Device Status Change Event data */typedef struct _EVENT_DATA_SCSI_DEVICE_STATUS_CHANGE{ U8 TargetID; /* 00h */ U8 Bus; /* 01h */ U8 ReasonCode; /* 02h */ U8 LUN; /* 03h */ U8 ASC; /* 04h */ U8 ASCQ; /* 05h */ U16 Reserved; /* 06h */} EVENT_DATA_SCSI_DEVICE_STATUS_CHANGE, MPI_POINTER PTR_EVENT_DATA_SCSI_DEVICE_STATUS_CHANGE, MpiEventDataScsiDeviceStatusChange_t, MPI_POINTER pMpiEventDataScsiDeviceStatusChange_t;/* MPI SCSI Device Status Change Event data ReasonCode values */#define MPI_EVENT_SCSI_DEV_STAT_RC_ADDED (0x03)#define MPI_EVENT_SCSI_DEV_STAT_RC_NOT_RESPONDING (0x04)#define MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA (0x05)/* SAS Device Status Change Event data */typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE{ U8 TargetID; /* 00h */ U8 Bus; /* 01h */ U8 ReasonCode; /* 02h */ U8 Reserved; /* 03h */ U8 ASC; /* 04h */ U8 ASCQ; /* 05h */ U16 DevHandle; /* 06h */ U32 DeviceInfo; /* 08h */ U16 ParentDevHandle; /* 0Ch */ U8 PhyNum; /* 0Eh */ U8 Reserved1; /* 0Fh */ U64 SASAddress; /* 10h */} EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, MPI_POINTER PTR_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE, MpiEventDataSasDeviceStatusChange_t, MPI_POINTER pMpiEventDataSasDeviceStatusChange_t;/* MPI SAS Device Status Change Event data ReasonCode values */#define MPI_EVENT_SAS_DEV_STAT_RC_ADDED (0x03)#define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING (0x04)#define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA (0x05)#define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED (0x06)#define MPI_EVENT_SAS_DEV_STAT_RC_UNSUPPORTED (0x07)/* SCSI Event data for Queue Full event */typedef struct _EVENT_DATA_QUEUE_FULL{ U8 TargetID; /* 00h */ U8 Bus; /* 01h */ U16 CurrentDepth; /* 02h */} EVENT_DATA_QUEUE_FULL, MPI_POINTER PTR_EVENT_DATA_QUEUE_FULL, EventDataQueueFull_t, MPI_POINTER pEventDataQueueFull_t;/* MPI Integrated RAID Event data */typedef struct _EVENT_DATA_RAID{ U8 VolumeID; /* 00h */ U8 VolumeBus; /* 01h */ U8 ReasonCode; /* 02h */ U8 PhysDiskNum; /* 03h */ U8 ASC; /* 04h */ U8 ASCQ; /* 05h */ U16 Reserved; /* 06h */ U32 SettingsStatus; /* 08h */} EVENT_DATA_RAID, MPI_POINTER PTR_EVENT_DATA_RAID, MpiEventDataRaid_t, MPI_POINTER pMpiEventDataRaid_t;/* MPI Integrated RAID Event data ReasonCode values */#define MPI_EVENT_RAID_RC_VOLUME_CREATED (0x00)#define MPI_EVENT_RAID_RC_VOLUME_DELETED (0x01)#define MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED (0x02)#define MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED (0x03)#define MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED (0x04)#define MPI_EVENT_RAID_RC_PHYSDISK_CREATED (0x05)#define MPI_EVENT_RAID_RC_PHYSDISK_DELETED (0x06)#define MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED (0x07)#define MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED (0x08)#define MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED (0x09)#define MPI_EVENT_RAID_RC_SMART_DATA (0x0A)#define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED (0x0B)/* MPI Link Status Change Event data */typedef struct _EVENT_DATA_LINK_STATUS{ U8 State; /* 00h */ U8 Reserved; /* 01h */ U16 Reserved1; /* 02h */ U8 Reserved2; /* 04h */ U8 Port; /* 05h */ U16 Reserved3; /* 06h */} EVENT_DATA_LINK_STATUS, MPI_POINTER PTR_EVENT_DATA_LINK_STATUS, EventDataLinkStatus_t, MPI_POINTER pEventDataLinkStatus_t;#define MPI_EVENT_LINK_STATUS_FAILURE (0x00000000)#define MPI_EVENT_LINK_STATUS_ACTIVE (0x00000001)/* MPI Loop State Change Event data */typedef struct _EVENT_DATA_LOOP_STATE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -