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

📄 csmisas.h

📁 6440linuxDriver的源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
#define CSMI_SAS_PHY_CANNOT_BE_SELECTED      2004#define CSMI_SAS_SELECT_PHY_OR_PORT          2005#define CSMI_SAS_PORT_DOES_NOT_EXIST         2006#define CSMI_SAS_PORT_CANNOT_BE_SELECTED     2007#define CSMI_SAS_CONNECTION_FAILED           2008#define CSMI_SAS_NO_SATA_DEVICE              2009#define CSMI_SAS_NO_SATA_SIGNATURE           2010#define CSMI_SAS_SCSI_EMULATION              2011#define CSMI_SAS_NOT_AN_END_DEVICE           2012#define CSMI_SAS_NO_SCSI_ADDRESS             2013#define CSMI_SAS_NO_DEVICE_ADDRESS           2014// Signature value// (IoctlHeader.Signature)#define CSMI_SAS_SIGNATURE    "CSMISAS"// Timeout value default of 60 seconds// (IoctlHeader.Timeout)#define CSMI_SAS_TIMEOUT      60// Device types// (bDeviceType)#define CSMI_SAS_PHY_UNUSED               0x00#define CSMI_SAS_NO_DEVICE_ATTACHED       0x00#define CSMI_SAS_END_DEVICE               0x10#define CSMI_SAS_EDGE_EXPANDER_DEVICE     0x20#define CSMI_SAS_FANOUT_EXPANDER_DEVICE   0x30// Protocol options// (bInitiatorPortProtocol, bTargetPortProtocol)#define CSMI_SAS_PROTOCOL_SATA   0x01#define CSMI_SAS_PROTOCOL_SMP    0x02#define CSMI_SAS_PROTOCOL_STP    0x04#define CSMI_SAS_PROTOCOL_SSP    0x08// Negotiated and hardware link rates// (bNegotiatedLinkRate, bMinimumLinkRate, bMaximumLinkRate)#define CSMI_SAS_LINK_RATE_UNKNOWN  0x00#define CSMI_SAS_PHY_DISABLED       0x01#define CSMI_SAS_LINK_RATE_FAILED   0x02#define CSMI_SAS_SATA_SPINUP_HOLD   0x03#define CSMI_SAS_SATA_PORT_SELECTOR 0x04#define CSMI_SAS_LINK_RATE_1_5_GBPS 0x08#define CSMI_SAS_LINK_RATE_3_0_GBPS 0x09#define CSMI_SAS_LINK_VIRTUAL       0x10// Discover state// (bAutoDiscover)#define CSMI_SAS_DISCOVER_NOT_SUPPORTED   0x00#define CSMI_SAS_DISCOVER_NOT_STARTED     0x01#define CSMI_SAS_DISCOVER_IN_PROGRESS     0x02#define CSMI_SAS_DISCOVER_COMPLETE        0x03#define CSMI_SAS_DISCOVER_ERROR           0x04// Programmed link rates// (bMinimumLinkRate, bMaximumLinkRate)// (bProgrammedMinimumLinkRate, bProgrammedMaximumLinkRate)#define CSMI_SAS_PROGRAMMED_LINK_RATE_UNCHANGED 0x00#define CSMI_SAS_PROGRAMMED_LINK_RATE_1_5_GBPS  0x08#define CSMI_SAS_PROGRAMMED_LINK_RATE_3_0_GBPS  0x09// Link rate// (bNegotiatedLinkRate in CSMI_SAS_SET_PHY_INFO)#define CSMI_SAS_LINK_RATE_NEGOTIATE      0x00#define CSMI_SAS_LINK_RATE_PHY_DISABLED   0x01// Signal class// (bSignalClass in CSMI_SAS_SET_PHY_INFO)#define CSMI_SAS_SIGNAL_CLASS_UNKNOWN     0x00#define CSMI_SAS_SIGNAL_CLASS_DIRECT      0x01#define CSMI_SAS_SIGNAL_CLASS_SERVER      0x02#define CSMI_SAS_SIGNAL_CLASS_ENCLOSURE   0x03// Link error reset// (bResetCounts)#define CSMI_SAS_LINK_ERROR_DONT_RESET_COUNTS   0x00#define CSMI_SAS_LINK_ERROR_RESET_COUNTS        0x01// Phy identifier// (bPhyIdentifier)#define CSMI_SAS_USE_PORT_IDENTIFIER   0xFF// Port identifier// (bPortIdentifier)#define CSMI_SAS_IGNORE_PORT           0xFF// Programmed link rates// (bConnectionRate)#define CSMI_SAS_LINK_RATE_NEGOTIATED  0x00#define CSMI_SAS_LINK_RATE_1_5_GBPS    0x08#define CSMI_SAS_LINK_RATE_3_0_GBPS    0x09// Connection status// (bConnectionStatus)#define CSMI_SAS_OPEN_ACCEPT                          0#define CSMI_SAS_OPEN_REJECT_BAD_DESTINATION          1#define CSMI_SAS_OPEN_REJECT_RATE_NOT_SUPPORTED       2#define CSMI_SAS_OPEN_REJECT_NO_DESTINATION           3#define CSMI_SAS_OPEN_REJECT_PATHWAY_BLOCKED          4#define CSMI_SAS_OPEN_REJECT_PROTOCOL_NOT_SUPPORTED   5#define CSMI_SAS_OPEN_REJECT_RESERVE_ABANDON          6#define CSMI_SAS_OPEN_REJECT_RESERVE_CONTINUE         7#define CSMI_SAS_OPEN_REJECT_RESERVE_INITIALIZE       8#define CSMI_SAS_OPEN_REJECT_RESERVE_STOP             9#define CSMI_SAS_OPEN_REJECT_RETRY                    10#define CSMI_SAS_OPEN_REJECT_STP_RESOURCES_BUSY       11#define CSMI_SAS_OPEN_REJECT_WRONG_DESTINATION        12// SSP Status// (bSSPStatus)#define CSMI_SAS_SSP_STATUS_UNKNOWN     0x00#define CSMI_SAS_SSP_STATUS_WAITING     0x01#define CSMI_SAS_SSP_STATUS_COMPLETED   0x02#define CSMI_SAS_SSP_STATUS_FATAL_ERROR 0x03#define CSMI_SAS_SSP_STATUS_RETRY       0x04#define CSMI_SAS_SSP_STATUS_NO_TAG      0x05// SSP Flags// (uFlags)#define CSMI_SAS_SSP_READ           0x00000001#define CSMI_SAS_SSP_WRITE          0x00000002#define CSMI_SAS_SSP_UNSPECIFIED    0x00000004#define CSMI_SAS_SSP_TASK_ATTRIBUTE_SIMPLE         0x00000000#define CSMI_SAS_SSP_TASK_ATTRIBUTE_HEAD_OF_QUEUE  0x00000010#define CSMI_SAS_SSP_TASK_ATTRIBUTE_ORDERED        0x00000020#define CSMI_SAS_SSP_TASK_ATTRIBUTE_ACA            0x00000040// SSP Data present// (bDataPresent)#define CSMI_SAS_SSP_NO_DATA_PRESENT         0x00#define CSMI_SAS_SSP_RESPONSE_DATA_PRESENT   0x01#define CSMI_SAS_SSP_SENSE_DATA_PRESENT      0x02// STP Flags// (uFlags)#define CSMI_SAS_STP_READ           0x00000001#define CSMI_SAS_STP_WRITE          0x00000002#define CSMI_SAS_STP_UNSPECIFIED    0x00000004#define CSMI_SAS_STP_PIO            0x00000010#define CSMI_SAS_STP_DMA            0x00000020#define CSMI_SAS_STP_PACKET         0x00000040#define CSMI_SAS_STP_DMA_QUEUED     0x00000080#define CSMI_SAS_STP_EXECUTE_DIAG   0x00000100#define CSMI_SAS_STP_RESET_DEVICE   0x00000200// Task Management Flags// (uFlags)#define CSMI_SAS_TASK_IU               0x00000001#define CSMI_SAS_HARD_RESET_SEQUENCE   0x00000002#define CSMI_SAS_SUPPRESS_RESULT       0x00000004// Task Management Functions// (bTaskManagement)#define CSMI_SAS_SSP_ABORT_TASK           0x01#define CSMI_SAS_SSP_ABORT_TASK_SET       0x02#define CSMI_SAS_SSP_CLEAR_TASK_SET       0x04#define CSMI_SAS_SSP_LOGICAL_UNIT_RESET   0x08#define CSMI_SAS_SSP_CLEAR_ACA            0x40#define CSMI_SAS_SSP_QUERY_TASK           0x80// Task Management Information// (uInformation)#define CSMI_SAS_SSP_TEST           1#define CSMI_SAS_SSP_EXCEEDED       2#define CSMI_SAS_SSP_DEMAND         3#define CSMI_SAS_SSP_TRIGGER        4// Connector Pinout Information// (uPinout)#define CSMI_SAS_CON_UNKNOWN              0x00000001#define CSMI_SAS_CON_SFF_8482             0x00000002#define CSMI_SAS_CON_SFF_8470_LANE_1      0x00000100#define CSMI_SAS_CON_SFF_8470_LANE_2      0x00000200#define CSMI_SAS_CON_SFF_8470_LANE_3      0x00000400#define CSMI_SAS_CON_SFF_8470_LANE_4      0x00000800#define CSMI_SAS_CON_SFF_8484_LANE_1      0x00010000#define CSMI_SAS_CON_SFF_8484_LANE_2      0x00020000#define CSMI_SAS_CON_SFF_8484_LANE_3      0x00040000#define CSMI_SAS_CON_SFF_8484_LANE_4      0x00080000// Connector Location Information// (bLocation)// same as uPinout above...// #define CSMI_SAS_CON_UNKNOWN              0x01#define CSMI_SAS_CON_INTERNAL             0x02#define CSMI_SAS_CON_EXTERNAL             0x04#define CSMI_SAS_CON_SWITCHABLE           0x08#define CSMI_SAS_CON_AUTO                 0x10#define CSMI_SAS_CON_NOT_PRESENT          0x20#define CSMI_SAS_CON_NOT_CONNECTED        0x80// Device location identification// (bIdentify)#define CSMI_SAS_LOCATE_UNKNOWN           0x00#define CSMI_SAS_LOCATE_FORCE_OFF         0x01#define CSMI_SAS_LOCATE_FORCE_ON          0x02// Location Valid flags// (uLocationFlags)#define CSMI_SAS_LOCATE_SAS_ADDRESS_VALID           0x00000001#define CSMI_SAS_LOCATE_SAS_LUN_VALID               0x00000002#define CSMI_SAS_LOCATE_ENCLOSURE_IDENTIFIER_VALID  0x00000004#define CSMI_SAS_LOCATE_ENCLOSURE_NAME_VALID        0x00000008#define CSMI_SAS_LOCATE_BAY_PREFIX_VALID            0x00000010#define CSMI_SAS_LOCATE_BAY_IDENTIFIER_VALID        0x00000020#define CSMI_SAS_LOCATE_LOCATION_STATE_VALID        0x00000040/* * * * * * * * SAS Phy Control Class IOCTL Constants * * * * * * * * */// Return codes for SAS Phy Control IOCTL's// (IoctlHeader.ReturnCode)// Signature value// (IoctlHeader.Signature)#define CSMI_PHY_SIGNATURE    "CSMIPHY"// Phy Control Functions// (bFunction)// values 0x00 to 0xFF are consistent in definition with the SMP PHY CONTROL // function defined in the SAS spec#define CSMI_SAS_PC_NOP                   0x00000000#define CSMI_SAS_PC_LINK_RESET            0x00000001#define CSMI_SAS_PC_HARD_RESET            0x00000002#define CSMI_SAS_PC_PHY_DISABLE           0x00000003// 0x04 to 0xFF reserved...#define CSMI_SAS_PC_GET_PHY_SETTINGS      0x00000100// Link Flags#define CSMI_SAS_PHY_ACTIVATE_CONTROL     0x00000001#define CSMI_SAS_PHY_UPDATE_SPINUP_RATE   0x00000002#define CSMI_SAS_PHY_AUTO_COMWAKE         0x00000004// Device Types for Phy Settings// (bType)#define CSMI_SAS_UNDEFINED 0x00#define CSMI_SAS_SATA      0x01#define CSMI_SAS_SAS       0x02// Transmitter Flags// (uTransmitterFlags)#define CSMI_SAS_PHY_PREEMPHASIS_DISABLED    0x00000001// Receiver Flags// (uReceiverFlags)#define CSMI_SAS_PHY_EQUALIZATION_DISABLED   0x00000001// Pattern Flags// (uPatternFlags)// #define CSMI_SAS_PHY_ACTIVATE_CONTROL     0x00000001#define CSMI_SAS_PHY_DISABLE_SCRAMBLING      0x00000002#define CSMI_SAS_PHY_DISABLE_ALIGN           0x00000004#define CSMI_SAS_PHY_DISABLE_SSC             0x00000008#define CSMI_SAS_PHY_FIXED_PATTERN           0x00000010#define CSMI_SAS_PHY_USER_PATTERN            0x00000020// Fixed Patterns// (bFixedPattern)#define CSMI_SAS_PHY_CJPAT                   0x00000001#define CSMI_SAS_PHY_ALIGN                   0x00000002// Type Flags// (bTypeFlags)#define CSMI_SAS_PHY_POSITIVE_DISPARITY      0x01#define CSMI_SAS_PHY_NEGATIVE_DISPARITY      0x02#define CSMI_SAS_PHY_CONTROL_CHARACTER       0x04// Miscellaneous#define SLOT_NUMBER_UNKNOWN   0xFFFF/*************************************************************************//* DATA STRUCTURES                                                       *//*************************************************************************//* * * * * * * * * * Class Independent Structures * * * * * * * * * */// EDM #pragma CSMI_SAS_BEGIN_PACK(8)#pragma pack(8)// CC_CSMI_SAS_DRIVER_INFOtypedef struct _CSMI_SAS_DRIVER_INFO {   __u8  szName[81];   __u8  szDescription[81];   __u16 usMajorRevision;   __u16 usMinorRevision;   __u16 usBuildRevision;   __u16 usReleaseRevision;   __u16 usCSMIMajorRevision;   __u16 usCSMIMinorRevision;} CSMI_SAS_DRIVER_INFO,  *PCSMI_SAS_DRIVER_INFO;typedef struct _CSMI_SAS_DRIVER_INFO_BUFFER {   IOCTL_HEADER IoctlHeader;   CSMI_SAS_DRIVER_INFO Information;} CSMI_SAS_DRIVER_INFO_BUFFER,  *PCSMI_SAS_DRIVER_INFO_BUFFER;// CC_CSMI_SAS_CNTLR_CONFIGURATIONtypedef struct _CSMI_SAS_PCI_BUS_ADDRESS {   __u8  bBusNumber;   __u8  bDeviceNumber;   __u8  bFunctionNumber;   __u8  bReserved;} CSMI_SAS_PCI_BUS_ADDRESS,  *PCSMI_SAS_PCI_BUS_ADDRESS;typedef union _CSMI_SAS_IO_BUS_ADDRESS {   CSMI_SAS_PCI_BUS_ADDRESS PciAddress;   __u8  bReserved[32];} CSMI_SAS_IO_BUS_ADDRESS,  *PCSMI_SAS_IO_BUS_ADDRESS;typedef struct _CSMI_SAS_CNTLR_CONFIG {   __u32 uBaseIoAddress;   struct {      __u32 uLowPart;      __u32 uHighPart;   } BaseMemoryAddress;   __u32 uBoardID;   __u16 usSlotNumber;   __u8  bControllerClass;   __u8  bIoBusType;   CSMI_SAS_IO_BUS_ADDRESS BusAddress;   __u8  szSerialNumber[81];   __u16 usMajorRevision;   __u16 usMinorRevision;   __u16 usBuildRevision;   __u16 usReleaseRevision;   __u16 usBIOSMajorRevision;   __u16 usBIOSMinorRevision;   __u16 usBIOSBuildRevision;   __u16 usBIOSReleaseRevision;   __u32 uControllerFlags;   __u16 usRromMajorRevision;   __u16 usRromMinorRevision;   __u16 usRromBuildRevision;   __u16 usRromReleaseRevision;   __u16 usRromBIOSMajorRevision;   __u16 usRromBIOSMinorRevision;   __u16 usRromBIOSBuildRevision;   __u16 usRromBIOSReleaseRevision;   __u8  bReserved[7];} CSMI_SAS_CNTLR_CONFIG,  *PCSMI_SAS_CNTLR_CONFIG;typedef struct _CSMI_SAS_CNTLR_CONFIG_BUFFER {   IOCTL_HEADER IoctlHeader;   CSMI_SAS_CNTLR_CONFIG Configuration;} CSMI_SAS_CNTLR_CONFIG_BUFFER,  *PCSMI_SAS_CNTLR_CONFIG_BUFFER;// CC_CSMI_SAS_CNTLR_STATUStypedef struct _CSMI_SAS_CNTLR_STATUS {   __u32 uStatus;   __u32 uOfflineReason;   __u8  bReserved[28];} CSMI_SAS_CNTLR_STATUS,  *PCSMI_SAS_CNTLR_STATUS;typedef struct _CSMI_SAS_CNTLR_STATUS_BUFFER {   IOCTL_HEADER IoctlHeader;   CSMI_SAS_CNTLR_STATUS Status;} CSMI_SAS_CNTLR_STATUS_BUFFER,  *PCSMI_SAS_CNTLR_STATUS_BUFFER;// CC_CSMI_SAS_FIRMWARE_DOWNLOADtypedef struct _CSMI_SAS_FIRMWARE_DOWNLOAD {   __u32 uBufferLength;   __u32 uDownloadFlags;   __u8  bReserved[32];   __u16 usStatus;   __u16 usSeverity;} CSMI_SAS_FIRMWARE_DOWNLOAD,  *PCSMI_SAS_FIRMWARE_DOWNLOAD;

⌨️ 快捷键说明

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