discover.h
来自「6440linuxDriver的源代码」· C头文件 代码 · 共 2,308 行 · 第 1/5 页
H
2,308 行
/* request specific bytes for SMP Report PHY SATA response, intended to be referenced by SMPResponse*/struct SMPResponseReportPhySATA{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-8 */ MV_U8 ReservedByte6_8[3]; /* byte 9 */ MV_U8 PhyIdentifier; /* byte 10 */ MV_U8 ReservedByte10; /* byte 11 */ MV_U8 AffiliationValid:1; MV_U8 AffiliationSupported:1; MV_U8 STPNexusLossOccurred:1; MV_U8 ReservedByte11Bit3_7:5; /* byte 12-15 */ MV_U8 ReservedByte10_15[4]; /* byte 16-23 */ MV_U8 STPSASAddress[8]; /* 24-43 */ struct RegisterDeviceToHostFIS FIS; /* byte 44-47 */ MV_U8 ReservedByte44_47[4]; /* byte 48-55 */ MV_U8 AffiliatedSTPInitiatorSASAddress[8]; /* byte 56-63 */ MV_U8 STPNexusLossSASAddress[8]; /* byte 64-67 */ MV_U32 CRC;}; /* struct SMPResponseReportPhySATA *//* response specific bytes for SMP Report Route Information, intended to be referenced by SMPResponse*/struct SMPResponseReportRouteInformation{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-7 */ MV_U8 ExpanderRouteIndex[2]; /* byte 8 */ MV_U8 ReservedByte8; /* byte 9 */ MV_U8 PhyIdentifier; /* byte 10-11 */ MV_U8 ReservedByte10_11[2]; /* byte 12 */ MV_U8 IgnoredByte12Bit0_6:7; MV_U8 ExpanderRouteEntryDisabled:1; /* byte 13-15 */ MV_U8 IgnoredByte13_15[3]; /* byte 16-23 */ MV_U8 RoutedSASAddress[8]; /* byte 24-39 */ MV_U8 ReservedByte24_39[16]; /* byte 40-43 */ MV_U32 CRC;}; /* struct SMPResponseReportRouteInformation *//* response specific bytes for SMP Report Phy Event Information, intended to be referenced by SMPResponse*/struct SMPResponseReportPhyEventInformation{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-8 */ MV_U8 ReservedByte6_8[3]; /* byte 9 */ MV_U8 PhyIdentifier; /* byte 10-14 */ MV_U8 ReservedByte10_14[5]; /* byte 15 */ MV_U8 NumberOfPhyEventDescriptors; /* byte 16-27 */ MV_U8 PhyEventDescriptor[12]; //TBD/* byte PhyEventDescriptor[12]; ... byte PhyEventDescriptor[12]; */ MV_U32 CRC;}; /* struct SMPResponseReportPhyEventInformation *//* response specific bytes for SMP Report Phy Broadcast Counts, intended to be referenced by SMPResponse*/struct SMPResponseReportBroadcastCounts{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-8 */ MV_U8 ReservedByte6_8[3]; /* byte 9 */ MV_U8 PhyIdentifier; /* byte 10-11 */ MV_U8 ReservedByte10_11[2]; /* byte 12 */ MV_U8 ChangeCountValid:1; MV_U8 ReservedChange0CountValid:1; MV_U8 ReservedChange1CountValid:1; MV_U8 SESCountValid:1; MV_U8 ExpanderCountValid:1; MV_U8 AsysnchronousEventCountValid:1; MV_U8 Reserved3CountValid:1; MV_U8 Reserved4CountValid:1; /* byte 13-15 */ MV_U8 ReservedByte13_15[3]; /* byte 16 */ MV_U8 BroadcastChangeCount; /* byte 17 */ MV_U8 BroadcastReserved0ChangeCount; /* byte 18 */ MV_U8 BroadcastReserved1ChangeCount; /* byte 19 */ MV_U8 BroadcastSESCount; /* byte 20 */ MV_U8 BroadcastExpanderCount; /* byte 21 */ MV_U8 BroadcastAsynchronousEventCount; /* byte 22 */ MV_U8 BroadcastReserved3ChangeCount; /* byte 23 */ MV_U8 BroadcastReserved4ChangeCount; MV_U32 CRC;}; /* struct SMPResponseReportBroadcastCounts *//* response specific bytes for SMP Discover List Descriptor, intended to be referenced by SMPResponseDiscoverList*/struct DiscoverShortFormatDescriptor{ /* byte 48 */ MV_U8 PhyIdentifier; /* byte 49 */ MV_U8 FunctionResult; /* byte 50 */ MV_U8 ReservedByte50Bit0_3:4; MV_U8 AttachedDeviceType:3; MV_U8 ReservedByte50Bit7:1; /* byte 51 */ MV_U8 NegotiatedPhysicalLinkRate:4; MV_U8 ReservedByte51Bit4_7:4; /* byte 52 */ MV_U8 AttachedSataHost:1; MV_U8 AttachedSMPInitiator:1; MV_U8 AttachedSTPInitiator:1; MV_U8 AttachedSSPInitiator:1; MV_U8 ReservedByte52Bit4_7:4; /* byte 53 */ MV_U8 AttachedSataDevice:1; MV_U8 AttachedSMPTarget:1; MV_U8 AttachedSTPTarget:1; MV_U8 AttachedSSPTarget:1; MV_U8 ReservedByte53Bit4_6:3; MV_U8 AttachedSataPortSelector:1; /* byte 54 */ MV_U8 RoutingAttribute:4; MV_U8 ReservedByte54Bit4_6:3; MV_U8 VirtualPhy:1; /* byte 55 */ MV_U8 ReservedByte55; /* byte 56 */ MV_U8 ZoneGroup; /* byte 57 */ MV_U8 ReservedByte57Bit0:1; MV_U8 InsideZPSDS:1; MV_U8 ZoneGroupPersistent:1; MV_U8 ZoneAddressResolved:1; MV_U8 RequestedInsideZPSDS:1; MV_U8 InsideZPSDSPersistent:1; MV_U8 ReservedByte57Bit6_7:2; /* byte 58 */ MV_U8 AttachedPhyIdentifier; /* byte 59 */ MV_U8 PhyChangeCount; /* byte 60-68 */ MV_U8 AttachedSASAddress[8]; /* byte 69-72 */ MV_U8 ReservedByte68_72[4]; }; /* DiscoverShortFormatDescriptor */union DiscoverListDescriptor{ struct DiscoverShortFormatDescriptor ShortFormatDescriptor; struct DiscoverLongFormatDescriptor LongFormatDescriptor; }; /* response specific bytes for SMP Discover List, intended to be referenced by SMPResponse*/struct SMPResponseDiscoverList{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-7 */ MV_U8 ReservedByte6_8[2]; /* byte 8 */ MV_U8 StartingPhyIdentifier; /* byte 9 */ MV_U8 NumberOfDescriptors; /* byte 10 */ MV_U8 PhyFilter:4; MV_U8 ReservedByte10Bit4_7:4; /* byte 11 */ MV_U8 DescriptorType:4; MV_U8 ReservedByte11Bit4_7:4; /* byte 12 */ MV_U8 DescriptorLength; /* byte 13-15 */ MV_U8 ReservedByte13_15[3]; /* byte 16 */ MV_U8 ConfigurableRouteTable:1; MV_U8 Congiguring:1; MV_U8 ReservedByte16Bit2_5:4; MV_U8 ZoningEnabled:1; MV_U8 ZoningSupported:1; /* byte 17-31 */ MV_U8 ReservedByte17_31[15]; /* byte 32-47 */ MV_U8 VendorSpecific[16]; /* byte 48 - n */ union DiscoverListDescriptor FirstDescriptor;/* DiscoverListDescriptor SecondDescriptor; //TBD ... DiscoverListDescriptor LastDescriptor; */ MV_U32 CRC;}; /* struct SMPResponseDiscoverList *//* response specific bytes for Expander Route Table Descriptor, intended to be referenced by SMPResponseReportExpanderTable*/struct ExpanderRouteTableDescriptor{ /* byte 32-37 */ MV_U8 PhyBitMap[6]; /* byte 38 */ MV_U8 ReservedByte38Bit0_6:7; MV_U8 ZoneGroupValid:1; /* byte 39 */ MV_U8 ZoneGroup; /* byte 40-48 */ MV_U8 RoutedSASAddress[8]; };/* ExpanderRouteTableDescriptor *//* response specific bytes for SMP Report Expander Route Table, intended to be referenced by SMPResponse*/struct SMPResponseReportExpanderTable{ /* byte 4-5 */ MV_U8 ExpanderChangeCount[2]; /* byte 6-7 */ MV_U8 ExpanderRouteTableChangeCount[2]; /* byte 8 */ MV_U8 ReservedByte8Bit0:1; MV_U8 Configuring:1; MV_U8 ReservedByte8Bit2_7:6; /* byte 9 */ MV_U8 ReservedByte9; /* byte 10-11 */ MV_U8 NumberOfDescriptors[2]; /* byte 12-13 */ MV_U8 FirstRoutedSASAddressIndex[2]; /* byte 14-15 */ MV_U8 LastRoutedSASAddressIndex[2]; /* byte 13-15 */ MV_U8 ReservedByte13_15[3]; /* byte 16-18 */ MV_U8 ReservedByte16_18[3]; /* byte 19 */ MV_U8 StartingPhyIdentifier; /* byte 20-31 */ MV_U8 ReservedByte20_31[12]; /* byte 32 - n */ struct ExpanderRouteTableDescriptor FirstRouteTableDescriptor;/* ExpanderRouteTableDescriptor SecondRouteTableDescriptor; //TBD ... ExpanderRouteTableDescriptor LastRouteTableDescriptor; */ MV_U32 CRC;}; /* struct SMPResponseReportExpanderTable */struct SMPResponseConfigureFunction{ /* byte 4-7 */ MV_U32 CRC;};/* response specific to SMP Read SGPIO Corresponds to READ_GPIO_REGISTER define*/struct SMPResponseReadGPIORegister{ /* byte 4-11 */ MV_U8 Data_In_Low[8]; /* byte 12-19 */ MV_U8 Data_In_High[8]; MV_U32 CRC;};/* response specific to SMP Write SGPIO Corresponds to WRITE_GPIO_REGISTER define*/struct SMPResponseWriteGPIORegister{ MV_U32 CRC;};/* generic structure referencing an SMP Response, must be initialized before being used*/struct SMPResponse{ /* byte 0 */ MV_U8 SMPFrameType; /* always 41h for SMP responses */ /* byte 1 */ MV_U8 Function; /* byte 2 */ MV_U8 FunctionResult; /* byte 3 */ MV_U8 ReservedByte3; /* bytes 4-n */ union {/* #define REPORT_GENERAL 0x00 */ struct SMPResponseReportGeneral ReportGeneral;/* #define REPORT_MANUFACTURER_INFORMATION 0x01 */ struct SMPResponseReportManufacturerInformation ReportManufacturerInformation;/* #define READ_GPIO_REGISTER 0x02 */ struct SMPResponseReadGPIORegister ReadGPIORegister;/* #define REPORT_SELF_CONFGRIGRUATION_STATUS 0x03 */ struct SMPResponseReportSelfConfigurationStatus ReportSelfConfigurationStatus;/* #define DISCOVER 0x10 */ struct SMPResponseDiscover Discover;/* #define REPORT_PHY_ERROR_LOG 0x11 */ struct SMPResponseReportPhyErrorLog ReportPhyErrorLog;/* #define REPORT_PHY_SATA 0x12 */ struct SMPResponseReportPhySATA ReportPhySATA;/* #define REPORT_ROUTE_INFORMATION 0x13 */ struct SMPResponseReportRouteInformation ReportRouteInformation;/* #define REPORT_PHY_EVENT_INFORMATION 0x14 */ struct SMPResponseReportPhyEventInformation ReportPhyEventInformation;/* #define REPORT_PHY_BROADCAST_COUNTS 0x15 */ struct SMPResponseReportBroadcastCounts ReportBroadcastCounts;/* #define DISCOVER_LIST 0x16 */ struct SMPResponseDiscoverList DiscoverList;/* #define REPORT_EXPANDER_ROUTE_TABLE 0x17 */ struct SMPResponseReportExpanderTable ReportExpanderTable;/* #define CONFIGURE_GENERAL 0x80 */ struct SMPResponseConfigureFunction ConfigureGeneral;/* #define ENABLE_DISABLE_ZONING 0x81 */ struct SMPResponseConfigureFunction EnableDisableZon
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?