📄 skgemib.c
字号:
/***************************************************************************** * * Name: skgemib.c * Project: Gigabit Ethernet Adapters, PNMI-Module * Version: $Revision: 2.14 $ * Date: $Date: 2008/03/06 14:15:53 $ * Purpose: Private Network Management Interface Management Database * ****************************************************************************//****************************************************************************** * * LICENSE: * (C)Copyright Marvell. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The information in this file is provided "AS IS" without warranty. * /LICENSE * ******************************************************************************//* * PRIVATE OID handler function prototypes */PNMI_STATIC int Addr(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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_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);PNMI_STATIC int Vct(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);#ifdef SK_POWER_MGMTPNMI_STATIC int PowerManagement(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);#endif /* SK_POWER_MGMT */#ifdef SK_DIAG_SUPPORTPNMI_STATIC int DiagActions(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);#endif /* SK_DIAG_SUPPORT */#ifdef SK_ASFPNMI_STATIC int Asf(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);#endif /* SK_ASF *//* defines *******************************************************************/#define ID_TABLE_SIZE (sizeof(IdTable)/sizeof(IdTable[0]))/* global variables **********************************************************//* * Table to correlate OID with handler function and index to * hardware register stored in StatAddress if applicable. */PNMI_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},#ifdef SK_POWER_MGMT {OID_PNP_CAPABILITIES, 0, 0, 0, SK_PNMI_RO, PowerManagement, 0}, {OID_PNP_SET_POWER, 0, 0, 0, SK_PNMI_WO, PowerManagement, 0}, {OID_PNP_QUERY_POWER, 0, 0, 0, SK_PNMI_RO, PowerManagement, 0}, {OID_PNP_ADD_WAKE_UP_PATTERN, 0, 0, 0, SK_PNMI_WO, PowerManagement, 0}, {OID_PNP_REMOVE_WAKE_UP_PATTERN, 0, 0, 0, SK_PNMI_WO, PowerManagement, 0}, {OID_PNP_ENABLE_WAKE_UP, 0, 0, 0, SK_PNMI_RW, PowerManagement, 0},#endif /* SK_POWER_MGMT */#ifdef SK_DIAG_SUPPORT {OID_SKGE_DIAG_MODE, 0, 0, 0, SK_PNMI_RW, DiagActions, 0},#endif /* SK_DIAG_SUPPORT */#ifdef SK_ASF {OID_SKGE_ASF, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_STORE_CONFIG, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_ENA, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_DASH_ENA, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS_INT, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_HB_ENA, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_HB_INT, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_WD_ENA, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_WD_TIME, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_IP_SOURCE, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_MAC_SOURCE, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_IP_DEST, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_MAC_DEST, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_COMMUNITY_NAME, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RSP_ENA, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS_COUNT_MIN, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS_COUNT_MAX, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS_INT_MIN, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_RETRANS_INT_MAX, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_HB_INT_MIN, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_HB_INT_MAX, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_WD_TIME_MIN, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_WD_TIME_MAX, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_HB_CAP, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_WD_TIMER_RES, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_GUID, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_KEY_OP, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_KEY_ADM, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_KEY_GEN, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_CAP, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_DASH_CAP, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_PAR_1, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_OVERALL_OID, 0, 0, 0, SK_PNMI_RW, Asf, 0}, {OID_SKGE_ASF_FWVER_OID, 0, 0, 0, SK_PNMI_RO, Asf, 0},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -