亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? skgepnmi.c

?? linux下的BOOT程序原碼,有需要的可以來下,保證好用
?? C
?? 第 1 頁 / 共 5 頁
字號:
		*pLen = SK_PNMI_STRUCT_SIZE;		return (SK_PNMI_ERR_TOO_SHORT);	}    /*     * Check NetIndex     */	if (NetIndex >= pAC->Rlmt.NumNets) {		return (SK_PNMI_ERR_UNKNOWN_NET);	}	/* Update statistic */	SK_PNMI_CHECKFLAGS("SkPnmiGetStruct: On call");	if ((Ret = MacUpdate(pAC, IoC, 0, pAC->GIni.GIMacsFound - 1)) !=		SK_PNMI_ERR_OK) {		SK_PNMI_SET_STAT(pBuf, Ret, (SK_U32)(-1));		*pLen = SK_PNMI_MIN_STRUCT_SIZE;		return (Ret);	}	if ((Ret = RlmtUpdate(pAC, IoC, NetIndex)) != SK_PNMI_ERR_OK) {		SK_PNMI_SET_STAT(pBuf, Ret, (SK_U32)(-1));		*pLen = SK_PNMI_MIN_STRUCT_SIZE;		return (Ret);	}	if ((Ret = SirqUpdate(pAC, IoC)) != SK_PNMI_ERR_OK) {		SK_PNMI_SET_STAT(pBuf, Ret, (SK_U32)(-1));		*pLen = SK_PNMI_MIN_STRUCT_SIZE;		return (Ret);	}	/*	 * Increment semaphores to indicate that an update was	 * already done	 */	pAC->Pnmi.MacUpdatedFlag ++;	pAC->Pnmi.RlmtUpdatedFlag ++;	pAC->Pnmi.SirqUpdatedFlag ++;	/* Get vpd keys for instance calculation */	Ret = GetVpdKeyArr(pAC, IoC, &KeyArr[0][0], sizeof(KeyArr), &TmpLen);	if (Ret != SK_PNMI_ERR_OK) {		pAC->Pnmi.MacUpdatedFlag --;		pAC->Pnmi.RlmtUpdatedFlag --;		pAC->Pnmi.SirqUpdatedFlag --;		SK_PNMI_CHECKFLAGS("SkPnmiGetStruct: On return");		SK_PNMI_SET_STAT(pBuf, Ret, (SK_U32)(-1));		*pLen = SK_PNMI_MIN_STRUCT_SIZE;		return (SK_PNMI_ERR_GENERAL);	}	/* Retrieve values */	SK_MEMSET((char *)pBuf, 0, SK_PNMI_STRUCT_SIZE);	for (TableIndex = 0; TableIndex < ID_TABLE_SIZE; TableIndex ++) {		InstanceNo = IdTable[TableIndex].InstanceNo;		for (InstanceCnt = 1; InstanceCnt <= InstanceNo;			InstanceCnt ++) {			DstOffset = IdTable[TableIndex].Offset +				(InstanceCnt - 1) *				IdTable[TableIndex].StructSize;			/*			 * For the VPD the instance is not an index number			 * but the key itself. Determin with the instance			 * counter the VPD key to be used.			 */			if (IdTable[TableIndex].Id == OID_SKGE_VPD_KEY ||				IdTable[TableIndex].Id == OID_SKGE_VPD_VALUE ||				IdTable[TableIndex].Id == OID_SKGE_VPD_ACCESS ||				IdTable[TableIndex].Id == OID_SKGE_VPD_ACTION) {				SK_STRNCPY((char *)&Instance, KeyArr[InstanceCnt - 1], 4);			}			else {				Instance = (SK_U32)InstanceCnt;			}			TmpLen = *pLen - DstOffset;			Ret = IdTable[TableIndex].Func(pAC, IoC, SK_PNMI_GET,				IdTable[TableIndex].Id, (char *)pBuf +				DstOffset, &TmpLen, Instance, TableIndex, NetIndex);			/*			 * An unknown instance error means that we reached			 * the last instance of that variable. Proceed with			 * the next OID in the table and ignore the return			 * code.			 */			if (Ret == SK_PNMI_ERR_UNKNOWN_INST) {		break;			}			if (Ret != SK_PNMI_ERR_OK) {				pAC->Pnmi.MacUpdatedFlag --;				pAC->Pnmi.RlmtUpdatedFlag --;				pAC->Pnmi.SirqUpdatedFlag --;				SK_PNMI_CHECKFLAGS("SkPnmiGetStruct: On return");				SK_PNMI_SET_STAT(pBuf, Ret, DstOffset);				*pLen = SK_PNMI_MIN_STRUCT_SIZE;				return (Ret);			}		}	}	pAC->Pnmi.MacUpdatedFlag --;	pAC->Pnmi.RlmtUpdatedFlag --;	pAC->Pnmi.SirqUpdatedFlag --;	*pLen = SK_PNMI_STRUCT_SIZE;	SK_PNMI_CHECKFLAGS("SkPnmiGetStruct: On return");	SK_PNMI_SET_STAT(pBuf, SK_PNMI_ERR_OK, (SK_U32)(-1));	return (SK_PNMI_ERR_OK);}/***************************************************************************** * * SkPnmiPreSetStruct - Presets the management database in SK_PNMI_STRUCT_DATA * * Description: *	Calls a general sub-function for all this set stuff. The preset does *	the same as a set, but returns just before finally setting the *	new value. This is usefull to check if a set might be successfull. *	The sub-function runs through the IdTable, checks which OIDs are able *	to set, and calls the handler function of the OID to perform the *	preset. The return value of the function will also be stored in *	SK_PNMI_STRUCT_DATA if the passed buffer has the minimum size of *	SK_PNMI_MIN_STRUCT_SIZE. * * Returns: *	SK_PNMI_ERR_OK           The request was successfully performed. *	SK_PNMI_ERR_GENERAL      A general severe internal error occured. *	SK_PNMI_ERR_TOO_SHORT    The passed buffer is too short to contain *	                         the correct data (e.g. a 32bit value is *	                         needed, but a 16 bit value was passed). *	SK_PNMI_ERR_BAD_VALUE    The passed value is not in the valid *	                         value range. */int SkPnmiPreSetStruct(SK_AC *pAC,		/* Pointer to adapter context */SK_IOC IoC,		/* IO context handle */void *pBuf,		/* Buffer which contains the data to be set */unsigned int *pLen,	/* Length of buffer */SK_U32 NetIndex)	/* NetIndex (0..n), in single net mode allways zero */{	SK_DBG_MSG(pAC, SK_DBGMOD_PNMI, SK_DBGCAT_CTRL,		("PNMI: SkPnmiPreSetStruct: Called, BufLen=%d, NetIndex=%d\n",			*pLen, NetIndex));	return (PnmiStruct(pAC, IoC, SK_PNMI_PRESET, (char *)pBuf,					pLen, NetIndex));}/***************************************************************************** * * SkPnmiSetStruct - Sets the management database in SK_PNMI_STRUCT_DATA * * Description: *	Calls a general sub-function for all this set stuff. The return value *	of the function will also be stored in SK_PNMI_STRUCT_DATA if the *	passed buffer has the minimum size of SK_PNMI_MIN_STRUCT_SIZE. *	The sub-function runs through the IdTable, checks which OIDs are able *	to set, and calls the handler function of the OID to perform the *	set. The return value of the function will also be stored in *	SK_PNMI_STRUCT_DATA if the passed buffer has the minimum size of *	SK_PNMI_MIN_STRUCT_SIZE. * * Returns: *	SK_PNMI_ERR_OK           The request was successfully performed. *	SK_PNMI_ERR_GENERAL      A general severe internal error occured. *	SK_PNMI_ERR_TOO_SHORT    The passed buffer is too short to contain *	                         the correct data (e.g. a 32bit value is *	                         needed, but a 16 bit value was passed). *	SK_PNMI_ERR_BAD_VALUE    The passed value is not in the valid *	                         value range. */int SkPnmiSetStruct(SK_AC *pAC,		/* Pointer to adapter context */SK_IOC IoC,		/* IO context handle */void *pBuf,		/* Buffer which contains the data to be set */unsigned int *pLen,	/* Length of buffer */SK_U32 NetIndex)	/* NetIndex (0..n), in single net mode allways zero */{	SK_DBG_MSG(pAC, SK_DBGMOD_PNMI, SK_DBGCAT_CTRL,		("PNMI: SkPnmiSetStruct: Called, BufLen=%d, NetIndex=%d\n",			*pLen, NetIndex));	return (PnmiStruct(pAC, IoC, SK_PNMI_SET, (char *)pBuf,					pLen, NetIndex));}/***************************************************************************** * * SkPnmiEvent - Event handler * * Description: *	Handles the following events: *	SK_PNMI_EVT_SIRQ_OVERFLOW     When a hardware counter overflows an *	                              interrupt will be generated which is *	                              first handled by SIRQ which generates a *	                              this event. The event increments the *	                              upper 32 bit of the 64 bit counter. *	SK_PNMI_EVT_SEN_XXX           The event is generated by the I2C module *	                              when a sensor reports a warning or *	                              error. The event will store a trap *	                              message in the trap buffer. *	SK_PNMI_EVT_CHG_EST_TIMER     The timer event was initiated by this *	                              module and is used to calculate the *	                              port switches per hour. *	SK_PNMI_EVT_CLEAR_COUNTER     The event clears all counters and *	                              timestamps. *	SK_PNMI_EVT_XMAC_RESET        The event is generated by the driver *	                              before a hard reset of the XMAC is *	                              performed. All counters will be saved *	                              and added to the hardware counter *	                              values after reset to grant continuous *	                              counter values. *	SK_PNMI_EVT_RLMT_PORT_UP      Generated by RLMT to notify that a port *	                              went logically up. A trap message will *	                              be stored to the trap buffer. *	SK_PNMI_EVT_RLMT_PORT_DOWN    Generated by RLMT to notify that a port *	                              went logically down. A trap message will *	                              be stored to the trap buffer. *	SK_PNMI_EVT_RLMT_SEGMENTATION Generated by RLMT to notify that two *	                              spanning tree root bridges were *	                              detected. A trap message will be stored *	                              to the trap buffer. *	SK_PNMI_EVT_RLMT_ACTIVE_DOWN  Notifies PNMI that an active port went *	                              down. PNMI will not further add the *	                              statistic values to the virtual port. *	SK_PNMI_EVT_RLMT_ACTIVE_UP    Notifies PNMI that a port went up and *	                              is now an active port. PNMI will now *	                              add the statistic data of this port to *	                              the virtual port. *	SK_PNMI_EVT_RLMT_SET_NETS     Notifies PNMI about the net mode. The first Parameter *	                              contains the number of nets. 1 means single net, 2 means *	                              dual net. The second Parameter is -1 * * Returns: *	Always 0 */int SkPnmiEvent(SK_AC *pAC,		/* Pointer to adapter context */SK_IOC IoC,		/* IO context handle */SK_U32 Event,		/* Event-Id */SK_EVPARA Param)	/* Event dependent parameter */{	unsigned int	PhysPortIndex;	unsigned int	MaxNetNumber;	int			CounterIndex;	int			Ret;	SK_U16		MacStatus;	SK_U64		OverflowStatus;	SK_U64		Mask;	int			MacType;	SK_U64		Value;	SK_U32		Val32;	SK_U16		Register;	SK_EVPARA	EventParam;	SK_U64		NewestValue;	SK_U64		OldestValue;	SK_U64		Delta;	SK_PNMI_ESTIMATE *pEst;	SK_U32		NetIndex;	SK_GEPORT	*pPrt;	SK_PNMI_VCT	*pVctBackupData;	SK_U32		RetCode;	int		i;	SK_U32		CableLength;#ifdef DEBUG	if (Event != SK_PNMI_EVT_XMAC_RESET) {		SK_DBG_MSG(pAC, SK_DBGMOD_PNMI, SK_DBGCAT_CTRL,			("PNMI: SkPnmiEvent: Called, Event=0x%x, Param=0x%x\n",			(unsigned int)Event, (unsigned int)Param.Para64));	}#endif	SK_PNMI_CHECKFLAGS("SkPnmiEvent: On call");	MacType = pAC->GIni.GIMacType;	switch (Event) {	case SK_PNMI_EVT_SIRQ_OVERFLOW:		PhysPortIndex = (int)Param.Para32[0];		MacStatus = (SK_U16)Param.Para32[1];#ifdef DEBUG		if (PhysPortIndex >= SK_MAX_MACS) {			SK_DBG_MSG(pAC, SK_DBGMOD_PNMI, SK_DBGCAT_CTRL,				("PNMI: ERR: SkPnmiEvent: SK_PNMI_EVT_SIRQ_OVERFLOW parameter"				 " wrong, PhysPortIndex=0x%x\n",				PhysPortIndex));			return (0);		}#endif		OverflowStatus = 0;		/*		 * Check which source caused an overflow interrupt.		 */		if ((pAC->GIni.GIFunc.pFnMacOverflow(			 pAC, IoC, PhysPortIndex, MacStatus, &OverflowStatus) != 0) ||			(OverflowStatus == 0)) {			SK_PNMI_CHECKFLAGS("SkPnmiEvent: On return");			return (0);		}		/*		 * Check the overflow status register and increment		 * the upper dword of corresponding counter.		 */		for (CounterIndex = 0; CounterIndex < sizeof(Mask) * 8;			CounterIndex ++) {			Mask = (SK_U64)1 << CounterIndex;			if ((OverflowStatus & Mask) == 0) {				continue;			}			switch (StatOvrflwBit[CounterIndex][MacType]) {			case SK_PNMI_HTX_UTILUNDER:			case SK_PNMI_HTX_UTILOVER:				XM_IN16(IoC, PhysPortIndex, XM_TX_CMD,					&Register);				Register |= XM_TX_SAM_LINE;				XM_OUT16(IoC, PhysPortIndex, XM_TX_CMD,					Register);				break;			case SK_PNMI_HRX_UTILUNDER:			case SK_PNMI_HRX_UTILOVER:				XM_IN16(IoC, PhysPortIndex, XM_RX_CMD,					&Register);				Register |= XM_RX_SAM_LINE;				XM_OUT16(IoC, PhysPortIndex, XM_RX_CMD,					Register);				break;			case SK_PNMI_HTX_OCTETHIGH:			case SK_PNMI_HTX_OCTETLOW:			case SK_PNMI_HTX_RESERVED:			case SK_PNMI_HRX_OCTETHIGH:			case SK_PNMI_HRX_OCTETLOW:			case SK_PNMI_HRX_IRLENGTH:			case SK_PNMI_HRX_RESERVED:			/*			 * the following counters aren't be handled (id > 63)			 */			case SK_PNMI_HTX_SYNC:			case SK_PNMI_HTX_SYNC_OCTET:				break;			case SK_PNMI_HRX_LONGFRAMES:				if (MacType == SK_MAC_GMAC) {					pAC->Pnmi.Port[PhysPortIndex].						CounterHigh[CounterIndex] ++;				}				break;			default:				pAC->Pnmi.Port[PhysPortIndex].					CounterHigh[CounterIndex] ++;			}		}		break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区在线播放 | 国产日韩欧美精品一区| 国产一区二区女| 国产日韩精品一区二区三区在线| 成人午夜大片免费观看| 亚洲日本在线天堂| 欧美撒尿777hd撒尿| 日本女优在线视频一区二区| 久久综合久久鬼色中文字| 豆国产96在线|亚洲| 一区二区视频在线| 欧美群妇大交群中文字幕| 久久99精品久久久久久动态图 | 91精品国产综合久久精品图片| 麻豆精品一区二区综合av| 久久久国产午夜精品| 99国内精品久久| 亚洲成人黄色影院| 久久老女人爱爱| 99热国产精品| 日韩国产一区二| 久久精品人人做人人综合| 91一区二区三区在线观看| 偷拍日韩校园综合在线| 久久婷婷色综合| 91免费国产视频网站| 日韩电影在线一区二区| 国产视频一区在线播放| 欧美怡红院视频| 国内不卡的二区三区中文字幕| 亚洲欧洲另类国产综合| 91精品欧美一区二区三区综合在| 国产激情偷乱视频一区二区三区| 一区二区三区美女| 精品久久人人做人人爰| 色综合夜色一区| 久久99精品国产麻豆婷婷洗澡| 亚洲日本护士毛茸茸| 欧美一二三区精品| 色婷婷av久久久久久久| 国产自产2019最新不卡| 一区二区三区视频在线看| 337p日本欧洲亚洲大胆精品| 在线看日本不卡| 国产乱子伦视频一区二区三区| 亚洲一区二区精品视频| 久久先锋影音av鲁色资源网| 欧美色窝79yyyycom| 国产91露脸合集magnet| 三级影片在线观看欧美日韩一区二区| 久久久久久久久久久久久久久99 | 91麻豆精品国产91久久久使用方法| 成人性视频网站| 午夜成人免费视频| 国产精品视频观看| 精品久久久久久久久久久久包黑料 | 日韩高清一级片| 1000部国产精品成人观看| 日韩一区二区三区高清免费看看 | 日韩视频在线观看一区二区| 91亚洲精品久久久蜜桃网站| 狠狠色伊人亚洲综合成人| 一区二区免费在线播放| 欧美国产丝袜视频| 欧美大片日本大片免费观看| 欧美亚洲另类激情小说| 成人动漫一区二区| 在线观看日韩毛片| 成人性生交大片免费看中文| 美女网站在线免费欧美精品| 亚洲国产你懂的| 国产精品盗摄一区二区三区| 亚洲精品在线观看网站| 欧美电影影音先锋| 欧美在线色视频| 91在线一区二区| 春色校园综合激情亚洲| 国内欧美视频一区二区| 奇米影视7777精品一区二区| 午夜视频一区在线观看| 一区二区三区小说| 亚洲色图一区二区三区| 国产精品久久久久久妇女6080| 国产丝袜在线精品| 久久久精品2019中文字幕之3| 精品日韩99亚洲| 日韩视频在线你懂得| 欧美一区二区三区免费观看视频| 欧美专区日韩专区| 91精品1区2区| 色中色一区二区| 91美女片黄在线观看| www.66久久| 不卡在线观看av| 成人精品免费看| 国产高清久久久久| 国产夫妻精品视频| 国产成人精品影院| 丁香婷婷深情五月亚洲| 国产激情一区二区三区桃花岛亚洲| 国产在线乱码一区二区三区| 麻豆久久久久久| 精品一区二区久久久| 激情图片小说一区| 国产在线视频精品一区| 国产九色精品成人porny| 狠狠色狠狠色综合| 国产成人av电影| 国产不卡在线视频| 成人av在线网| 色综合久久久久久久久久久| 91福利在线播放| 欧美性猛交一区二区三区精品| 欧洲一区在线电影| 欧美情侣在线播放| 日韩精品中午字幕| 久久综合资源网| 国产区在线观看成人精品| 亚洲国产精品成人久久综合一区 | 亚洲色图视频免费播放| 日韩一区中文字幕| 亚洲国产cao| 免费精品视频最新在线| 韩国午夜理伦三级不卡影院| 国产精品1区2区| 波多野结衣一区二区三区 | 99精品欧美一区| 欧美在线综合视频| 欧美一区二区三区视频免费播放 | 成人免费电影视频| 91一区在线观看| 欧美日韩精品电影| 日韩欧美另类在线| 国产欧美1区2区3区| 中文字幕一区日韩精品欧美| 亚洲综合在线免费观看| 亚洲一级二级在线| 蜜桃av一区二区| 高清免费成人av| 日本韩国精品在线| 51精品秘密在线观看| 久久精品水蜜桃av综合天堂| 亚洲欧洲国产专区| 天堂午夜影视日韩欧美一区二区| 久久电影网电视剧免费观看| 成人性生交大片免费看在线播放 | 91美女片黄在线观看91美女| 欧美精品成人一区二区三区四区| 欧美成人精品高清在线播放| 欧美激情在线观看视频免费| 亚洲伊人色欲综合网| 免费不卡在线视频| 成人精品国产福利| 欧美男人的天堂一二区| 久久久久久电影| 一区二区三区四区蜜桃| 麻豆免费看一区二区三区| 成人av在线一区二区| 7777精品伊人久久久大香线蕉| 久久久影视传媒| 亚洲影院在线观看| 国产精品自拍av| 欧美在线free| 久久新电视剧免费观看| 亚洲激情在线播放| 激情另类小说区图片区视频区| 91论坛在线播放| 日韩欧美国产一二三区| 中文字幕佐山爱一区二区免费| 美国十次综合导航| 色噜噜狠狠成人网p站| 欧美刺激脚交jootjob| 亚洲美女视频在线观看| 精品一区二区三区在线播放| 色婷婷综合久久久| 久久久久久久久久久电影| 五月婷婷综合在线| 成人av综合一区| 欧美成人女星排名| 亚洲综合区在线| 丁香婷婷深情五月亚洲| 日韩精品一区在线观看| 一区二区三区高清| 国产成人8x视频一区二区| 欧美高清视频不卡网| 亚洲视频在线一区| 国产一区二区三区蝌蚪| 欧美精品18+| 亚洲免费毛片网站| 国产suv精品一区二区6| 欧美一级黄色大片| 亚洲国产欧美另类丝袜| 91香蕉视频在线| 久久九九久久九九| 免费成人美女在线观看| 欧美日韩一卡二卡三卡| 亚洲色图第一区| 国产成人精品免费网站| 精品国产乱码久久久久久牛牛| 日韩精品一卡二卡三卡四卡无卡|