mpi_ioc.h
来自「LINUX 2.6.17.4的源码」· C头文件 代码 · 共 1,018 行 · 第 1/4 页
H
1,018 行
#define MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT (0x01)#define MPI_IOCFACTS_FLAGS_REPLY_FIFO_HOST_SIGNAL (0x02)#define MPI_IOCFACTS_FLAGS_HOST_PAGE_BUFFER_PERSISTENT (0x04)#define MPI_IOCFACTS_EVENTSTATE_DISABLED (0x00)#define MPI_IOCFACTS_EVENTSTATE_ENABLED (0x01)#define MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q (0x00000001)#define MPI_IOCFACTS_CAPABILITY_REPLY_HOST_SIGNAL (0x00000002)#define MPI_IOCFACTS_CAPABILITY_QUEUE_FULL_HANDLING (0x00000004)#define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER (0x00000008)#define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER (0x00000010)#define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER (0x00000020)#define MPI_IOCFACTS_CAPABILITY_EEDP (0x00000040)#define MPI_IOCFACTS_CAPABILITY_BIDIRECTIONAL (0x00000080)#define MPI_IOCFACTS_CAPABILITY_MULTICAST (0x00000100)#define MPI_IOCFACTS_CAPABILITY_SCSIIO32 (0x00000200)#define MPI_IOCFACTS_CAPABILITY_NO_SCSIIO16 (0x00000400)/******************************************************************************* P o r t M e s s a g e s******************************************************************************//****************************************************************************//* Port Facts message and Reply *//****************************************************************************/typedef struct _MSG_PORT_FACTS{ 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_FACTS, MPI_POINTER PTR_MSG_PORT_FACTS, PortFacts_t, MPI_POINTER pPortFacts_t;typedef struct _MSG_PORT_FACTS_REPLY{ U16 Reserved; /* 00h */ U8 MsgLength; /* 02h */ U8 Function; /* 03h */ U16 Reserved1; /* 04h */ 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)#define MPI_EVENT_IR_RESYNC_UPDATE (0x00000014)#define MPI_EVENT_IR2 (0x00000015)#define MPI_EVENT_SAS_DISCOVERY (0x00000016)#define MPI_EVENT_LOG_ENTRY_ADDED (0x00000021)/* 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;/* LogEntryAdded Event data *//* this structure matches MPI_LOG_0_ENTRY in mpi_cnfg.h */#define MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH (0x1C)typedef struct _EVENT_DATA_LOG_ENTRY{ U32 TimeStamp; /* 00h */ U32 Reserved1; /* 04h */ U16 LogSequence; /* 08h */ U16 LogEntryQualifier; /* 0Ah */ U8 LogData[MPI_EVENT_DATA_LOG_ENTRY_DATA_LENGTH]; /* 0Ch */} EVENT_DATA_LOG_ENTRY, MPI_POINTER PTR_EVENT_DATA_LOG_ENTRY, MpiEventDataLogEntry_t, MPI_POINTER pMpiEventDataLogEntry_t;typedef struct _EVENT_DATA_LOG_ENTRY_ADDED{ U16 LogSequence; /* 00h */ U16 Reserved1; /* 02h */ U32 Reserved2; /* 04h */ EVENT_DATA_LOG_ENTRY LogEntry; /* 08h */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?