⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpi_cnfg.h

📁 这个linux源代码是很全面的~基本完整了~使用c编译的~由于时间问题我没有亲自测试~但就算用来做参考资料也是非常好的
💻 H
📖 第 1 页 / 共 5 页
字号:
  ConfigPageIoc2RaidVol_t, MPI_POINTER pConfigPageIoc2RaidVol_t;/* IOC Page 2 Volume RAID Type values, also used in RAID Volume pages */#define MPI_RAID_VOL_TYPE_IS                        (0x00)#define MPI_RAID_VOL_TYPE_IME                       (0x01)#define MPI_RAID_VOL_TYPE_IM                        (0x02)/* IOC Page 2 Volume Flags values */#define MPI_IOCPAGE2_FLAG_VOLUME_INACTIVE           (0x08)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_2_RAID_VOLUME_MAX#define MPI_IOC_PAGE_2_RAID_VOLUME_MAX      (1)#endiftypedef struct _CONFIG_PAGE_IOC_2{    fCONFIG_PAGE_HEADER          Header;                              /* 00h */    U32                         CapabilitiesFlags;                   /* 04h */    U8                          NumActiveVolumes;                    /* 08h */    U8                          MaxVolumes;                          /* 09h */    U8                          NumActivePhysDisks;                  /* 0Ah */    U8                          MaxPhysDisks;                        /* 0Bh */    fCONFIG_PAGE_IOC_2_RAID_VOL  RaidVolume[MPI_IOC_PAGE_2_RAID_VOLUME_MAX];/* 0Ch */} fCONFIG_PAGE_IOC_2, MPI_POINTER PTR_CONFIG_PAGE_IOC_2,  IOCPage2_t, MPI_POINTER pIOCPage2_t;#define MPI_IOCPAGE2_PAGEVERSION                        (0x02)/* IOC Page 2 Capabilities flags */#define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT               (0x00000001)#define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT              (0x00000002)#define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT               (0x00000004)#define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT              (0x20000000)#define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT            (0x40000000)#define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT    (0x80000000)typedef struct _IOC_3_PHYS_DISK{    U8                          PhysDiskID;             /* 00h */    U8                          PhysDiskBus;            /* 01h */    U8                          PhysDiskIOC;            /* 02h */    U8                          PhysDiskNum;            /* 03h */} IOC_3_PHYS_DISK, MPI_POINTER PTR_IOC_3_PHYS_DISK,  Ioc3PhysDisk_t, MPI_POINTER pIoc3PhysDisk_t;/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_3_PHYSDISK_MAX#define MPI_IOC_PAGE_3_PHYSDISK_MAX         (1)#endiftypedef struct _CONFIG_PAGE_IOC_3{    fCONFIG_PAGE_HEADER          Header;                                /* 00h */    U8                          NumPhysDisks;                          /* 04h */    U8                          Reserved1;                             /* 05h */    U16                         Reserved2;                             /* 06h */    IOC_3_PHYS_DISK             PhysDisk[MPI_IOC_PAGE_3_PHYSDISK_MAX]; /* 08h */} fCONFIG_PAGE_IOC_3, MPI_POINTER PTR_CONFIG_PAGE_IOC_3,  IOCPage3_t, MPI_POINTER pIOCPage3_t;#define MPI_IOCPAGE3_PAGEVERSION                        (0x00)typedef struct _IOC_4_SEP{    U8                          SEPTargetID;            /* 00h */    U8                          SEPBus;                 /* 01h */    U16                         Reserved;               /* 02h */} IOC_4_SEP, MPI_POINTER PTR_IOC_4_SEP,  Ioc4Sep_t, MPI_POINTER pIoc4Sep_t;/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_4_SEP_MAX#define MPI_IOC_PAGE_4_SEP_MAX              (1)#endiftypedef struct _CONFIG_PAGE_IOC_4{    fCONFIG_PAGE_HEADER          Header;                         /* 00h */    U8                          ActiveSEP;                      /* 04h */    U8                          MaxSEP;                         /* 05h */    U16                         Reserved1;                      /* 06h */    IOC_4_SEP                   SEP[MPI_IOC_PAGE_4_SEP_MAX];    /* 08h */} fCONFIG_PAGE_IOC_4, MPI_POINTER PTR_CONFIG_PAGE_IOC_4,  IOCPage4_t, MPI_POINTER pIOCPage4_t;#define MPI_IOCPAGE4_PAGEVERSION                        (0x00)typedef struct _IOC_5_HOT_SPARE{    U8                          PhysDiskNum;            /* 00h */    U8                          Reserved;               /* 01h */    U8                          HotSparePool;           /* 02h */    U8                          Flags;                   /* 03h */} IOC_5_HOT_SPARE, MPI_POINTER PTR_IOC_5_HOT_SPARE,  Ioc5HotSpare_t, MPI_POINTER pIoc5HotSpare_t;/* IOC Page 5 HotSpare Flags */#define MPI_IOC_PAGE_5_HOT_SPARE_ACTIVE                 (0x01)/* * Host code (drivers, BIOS, utilities, etc.) should leave this define set to * one and check Header.PageLength at runtime. */#ifndef MPI_IOC_PAGE_5_HOT_SPARE_MAX#define MPI_IOC_PAGE_5_HOT_SPARE_MAX        (1)#endiftypedef struct _CONFIG_PAGE_IOC_5{    fCONFIG_PAGE_HEADER         Header;                         /* 00h */    U32                         Reserved1;                      /* 04h */    U8                          NumHotSpares;                   /* 08h */    U8                          Reserved2;                      /* 09h */    U16                         Reserved3;                      /* 0Ah */    IOC_5_HOT_SPARE             HotSpare[MPI_IOC_PAGE_5_HOT_SPARE_MAX]; /* 0Ch */} fCONFIG_PAGE_IOC_5, MPI_POINTER PTR_CONFIG_PAGE_IOC_5,  IOCPage5_t, MPI_POINTER pIOCPage5_t;#define MPI_IOCPAGE5_PAGEVERSION                        (0x00)/*****************************************************************************   SCSI Port Config Pages****************************************************************************/typedef struct _CONFIG_PAGE_SCSI_PORT_0{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     Capabilities;               /* 04h */    U32                     PhysicalInterface;          /* 08h */} fCONFIG_PAGE_SCSI_PORT_0, MPI_POINTER PTR_CONFIG_PAGE_SCSI_PORT_0,  SCSIPortPage0_t, MPI_POINTER pSCSIPortPage0_t;#define MPI_SCSIPORTPAGE0_PAGEVERSION                   (0x01)#define MPI_SCSIPORTPAGE0_CAP_IU                        (0x00000001)#define MPI_SCSIPORTPAGE0_CAP_DT                        (0x00000002)#define MPI_SCSIPORTPAGE0_CAP_QAS                       (0x00000004)#define MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK      (0x0000FF00)#define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK      (0x00FF0000)#define MPI_SCSIPORTPAGE0_CAP_WIDE                      (0x20000000)#define MPI_SCSIPORTPAGE0_CAP_AIP                       (0x80000000)#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_TYPE_MASK          (0x00000003)#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_HVD                (0x01)#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_SE                 (0x02)#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD                (0x03)typedef struct _CONFIG_PAGE_SCSI_PORT_1{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     Configuration;              /* 04h */    U32                     OnBusTimerValue;            /* 08h */} fCONFIG_PAGE_SCSI_PORT_1, MPI_POINTER PTR_CONFIG_PAGE_SCSI_PORT_1,  SCSIPortPage1_t, MPI_POINTER pSCSIPortPage1_t;#define MPI_SCSIPORTPAGE1_PAGEVERSION                   (0x02)#define MPI_SCSIPORTPAGE1_CFG_PORT_SCSI_ID_MASK         (0x000000FF)#define MPI_SCSIPORTPAGE1_CFG_PORT_RESPONSE_ID_MASK     (0xFFFF0000)typedef struct _MPI_DEVICE_INFO{    U8      Timeout;                                    /* 00h */    U8      SyncFactor;                                 /* 01h */    U16     DeviceFlags;                                /* 02h */} MPI_DEVICE_INFO, MPI_POINTER PTR_MPI_DEVICE_INFO,  MpiDeviceInfo_t, MPI_POINTER pMpiDeviceInfo_t;typedef struct _CONFIG_PAGE_SCSI_PORT_2{    fCONFIG_PAGE_HEADER  Header;                         /* 00h */    U32                 PortFlags;                      /* 04h */    U32                 PortSettings;                   /* 08h */    MPI_DEVICE_INFO     DeviceSettings[16];             /* 0Ch */} fCONFIG_PAGE_SCSI_PORT_2, MPI_POINTER PTR_CONFIG_PAGE_SCSI_PORT_2,  SCSIPortPage2_t, MPI_POINTER pSCSIPortPage2_t;#define MPI_SCSIPORTPAGE2_PAGEVERSION                       (0x01)#define MPI_SCSIPORTPAGE2_PORT_FLAGS_SCAN_HIGH_TO_LOW       (0x00000001)#define MPI_SCSIPORTPAGE2_PORT_FLAGS_AVOID_SCSI_RESET       (0x00000004)#define MPI_SCSIPORTPAGE2_PORT_FLAGS_ALTERNATE_CHS          (0x00000008)#define MPI_SCSIPORTPAGE2_PORT_FLAGS_TERMINATION_DISABLE    (0x00000010)#define MPI_SCSIPORTPAGE2_PORT_HOST_ID_MASK                 (0x0000000F)#define MPI_SCSIPORTPAGE2_PORT_MASK_INIT_HBA                (0x00000030)#define MPI_SCSIPORTPAGE2_PORT_DISABLE_INIT_HBA             (0x00000000)#define MPI_SCSIPORTPAGE2_PORT_BIOS_INIT_HBA                (0x00000010)#define MPI_SCSIPORTPAGE2_PORT_OS_INIT_HBA                  (0x00000020)#define MPI_SCSIPORTPAGE2_PORT_BIOS_OS_INIT_HBA             (0x00000030)#define MPI_SCSIPORTPAGE2_PORT_REMOVABLE_MEDIA              (0x000000C0)#define MPI_SCSIPORTPAGE2_PORT_SPINUP_DELAY_MASK            (0x00000F00)#define MPI_SCSIPORTPAGE2_PORT_MASK_NEGO_MASTER_SETTINGS    (0x00003000)#define MPI_SCSIPORTPAGE2_PORT_NEGO_MASTER_SETTINGS         (0x00000000)#define MPI_SCSIPORTPAGE2_PORT_NONE_MASTER_SETTINGS         (0x00001000)#define MPI_SCSIPORTPAGE2_PORT_ALL_MASTER_SETTINGS          (0x00003000)#define MPI_SCSIPORTPAGE2_DEVICE_DISCONNECT_ENABLE          (0x0001)#define MPI_SCSIPORTPAGE2_DEVICE_ID_SCAN_ENABLE             (0x0002)#define MPI_SCSIPORTPAGE2_DEVICE_LUN_SCAN_ENABLE            (0x0004)#define MPI_SCSIPORTPAGE2_DEVICE_TAG_QUEUE_ENABLE           (0x0008)#define MPI_SCSIPORTPAGE2_DEVICE_WIDE_DISABLE               (0x0010)#define MPI_SCSIPORTPAGE2_DEVICE_BOOT_CHOICE                (0x0020)/*****************************************************************************   SCSI Target Device Config Pages****************************************************************************/typedef struct _CONFIG_PAGE_SCSI_DEVICE_0{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     NegotiatedParameters;       /* 04h */    U32                     Information;                /* 08h */} fCONFIG_PAGE_SCSI_DEVICE_0, MPI_POINTER PTR_CONFIG_PAGE_SCSI_DEVICE_0,  SCSIDevicePage0_t, MPI_POINTER pSCSIDevicePage0_t;#define MPI_SCSIDEVPAGE0_PAGEVERSION                    (0x03)#define MPI_SCSIDEVPAGE0_NP_IU                          (0x00000001)#define MPI_SCSIDEVPAGE0_NP_DT                          (0x00000002)#define MPI_SCSIDEVPAGE0_NP_QAS                         (0x00000004)#define MPI_SCSIDEVPAGE0_NP_HOLD_MCS                    (0x00000008)#define MPI_SCSIDEVPAGE0_NP_WR_FLOW                     (0x00000010)#define MPI_SCSIDEVPAGE0_NP_RD_STRM                     (0x00000020)#define MPI_SCSIDEVPAGE0_NP_RTI                         (0x00000040)#define MPI_SCSIDEVPAGE0_NP_PCOMP_EN                    (0x00000080)#define MPI_SCSIDEVPAGE0_NP_NEG_SYNC_PERIOD_MASK        (0x0000FF00)#define MPI_SCSIDEVPAGE0_NP_NEG_SYNC_OFFSET_MASK        (0x00FF0000)#define MPI_SCSIDEVPAGE0_NP_WIDE                        (0x20000000)#define MPI_SCSIDEVPAGE0_NP_AIP                         (0x80000000)#define MPI_SCSIDEVPAGE0_INFO_PARAMS_NEGOTIATED         (0x00000001)#define MPI_SCSIDEVPAGE0_INFO_SDTR_REJECTED             (0x00000002)#define MPI_SCSIDEVPAGE0_INFO_WDTR_REJECTED             (0x00000004)#define MPI_SCSIDEVPAGE0_INFO_PPR_REJECTED              (0x00000008)typedef struct _CONFIG_PAGE_SCSI_DEVICE_1{    fCONFIG_PAGE_HEADER      Header;                     /* 00h */    U32                     RequestedParameters;        /* 04h */    U32                     Reserved;                   /* 08h */    U32                     Configuration;              /* 0Ch */} fCONFIG_PAGE_SCSI_DEVICE_1, MPI_POINTER PTR_CONFIG_PAGE_SCSI_DEVICE_1,  SCSIDevicePage1_t, MPI_POINTER pSCSIDevicePage1_t;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -