📄 skgepnmi.h
字号:
{ \ if ((p) < SK_MAX_MACS) { \ ((pAC)->Pnmi.Port[p].StatRxLongFrameCts++); \ } \ }#define SK_PNMI_CNT_RX_FRAMETOOLONG(pAC,p) \ { \ if ((p) < SK_MAX_MACS) { \ ((pAC)->Pnmi.Port[p].StatRxFrameTooLongCts++); \ } \ }#define SK_PNMI_CNT_RX_PMACC_ERR(pAC,p) \ { \ if ((p) < SK_MAX_MACS) { \ ((pAC)->Pnmi.Port[p].StatRxPMaccErr++); \ } \ }/* * Conversion Macros */#define SK_PNMI_PORT_INST2LOG(i) ((unsigned int)(i) - 1)#define SK_PNMI_PORT_LOG2INST(l) ((unsigned int)(l) + 1)#define SK_PNMI_PORT_PHYS2LOG(p) ((unsigned int)(p) + 1)#define SK_PNMI_PORT_LOG2PHYS(pAC,l) ((unsigned int)(l) - 1)#define SK_PNMI_PORT_PHYS2INST(pAC,p) \ (pAC->Pnmi.DualNetActiveFlag ? 2 : ((unsigned int)(p) + 2))#define SK_PNMI_PORT_INST2PHYS(pAC,i) ((unsigned int)(i) - 2)/* * Structure definition for SkPnmiGetStruct and SkPnmiSetStruct */#define SK_PNMI_VPD_KEY_SIZE 5#define SK_PNMI_VPD_BUFSIZE (VPD_SIZE)#define SK_PNMI_VPD_ENTRIES (VPD_SIZE / 4)#define SK_PNMI_VPD_DATALEN 128 /* Number of data bytes */#define SK_PNMI_MULTICAST_LISTLEN 64#define SK_PNMI_SENSOR_ENTRIES (SK_MAX_SENSORS)#define SK_PNMI_CHECKSUM_ENTRIES 3#define SK_PNMI_MAC_ENTRIES (SK_MAX_MACS + 1)#define SK_PNMI_MONITOR_ENTRIES 20#define SK_PNMI_TRAP_ENTRIES 10#define SK_PNMI_TRAPLEN 128#define SK_PNMI_STRINGLEN1 80#define SK_PNMI_STRINGLEN2 25#define SK_PNMI_TRAP_QUEUE_LEN 512typedef struct s_PnmiVpd { char VpdKey[SK_PNMI_VPD_KEY_SIZE]; char VpdValue[SK_PNMI_VPD_DATALEN]; SK_U8 VpdAccess; SK_U8 VpdAction;} SK_PNMI_VPD;typedef struct s_PnmiSensor { SK_U8 SensorIndex; char SensorDescr[SK_PNMI_STRINGLEN2]; SK_U8 SensorType; SK_U32 SensorValue; SK_U32 SensorWarningThresholdLow; SK_U32 SensorWarningThresholdHigh; SK_U32 SensorErrorThresholdLow; SK_U32 SensorErrorThresholdHigh; SK_U8 SensorStatus; SK_U64 SensorWarningCts; SK_U64 SensorErrorCts; SK_U64 SensorWarningTimestamp; SK_U64 SensorErrorTimestamp;} SK_PNMI_SENSOR;typedef struct s_PnmiChecksum { SK_U64 ChecksumRxOkCts; SK_U64 ChecksumRxUnableCts; SK_U64 ChecksumRxErrCts; SK_U64 ChecksumTxOkCts; SK_U64 ChecksumTxUnableCts;} SK_PNMI_CHECKSUM;typedef struct s_PnmiStat { SK_U64 StatTxOkCts; SK_U64 StatTxOctetsOkCts; SK_U64 StatTxBroadcastOkCts; SK_U64 StatTxMulticastOkCts; SK_U64 StatTxUnicastOkCts; SK_U64 StatTxLongFramesCts; SK_U64 StatTxBurstCts; SK_U64 StatTxPauseMacCtrlCts; SK_U64 StatTxMacCtrlCts; SK_U64 StatTxSingleCollisionCts; SK_U64 StatTxMultipleCollisionCts; SK_U64 StatTxExcessiveCollisionCts; SK_U64 StatTxLateCollisionCts; SK_U64 StatTxDeferralCts; SK_U64 StatTxExcessiveDeferralCts; SK_U64 StatTxFifoUnderrunCts; SK_U64 StatTxCarrierCts; SK_U64 Dummy1; /* StatTxUtilization */ SK_U64 StatTx64Cts; SK_U64 StatTx127Cts; SK_U64 StatTx255Cts; SK_U64 StatTx511Cts; SK_U64 StatTx1023Cts; SK_U64 StatTxMaxCts; SK_U64 StatTxSyncCts; SK_U64 StatTxSyncOctetsCts; SK_U64 StatRxOkCts; SK_U64 StatRxOctetsOkCts; SK_U64 StatRxBroadcastOkCts; SK_U64 StatRxMulticastOkCts; SK_U64 StatRxUnicastOkCts; SK_U64 StatRxLongFramesCts; SK_U64 StatRxPauseMacCtrlCts; SK_U64 StatRxMacCtrlCts; SK_U64 StatRxPauseMacCtrlErrorCts; SK_U64 StatRxMacCtrlUnknownCts; SK_U64 StatRxBurstCts; SK_U64 StatRxMissedCts; SK_U64 StatRxFramingCts; SK_U64 StatRxFifoOverflowCts; SK_U64 StatRxJabberCts; SK_U64 StatRxCarrierCts; SK_U64 StatRxIRLengthCts; SK_U64 StatRxSymbolCts; SK_U64 StatRxShortsCts; SK_U64 StatRxRuntCts; SK_U64 StatRxCextCts; SK_U64 StatRxTooLongCts; SK_U64 StatRxFcsCts; SK_U64 Dummy2; /* StatRxUtilization */ SK_U64 StatRx64Cts; SK_U64 StatRx127Cts; SK_U64 StatRx255Cts; SK_U64 StatRx511Cts; SK_U64 StatRx1023Cts; SK_U64 StatRxMaxCts;} SK_PNMI_STAT;typedef struct s_PnmiConf { char ConfMacCurrentAddr[6]; char ConfMacFactoryAddr[6]; SK_U8 ConfPMD; SK_U8 ConfConnector; SK_U8 ConfLinkCapability; SK_U8 ConfLinkMode; SK_U8 ConfLinkModeStatus; SK_U8 ConfLinkStatus; SK_U8 ConfFlowCtrlCapability; SK_U8 ConfFlowCtrlMode; SK_U8 ConfFlowCtrlStatus; SK_U8 ConfPhyOperationCapability; SK_U8 ConfPhyOperationMode; SK_U8 ConfPhyOperationStatus; SK_U8 ConfSpeedCapability; SK_U8 ConfSpeedMode; SK_U8 ConfSpeedStatus;} SK_PNMI_CONF;typedef struct s_PnmiRlmt { SK_U32 RlmtIndex; SK_U32 RlmtStatus; SK_U64 RlmtTxHelloCts; SK_U64 RlmtRxHelloCts; SK_U64 RlmtTxSpHelloReqCts; SK_U64 RlmtRxSpHelloCts;} SK_PNMI_RLMT;typedef struct s_PnmiRlmtMonitor { SK_U32 RlmtMonitorIndex; char RlmtMonitorAddr[6]; SK_U64 RlmtMonitorErrorCts; SK_U64 RlmtMonitorTimestamp; SK_U8 RlmtMonitorAdmin;} SK_PNMI_RLMT_MONITOR;typedef struct s_PnmiRequestStatus { SK_U32 ErrorStatus; SK_U32 ErrorOffset;} SK_PNMI_REQUEST_STATUS;typedef struct s_PnmiStrucData { SK_U32 MgmtDBVersion; SK_PNMI_REQUEST_STATUS ReturnStatus; SK_U32 VpdFreeBytes; char VpdEntriesList[SK_PNMI_VPD_ENTRIES * SK_PNMI_VPD_KEY_SIZE]; SK_U32 VpdEntriesNumber; SK_PNMI_VPD Vpd[SK_PNMI_VPD_ENTRIES]; SK_U32 PortNumber; SK_U32 DeviceType; char DriverDescr[SK_PNMI_STRINGLEN1]; char DriverVersion[SK_PNMI_STRINGLEN2]; char HwDescr[SK_PNMI_STRINGLEN1]; char HwVersion[SK_PNMI_STRINGLEN2]; SK_U16 Chipset; SK_U32 MtuSize; SK_U32 Action; SK_U32 TestResult; SK_U8 BusType; SK_U8 BusSpeed; SK_U8 BusWidth; SK_U8 SensorNumber; SK_PNMI_SENSOR Sensor[SK_PNMI_SENSOR_ENTRIES]; SK_U8 ChecksumNumber; SK_PNMI_CHECKSUM Checksum[SK_PNMI_CHECKSUM_ENTRIES]; SK_PNMI_STAT Stat[SK_PNMI_MAC_ENTRIES]; SK_PNMI_CONF Conf[SK_PNMI_MAC_ENTRIES]; SK_U8 RlmtMode; SK_U32 RlmtPortNumber; SK_U8 RlmtPortActive; SK_U8 RlmtPortPreferred; SK_U64 RlmtChangeCts; SK_U64 RlmtChangeTime; SK_U64 RlmtChangeEstimate; SK_U64 RlmtChangeThreshold; SK_PNMI_RLMT Rlmt[SK_MAX_MACS]; SK_U32 RlmtMonitorNumber; SK_PNMI_RLMT_MONITOR RlmtMonitor[SK_PNMI_MONITOR_ENTRIES]; SK_U32 TrapNumber; SK_U8 Trap[SK_PNMI_TRAP_QUEUE_LEN]; SK_U64 TxSwQueueLen; SK_U64 TxSwQueueMax; SK_U64 TxRetryCts; SK_U64 RxIntrCts; SK_U64 TxIntrCts; SK_U64 RxNoBufCts; SK_U64 TxNoBufCts; SK_U64 TxUsedDescrNo; SK_U64 RxDeliveredCts; SK_U64 RxOctetsDeliveredCts; SK_U64 RxHwErrorsCts; SK_U64 TxHwErrorsCts; SK_U64 InErrorsCts; SK_U64 OutErrorsCts; SK_U64 ErrRecoveryCts; SK_U64 SysUpTime;} SK_PNMI_STRUCT_DATA;#define SK_PNMI_STRUCT_SIZE (sizeof(SK_PNMI_STRUCT_DATA))#define SK_PNMI_MIN_STRUCT_SIZE ((unsigned int)(SK_UPTR)\ &(((SK_PNMI_STRUCT_DATA *)0)->VpdFreeBytes)) /* * ReturnStatus field * must be located * before VpdFreeBytes *//* * Various definitions */#define SK_PNMI_MAX_PROTOS 3#define SK_PNMI_CNT_NO 66 /* Must have the value of the enum * SK_PNMI_MAX_IDX. Define SK_PNMI_CHECK * for check while init phase 1 *//* * Estimate data structure */typedef struct s_PnmiEstimate { unsigned int EstValueIndex; SK_U64 EstValue[7]; SK_U64 Estimate; SK_TIMER EstTimer;} SK_PNMI_ESTIMATE;/* * VCT timer data structure */typedef struct s_VctTimer { SK_TIMER VctTimer;} SK_PNMI_VCT_TIMER;/* * PNMI specific adapter context structure */typedef struct s_PnmiPort { SK_U64 StatSyncCts; SK_U64 StatSyncOctetsCts; SK_U64 StatRxLongFrameCts; SK_U64 StatRxFrameTooLongCts; SK_U64 StatRxPMaccErr; SK_U64 TxSwQueueLen; SK_U64 TxSwQueueMax; SK_U64 TxRetryCts; SK_U64 RxIntrCts; SK_U64 TxIntrCts; SK_U64 RxNoBufCts; SK_U64 TxNoBufCts; SK_U64 TxUsedDescrNo; SK_U64 RxDeliveredCts; SK_U64 RxOctetsDeliveredCts; SK_U64 RxHwErrorsCts; SK_U64 TxHwErrorsCts; SK_U64 InErrorsCts; SK_U64 OutErrorsCts; SK_U64 ErrRecoveryCts; SK_U64 RxShortZeroMark; SK_U64 CounterOffset[SK_PNMI_CNT_NO]; SK_U32 CounterHigh[SK_PNMI_CNT_NO]; SK_BOOL ActiveFlag; SK_U8 Align[3];} SK_PNMI_PORT;typedef struct s_PnmiData { SK_PNMI_PORT Port [SK_MAX_MACS]; SK_PNMI_PORT BufPort [SK_MAX_MACS]; /* 2002-09-13 pweber */ SK_U64 VirtualCounterOffset[SK_PNMI_CNT_NO]; SK_U32 TestResult; char HwVersion[10]; SK_U16 Align01; char *pDriverDescription; char *pDriverVersion; int MacUpdatedFlag; int RlmtUpdatedFlag; int SirqUpdatedFlag; SK_U64 RlmtChangeCts; SK_U64 RlmtChangeTime; SK_PNMI_ESTIMATE RlmtChangeEstimate; SK_U64 RlmtChangeThreshold; SK_U64 StartUpTime; SK_U32 DeviceType; char PciBusSpeed; char PciBusWidth; char Chipset; char PMD; char Connector; SK_BOOL DualNetActiveFlag; SK_U16 Align02; char TrapBuf[SK_PNMI_TRAP_QUEUE_LEN]; unsigned int TrapBufFree; unsigned int TrapQueueBeg; unsigned int TrapQueueEnd; unsigned int TrapBufPad; unsigned int TrapUnique; SK_U8 VctStatus[SK_MAX_MACS]; SK_PNMI_VCT VctBackup[SK_MAX_MACS]; SK_PNMI_VCT_TIMER VctTimeout[SK_MAX_MACS];} SK_PNMI;/* * Function prototypes */extern int SkPnmiInit(SK_AC *pAc, SK_IOC IoC, int level);extern int SkPnmiGetVar(SK_AC *pAc, SK_IOC IoC, SK_U32 Id, void* pBuf, unsigned int* pLen, SK_U32 Instance, SK_U32 NetIndex);extern int SkPnmiPreSetVar(SK_AC *pAc, SK_IOC IoC, SK_U32 Id, void* pBuf, unsigned int *pLen, SK_U32 Instance, SK_U32 NetIndex);extern int SkPnmiSetVar(SK_AC *pAc, SK_IOC IoC, SK_U32 Id, void* pBuf, unsigned int *pLen, SK_U32 Instance, SK_U32 NetIndex);extern int SkPnmiGetStruct(SK_AC *pAc, SK_IOC IoC, void* pBuf, unsigned int *pLen, SK_U32 NetIndex);extern int SkPnmiPreSetStruct(SK_AC *pAc, SK_IOC IoC, void* pBuf, unsigned int *pLen, SK_U32 NetIndex);extern int SkPnmiSetStruct(SK_AC *pAc, SK_IOC IoC, void* pBuf, unsigned int *pLen, SK_U32 NetIndex);extern int SkPnmiEvent(SK_AC *pAc, SK_IOC IoC, SK_U32 Event, SK_EVPARA Param);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -