📄 csmisas.h
字号:
typedef struct _CSMI_SAS_FIRMWARE_DOWNLOAD_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_FIRMWARE_DOWNLOAD Information; __u8 bDataBuffer[1];} CSMI_SAS_FIRMWARE_DOWNLOAD_BUFFER, *PCSMI_SAS_FIRMWARE_DOWNLOAD_BUFFER;// CC_CSMI_SAS_RAID_INFOtypedef struct _CSMI_SAS_RAID_INFO { __u32 uNumRaidSets; __u32 uMaxDrivesPerSet; __u8 bReserved[92];} CSMI_SAS_RAID_INFO, *PCSMI_SAS_RAID_INFO;typedef struct _CSMI_SAS_RAID_INFO_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_RAID_INFO Information;} CSMI_SAS_RAID_INFO_BUFFER, *PCSMI_SAS_RAID_INFO_BUFFER;// CC_CSMI_SAS_GET_RAID_CONFIGtypedef struct _CSMI_SAS_RAID_DRIVES { __u8 bModel[40]; __u8 bFirmware[8]; __u8 bSerialNumber[40]; __u8 bSASAddress[8]; __u8 bSASLun[8]; __u8 bDriveStatus; __u8 bDriveUsage; __u8 bReserved[30];} CSMI_SAS_RAID_DRIVES, *PCSMI_SAS_RAID_DRIVES;typedef struct _CSMI_SAS_RAID_CONFIG { __u32 uRaidSetIndex; __u32 uCapacity; __u32 uStripeSize; __u8 bRaidType; __u8 bStatus; __u8 bInformation; __u8 bDriveCount; __u8 bReserved[20]; CSMI_SAS_RAID_DRIVES Drives[1];} CSMI_SAS_RAID_CONFIG, *PCSMI_SAS_RAID_CONFIG;typedef struct _CSMI_SAS_RAID_CONFIG_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_RAID_CONFIG Configuration;} CSMI_SAS_RAID_CONFIG_BUFFER, *PCSMI_SAS_RAID_CONFIG_BUFFER;/* * * * * * * * * * SAS HBA Class Structures * * * * * * * * * */// CC_CSMI_SAS_GET_PHY_INFOtypedef struct _CSMI_SAS_IDENTIFY { __u8 bDeviceType; __u8 bRestricted; __u8 bInitiatorPortProtocol; __u8 bTargetPortProtocol; __u8 bRestricted2[8]; __u8 bSASAddress[8]; __u8 bPhyIdentifier; __u8 bSignalClass; __u8 bReserved[6];} CSMI_SAS_IDENTIFY, *PCSMI_SAS_IDENTIFY;typedef struct _CSMI_SAS_PHY_ENTITY { CSMI_SAS_IDENTIFY Identify; __u8 bPortIdentifier; __u8 bNegotiatedLinkRate; __u8 bMinimumLinkRate; __u8 bMaximumLinkRate; __u8 bPhyChangeCount; __u8 bAutoDiscover; __u8 bReserved[2]; CSMI_SAS_IDENTIFY Attached;} CSMI_SAS_PHY_ENTITY, *PCSMI_SAS_PHY_ENTITY;typedef struct _CSMI_SAS_PHY_INFO { __u8 bNumberOfPhys; __u8 bReserved[3]; CSMI_SAS_PHY_ENTITY Phy[32];} CSMI_SAS_PHY_INFO, *PCSMI_SAS_PHY_INFO;typedef struct _CSMI_SAS_PHY_INFO_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_PHY_INFO Information;} CSMI_SAS_PHY_INFO_BUFFER, *PCSMI_SAS_PHY_INFO_BUFFER;// CC_CSMI_SAS_SET_PHY_INFOtypedef struct _CSMI_SAS_SET_PHY_INFO { __u8 bPhyIdentifier; __u8 bNegotiatedLinkRate; __u8 bProgrammedMinimumLinkRate; __u8 bProgrammedMaximumLinkRate; __u8 bSignalClass; __u8 bReserved[3];} CSMI_SAS_SET_PHY_INFO, *PCSMI_SAS_SET_PHY_INFO;typedef struct _CSMI_SAS_SET_PHY_INFO_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_SET_PHY_INFO Information;} CSMI_SAS_SET_PHY_INFO_BUFFER, *PCSMI_SAS_SET_PHY_INFO_BUFFER;// CC_CSMI_SAS_GET_LINK_ERRORStypedef struct _CSMI_SAS_LINK_ERRORS { __u8 bPhyIdentifier; __u8 bResetCounts; __u8 bReserved[2]; __u32 uInvalidDwordCount; __u32 uRunningDisparityErrorCount; __u32 uLossOfDwordSyncCount; __u32 uPhyResetProblemCount;} CSMI_SAS_LINK_ERRORS, *PCSMI_SAS_LINK_ERRORS;typedef struct _CSMI_SAS_LINK_ERRORS_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_LINK_ERRORS Information;} CSMI_SAS_LINK_ERRORS_BUFFER, *PCSMI_SAS_LINK_ERRORS_BUFFER;// CC_CSMI_SAS_SMP_PASSTHRUtypedef struct _CSMI_SAS_SMP_REQUEST { __u8 bFrameType; __u8 bFunction; __u8 bReserved[2]; __u8 bAdditionalRequestBytes[1016];} CSMI_SAS_SMP_REQUEST, *PCSMI_SAS_SMP_REQUEST;typedef struct _CSMI_SAS_SMP_RESPONSE { __u8 bFrameType; __u8 bFunction; __u8 bFunctionResult; __u8 bReserved; __u8 bAdditionalResponseBytes[1016];} CSMI_SAS_SMP_RESPONSE, *PCSMI_SAS_SMP_RESPONSE;typedef struct _CSMI_SAS_SMP_PASSTHRU { __u8 bPhyIdentifier; __u8 bPortIdentifier; __u8 bConnectionRate; __u8 bReserved; __u8 bDestinationSASAddress[8]; __u32 uRequestLength; CSMI_SAS_SMP_REQUEST Request; __u8 bConnectionStatus; __u8 bReserved2[3]; __u32 uResponseBytes; CSMI_SAS_SMP_RESPONSE Response;} CSMI_SAS_SMP_PASSTHRU, *PCSMI_SAS_SMP_PASSTHRU;typedef struct _CSMI_SAS_SMP_PASSTHRU_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_SMP_PASSTHRU Parameters;} CSMI_SAS_SMP_PASSTHRU_BUFFER, *PCSMI_SAS_SMP_PASSTHRU_BUFFER;// CC_CSMI_SAS_SSP_PASSTHRUtypedef struct _CSMI_SAS_SSP_PASSTHRU { __u8 bPhyIdentifier; __u8 bPortIdentifier; __u8 bConnectionRate; __u8 bReserved; __u8 bDestinationSASAddress[8]; __u8 bLun[8]; __u8 bCDBLength; __u8 bAdditionalCDBLength; __u8 bReserved2[2]; __u8 bCDB[16]; __u32 uFlags; __u8 bAdditionalCDB[24]; __u32 uDataLength;} CSMI_SAS_SSP_PASSTHRU, *PCSMI_SAS_SSP_PASSTHRU;typedef struct _CSMI_SAS_SSP_PASSTHRU_STATUS { __u8 bConnectionStatus; __u8 bSSPStatus; __u8 bReserved[2]; __u8 bDataPresent; __u8 bStatus; __u8 bResponseLength[2]; __u8 bResponse[256]; __u32 uDataBytes;} CSMI_SAS_SSP_PASSTHRU_STATUS, *PCSMI_SAS_SSP_PASSTHRU_STATUS;typedef struct _CSMI_SAS_SSP_PASSTHRU_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_SSP_PASSTHRU Parameters; CSMI_SAS_SSP_PASSTHRU_STATUS Status; __u8 bDataBuffer[1];} CSMI_SAS_SSP_PASSTHRU_BUFFER, *PCSMI_SAS_SSP_PASSTHRU_BUFFER;// CC_CSMI_SAS_STP_PASSTHRUtypedef struct _CSMI_SAS_STP_PASSTHRU { __u8 bPhyIdentifier; __u8 bPortIdentifier; __u8 bConnectionRate; __u8 bReserved; __u8 bDestinationSASAddress[8]; __u8 bReserved2[4]; __u8 bCommandFIS[20]; __u32 uFlags; __u32 uDataLength;} CSMI_SAS_STP_PASSTHRU, *PCSMI_SAS_STP_PASSTHRU;typedef struct _CSMI_SAS_STP_PASSTHRU_STATUS { __u8 bConnectionStatus; __u8 bReserved[3]; __u8 bStatusFIS[20]; __u32 uSCR[16]; __u32 uDataBytes;} CSMI_SAS_STP_PASSTHRU_STATUS, *PCSMI_SAS_STP_PASSTHRU_STATUS;typedef struct _CSMI_SAS_STP_PASSTHRU_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_STP_PASSTHRU Parameters; CSMI_SAS_STP_PASSTHRU_STATUS Status; __u8 bDataBuffer[1];} CSMI_SAS_STP_PASSTHRU_BUFFER, *PCSMI_SAS_STP_PASSTHRU_BUFFER;// CC_CSMI_SAS_GET_SATA_SIGNATUREtypedef struct _CSMI_SAS_SATA_SIGNATURE { __u8 bPhyIdentifier; __u8 bReserved[3]; __u8 bSignatureFIS[20];} CSMI_SAS_SATA_SIGNATURE, *PCSMI_SAS_SATA_SIGNATURE;typedef struct _CSMI_SAS_SATA_SIGNATURE_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_SATA_SIGNATURE Signature;} CSMI_SAS_SATA_SIGNATURE_BUFFER, *PCSMI_SAS_SATA_SIGNATURE_BUFFER;// CC_CSMI_SAS_GET_SCSI_ADDRESStypedef struct _CSMI_SAS_GET_SCSI_ADDRESS_BUFFER { IOCTL_HEADER IoctlHeader; __u8 bSASAddress[8]; __u8 bSASLun[8]; __u8 bHostIndex; __u8 bPathId; __u8 bTargetId; __u8 bLun;} CSMI_SAS_GET_SCSI_ADDRESS_BUFFER, *PCSMI_SAS_GET_SCSI_ADDRESS_BUFFER;// CC_CSMI_SAS_GET_DEVICE_ADDRESStypedef struct _CSMI_SAS_GET_DEVICE_ADDRESS_BUFFER { IOCTL_HEADER IoctlHeader; __u8 bHostIndex; __u8 bPathId; __u8 bTargetId; __u8 bLun; __u8 bSASAddress[8]; __u8 bSASLun[8];} CSMI_SAS_GET_DEVICE_ADDRESS_BUFFER, *PCSMI_SAS_GET_DEVICE_ADDRESS_BUFFER;// CC_CSMI_SAS_TASK_MANAGEMENTtypedef struct _CSMI_SAS_SSP_TASK_IU { __u8 bHostIndex; __u8 bPathId; __u8 bTargetId; __u8 bLun; __u32 uFlags; __u32 uQueueTag; __u32 uReserved; __u8 bTaskManagementFunction; __u8 bReserved[7]; __u32 uInformation;} CSMI_SAS_SSP_TASK_IU, *PCSMI_SAS_SSP_TASK_IU;typedef struct _CSMI_SAS_SSP_TASK_IU_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_SSP_TASK_IU Parameters; CSMI_SAS_SSP_PASSTHRU_STATUS Status;} CSMI_SAS_SSP_TASK_IU_BUFFER, *PCSMI_SAS_SSP_TASK_IU_BUFFER;// CC_CSMI_SAS_GET_CONNECTOR_INFOtypedef struct _CSMI_SAS_GET_CONNECTOR_INFO { __u32 uPinout; __u8 bConnector[16]; __u8 bLocation; __u8 bReserved[15];} CSMI_SAS_CONNECTOR_INFO, *PCSMI_SAS_CONNECTOR_INFO;typedef struct _CSMI_SAS_CONNECTOR_INFO_BUFFER { IOCTL_HEADER IoctlHeader; CSMI_SAS_CONNECTOR_INFO Reference[32];} CSMI_SAS_CONNECTOR_INFO_BUFFER, *PCSMI_SAS_CONNECTOR_INFO_BUFFER;// CC_CSMI_SAS_GET_LOCATIONtypedef struct _CSMI_SAS_LOCATION_IDENTIFIER { __u32 bLocationFlags; __u8 bSASAddress[8]; __u8 bSASLun[8]; __u8 bEnclosureIdentifier[8]; __u8 bEnclosureName[32]; __u8 bBayPrefix[32]; __u8 bBayIdentifier; __u8 bLocationState; __u8 bReserved[2];} CSMI_SAS_LOCATION_IDENTIFIER, *PCSMI_SAS_LOCATION_IDENTIFIER;typedef struct _CSMI_SAS_GET_LOCATION_BUFFER { IOCTL_HEADER IoctlHeader; __u8 bHostIndex; __u8 bPathId; __u8 bTargetId; __u8 bLun; __u8 bIdentify; __u8 bNumberOfLocationIdentifiers; __u8 bLengthOfLocationIdentifier; CSMI_SAS_LOCATION_IDENTIFIER Location[1];} CSMI_SAS_GET_LOCATION_BUFFER, *PCSMI_SAS_GET_LOCATION_BUFFER;// CC_CSMI_SAS_PHY_CONTROLtypedef struct _CSMI_SAS_CHARACTER { __u8 bTypeFlags; __u8 bValue;} CSMI_SAS_CHARACTER, *PCSMI_SAS_CHARACTER;typedef struct _CSMI_SAS_PHY_CONTROL { __u8 bType; __u8 bRate; __u8 bReserved[6]; __u32 uVendorUnique[8]; __u32 uTransmitterFlags; __i8 bTransmitAmplitude; __i8 bTransmitterPreemphasis; __i8 bTransmitterSlewRate; __i8 bTransmitterReserved[13]; __u8 bTransmitterVendorUnique[64]; __u32 uReceiverFlags; __i8 bReceiverThreshold; __i8 bReceiverEqualizationGain; __i8 bReceiverReserved[14]; __u8 bReceiverVendorUnique[64]; __u32 uPatternFlags; __u8 bFixedPattern; __u8 bUserPatternLength; __u8 bPatternReserved[6]; CSMI_SAS_CHARACTER UserPatternBuffer[16];} CSMI_SAS_PHY_CONTROL, *PCSMI_SAS_PHY_CONTROL;typedef struct _CSMI_SAS_PHY_CONTROL_BUFFER { IOCTL_HEADER IoctlHeader; __u32 uFunction; __u8 bPhyIdentifier; __u16 usLengthOfControl; __u8 bNumberOfControls; __u8 bReserved[4]; __u32 uLinkFlags; __u8 bSpinupRate; __u8 bLinkReserved[7]; __u32 uVendorUnique[8]; CSMI_SAS_PHY_CONTROL Control[1];} CSMI_SAS_PHY_CONTROL_BUFFER, *PCSMI_SAS_PHY_CONTROL_BUFFER;// EDM #pragma CSMI_SAS_END_PACK#pragma pack()#endif // _CSMI_SAS_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -