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

📄 skgepnmi.c

📁 linux和2410结合开发 用他可以生成2410所需的zImage文件
💻 C
📖 第 1 页 / 共 5 页
字号:
	unsigned int TableIndex, SK_U32 NetIndex);static SK_U8 CalculateLinkModeStatus(SK_AC *pAC, SK_IOC IoC, unsigned int	PhysPortIndex);static SK_U8 CalculateLinkStatus(SK_AC *pAC, SK_IOC IoC, unsigned int	PhysPortIndex);static void CopyMac(char *pDst, SK_MAC_ADDR *pMac);static void CopyTrapQueue(SK_AC *pAC, char *pDstBuf);static int CsumStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int General(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static SK_U64 GetPhysStatVal(SK_AC *pAC, SK_IOC IoC,	unsigned int PhysPortIndex, unsigned int StatIndex);static SK_U64 GetStatVal(SK_AC *pAC, SK_IOC IoC, unsigned int LogPortIndex,	unsigned int StatIndex, SK_U32 NetIndex);static char* GetTrapEntry(SK_AC *pAC, SK_U32 TrapId, unsigned int Size);static void GetTrapQueueLen(SK_AC *pAC, unsigned int *pLen,	unsigned int *pEntries);static int GetVpdKeyArr(SK_AC *pAC, SK_IOC IoC, char *pKeyArr,	unsigned int KeyArrLen, unsigned int *pKeyNo);static int LookupId(SK_U32 Id);static int Mac8023Stat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int MacPrivateConf(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int MacPrivateStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int MacUpdate(SK_AC *pAC, SK_IOC IoC, unsigned int FirstMac,	unsigned int LastMac);static int Monitor(SK_AC *pAC, SK_IOC IoC, int action,	SK_U32 Id, char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int OidStruct(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int Perform(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int* pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int PnmiStruct(SK_AC *pAC, SK_IOC IoC, int Action, char *pBuf,	unsigned int *pLen, SK_U32 NetIndex);static int PnmiVar(SK_AC *pAC, SK_IOC IoC, int Action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance, SK_U32 NetIndex);static void QueueRlmtNewMacTrap(SK_AC *pAC, unsigned int ActiveMac);static void QueueRlmtPortTrap(SK_AC *pAC, SK_U32 TrapId,	unsigned int PortIndex);static void QueueSensorTrap(SK_AC *pAC, SK_U32 TrapId,	unsigned int SensorIndex);static void QueueSimpleTrap(SK_AC *pAC, SK_U32 TrapId);static void ResetCounter(SK_AC *pAC, SK_IOC IoC, SK_U32 NetIndex);static int Rlmt(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int RlmtStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int RlmtUpdate(SK_AC *pAC, SK_IOC IoC, SK_U32 NetIndex);static int SensorStat(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);static int SirqUpdate(SK_AC *pAC, SK_IOC IoC);static void VirtualConf(SK_AC *pAC, SK_IOC IoC, SK_U32 Id, char *pBuf);static int Vpd(SK_AC *pAC, SK_IOC IoC, int action, SK_U32 Id,	char *pBuf, unsigned int *pLen, SK_U32 Instance,	unsigned int TableIndex, SK_U32 NetIndex);/****************************************************************************** * * Global variables *//* * Table to correlate OID with handler function and index to * hardware register stored in StatAddress if applicable. */static const SK_PNMI_TAB_ENTRY IdTable[] = {	{OID_GEN_XMIT_OK,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX},	{OID_GEN_RCV_OK,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX},	{OID_GEN_XMIT_ERROR,		0,		0,		0,		SK_PNMI_RO, General, 0},	{OID_GEN_RCV_ERROR,		0,		0,		0,		SK_PNMI_RO, General, 0},	{OID_GEN_RCV_NO_BUFFER,		0,		0,		0,		SK_PNMI_RO, General, 0},	{OID_GEN_DIRECTED_FRAMES_XMIT,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_UNICAST},	{OID_GEN_MULTICAST_FRAMES_XMIT,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_MULTICAST},	{OID_GEN_BROADCAST_FRAMES_XMIT,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_BROADCAST},	{OID_GEN_DIRECTED_FRAMES_RCV,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_UNICAST},	{OID_GEN_MULTICAST_FRAMES_RCV,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_MULTICAST},	{OID_GEN_BROADCAST_FRAMES_RCV,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_BROADCAST},	{OID_GEN_RCV_CRC_ERROR,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_FCS},	{OID_GEN_TRANSMIT_QUEUE_LENGTH,		0,		0,		0,		SK_PNMI_RO, General, 0},	{OID_802_3_PERMANENT_ADDRESS,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, 0},	{OID_802_3_CURRENT_ADDRESS,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, 0},	{OID_802_3_RCV_ERROR_ALIGNMENT,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_FRAMING},	{OID_802_3_XMIT_ONE_COLLISION,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_SINGLE_COL},	{OID_802_3_XMIT_MORE_COLLISIONS,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_MULTI_COL},	{OID_802_3_XMIT_DEFERRED,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_DEFFERAL},	{OID_802_3_XMIT_MAX_COLLISIONS,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_EXCESS_COL},	{OID_802_3_RCV_OVERRUN,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HRX_OVERFLOW},	{OID_802_3_XMIT_UNDERRUN,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_UNDERRUN},	{OID_802_3_XMIT_TIMES_CRS_LOST,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_CARRIER},	{OID_802_3_XMIT_LATE_COLLISIONS,		0,		0,		0,		SK_PNMI_RO, Mac8023Stat, SK_PNMI_HTX_LATE_COL},	{OID_SKGE_MDB_VERSION,		1,		0,		SK_PNMI_MAI_OFF(MgmtDBVersion),		SK_PNMI_RO, General, 0},	{OID_SKGE_SUPPORTED_LIST,		0,		0,		0,		SK_PNMI_RO, General, 0},	{OID_SKGE_ALL_DATA,		0,		0,		0,		SK_PNMI_RW, OidStruct, 0},	{OID_SKGE_VPD_FREE_BYTES,		1,		0,		SK_PNMI_MAI_OFF(VpdFreeBytes),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_ENTRIES_LIST,		1,		0,		SK_PNMI_MAI_OFF(VpdEntriesList),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_ENTRIES_NUMBER,		1,		0,		SK_PNMI_MAI_OFF(VpdEntriesNumber),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_KEY,		SK_PNMI_VPD_ENTRIES,		sizeof(SK_PNMI_VPD),		SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdKey),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_VALUE,		SK_PNMI_VPD_ENTRIES,		sizeof(SK_PNMI_VPD),		SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdValue),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_ACCESS,		SK_PNMI_VPD_ENTRIES,		sizeof(SK_PNMI_VPD),		SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdAccess),		SK_PNMI_RO, Vpd, 0},	{OID_SKGE_VPD_ACTION,		SK_PNMI_VPD_ENTRIES,		sizeof(SK_PNMI_VPD),		SK_PNMI_OFF(Vpd) + SK_PNMI_VPD_OFF(VpdAction),		SK_PNMI_RW, Vpd, 0},	{OID_SKGE_PORT_NUMBER,				1,		0,		SK_PNMI_MAI_OFF(PortNumber),		SK_PNMI_RO, General, 0},	{OID_SKGE_DEVICE_TYPE,		1,		0,		SK_PNMI_MAI_OFF(DeviceType),		SK_PNMI_RO, General, 0},	{OID_SKGE_DRIVER_DESCR,		1,		0,		SK_PNMI_MAI_OFF(DriverDescr),		SK_PNMI_RO, General, 0},	{OID_SKGE_DRIVER_VERSION,		1,		0,		SK_PNMI_MAI_OFF(DriverVersion),		SK_PNMI_RO, General, 0},	{OID_SKGE_HW_DESCR,		1,		0,		SK_PNMI_MAI_OFF(HwDescr),		SK_PNMI_RO, General, 0},	{OID_SKGE_HW_VERSION,		1,		0,		SK_PNMI_MAI_OFF(HwVersion),		SK_PNMI_RO, General, 0},	{OID_SKGE_CHIPSET,		1,		0,		SK_PNMI_MAI_OFF(Chipset),		SK_PNMI_RO, General, 0},	{OID_SKGE_ACTION,		1,		0,		SK_PNMI_MAI_OFF(Action),		SK_PNMI_RW, Perform, 0},	{OID_SKGE_RESULT,		1,		0,		SK_PNMI_MAI_OFF(TestResult),		SK_PNMI_RO, General, 0},	{OID_SKGE_BUS_TYPE,		1,		0,		SK_PNMI_MAI_OFF(BusType),		SK_PNMI_RO, General, 0},	{OID_SKGE_BUS_SPEED,		1,		0,		SK_PNMI_MAI_OFF(BusSpeed),		SK_PNMI_RO, General, 0},	{OID_SKGE_BUS_WIDTH,		1,		0,		SK_PNMI_MAI_OFF(BusWidth),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_SW_QUEUE_LEN,		1,		0,		SK_PNMI_MAI_OFF(TxSwQueueLen),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_SW_QUEUE_MAX,		1,		0,		SK_PNMI_MAI_OFF(TxSwQueueMax),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_RETRY,		1,		0,		SK_PNMI_MAI_OFF(TxRetryCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_RX_INTR_CTS,		1,		0,		SK_PNMI_MAI_OFF(RxIntrCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_INTR_CTS,		1,		0,		SK_PNMI_MAI_OFF(TxIntrCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_RX_NO_BUF_CTS,		1,		0,		SK_PNMI_MAI_OFF(RxNoBufCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_NO_BUF_CTS,		1,		0,		SK_PNMI_MAI_OFF(TxNoBufCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_USED_DESCR_NO,		1,		0,		SK_PNMI_MAI_OFF(TxUsedDescrNo),		SK_PNMI_RO, General, 0},	{OID_SKGE_RX_DELIVERED_CTS,		1,		0,		SK_PNMI_MAI_OFF(RxDeliveredCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_RX_OCTETS_DELIV_CTS,		1,		0,		SK_PNMI_MAI_OFF(RxOctetsDeliveredCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_RX_HW_ERROR_CTS,		1,		0,		SK_PNMI_MAI_OFF(RxHwErrorsCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_TX_HW_ERROR_CTS,		1,		0,		SK_PNMI_MAI_OFF(TxHwErrorsCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_IN_ERRORS_CTS,		1,		0,		SK_PNMI_MAI_OFF(InErrorsCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_OUT_ERROR_CTS,		1,		0,		SK_PNMI_MAI_OFF(OutErrorsCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_ERR_RECOVERY_CTS,		1,		0,		SK_PNMI_MAI_OFF(ErrRecoveryCts),		SK_PNMI_RO, General, 0},	{OID_SKGE_SYSUPTIME,		1,		0,		SK_PNMI_MAI_OFF(SysUpTime),		SK_PNMI_RO, General, 0},	{OID_SKGE_SENSOR_NUMBER,		1,		0,		SK_PNMI_MAI_OFF(SensorNumber),		SK_PNMI_RO, General, 0},	{OID_SKGE_SENSOR_INDEX,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorIndex),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_DESCR,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorDescr),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_TYPE,

⌨️ 快捷键说明

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