📄 skgemib.c
字号:
/***************************************************************************** * * Name: skgemib.c * Project: GEnesis, PCI Gigabit Ethernet Adapter * Version: $Revision: 1.11 $ * Date: $Date: 2003/09/15 13:38:12 $ * Purpose: Private Network Management Interface Management Database * ****************************************************************************//****************************************************************************** * * (C)Copyright 1998-2002 SysKonnect GmbH. * (C)Copyright 2002-2003 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. * ******************************************************************************//* * 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 *//* 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 */ {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_DRIVER_RELDATE, 1, 0, SK_PNMI_MAI_OFF(DriverReleaseDate), SK_PNMI_RO, General, 0}, {OID_SKGE_DRIVER_FILENAME, 1, 0, SK_PNMI_MAI_OFF(DriverFileName), 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_CHIPID, 1, 0, SK_PNMI_MAI_OFF(ChipId), SK_PNMI_RO, General, 0}, {OID_SKGE_RAMSIZE, 1, 0, SK_PNMI_MAI_OFF(RamSize), SK_PNMI_RO, General, 0}, {OID_SKGE_VAUXAVAIL, 1, 0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -