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

📄 skgemib.c

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻 C
📖 第 1 页 / 共 2 页
字号:
/***************************************************************************** * * Name:	skgemib.c * Project:	GEnesis, PCI Gigabit Ethernet Adapter * Version:	$Revision: 1.1.1.1 $ * Date:	$Date: 2005/06/27 17:05:12 $ * Purpose:	Private Network Management Interface Management Database * ****************************************************************************//****************************************************************************** * *	(C)Copyright 2002 SysKonnect GmbH. * *	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. * ******************************************************************************//***************************************************************************** * * History: * *	$Log: skgemib.c,v $ *	Revision 1.1.1.1  2005/06/27 17:05:12  linuxpark *	Initial import. *	 *	Revision 1.7  2002/12/16 09:04:34  tschilli *	Code for VCT handling added. * *	Revision 1.6  2002/08/09 15:40:21  rwahl *	Editorial change (renamed ConfSpeedCap). * *	Revision 1.5  2002/08/09 11:05:34  rwahl *	Added oid handling for link speed cap. * *	Revision 1.4  2002/08/09 09:40:27  rwahl *	Added support for NDIS OID_PNP_xxx. * *	Revision 1.3  2002/07/17 19:39:54  rwahl *	Added handler for OID_SKGE_SPEED_MODE & OID_SKGE_SPEED_STATUS. * *	Revision 1.2  2002/05/22 08:59:00  rwahl *	- static functions only for release build. *	- Source file must be included. * *	Revision 1.1  2002/05/22 08:12:42  rwahl *	Initial version. * ****************************************************************************/#include <config.h>#ifdef CONFIG_SK98/* * 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/* 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 */	{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,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorType),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_VALUE,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorValue),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_WAR_THRES_LOW,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningThresholdLow),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_WAR_THRES_UPP,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningThresholdHigh),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_ERR_THRES_LOW,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorThresholdLow),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_ERR_THRES_UPP,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorThresholdHigh),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_STATUS,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorStatus),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_WAR_CTS,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningCts),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_ERR_CTS,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorErrorCts),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_WAR_TIME,		SK_PNMI_SENSOR_ENTRIES,		sizeof(SK_PNMI_SENSOR),		SK_PNMI_OFF(Sensor) + SK_PNMI_SEN_OFF(SensorWarningTimestamp),		SK_PNMI_RO, SensorStat, 0},	{OID_SKGE_SENSOR_ERR_TIME,		SK_PNMI_SENSOR_ENTRIES,

⌨️ 快捷键说明

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