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

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

?? ixqmgr.h

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? H
?? 第 1 頁 / 共 5 頁
字號:
	 * counters.	 */	/* fetch a queue entry */	nullCheckEntry = IX_QMGR_INLINE_READ_LONG(infoPtr->qAccRegAddr);	/* iterate the specified number of queue entries */ 	while (--numEntries)	{	    /* check the result of the previous read */	    if (nullCheckEntry == 0)	    {		/* if we read a NULL entry, stop. We have underflowed */		break;	    }	    else	    {		/* write the entry */		*entries = nullCheckEntry;		/* fetch next entry */		nullCheckEntry = IX_QMGR_INLINE_READ_LONG(qAccRegAddr);		/* increment the write address */		entries++;	    }	}	/* write the pre-fetched entry */	*entries = nullCheckEntry;    }    else    {	IxQMgrQEntrySizeInWords entrySizeInWords = infoPtr->qEntrySizeInWords;	/* read the specified number of queue entries */	nullCheckEntry = 0;	while (numEntries--)	{	    UINT32 i;	    for (i = 0; i < (UINT32)entrySizeInWords; i++)	    {		*entries = IX_QMGR_INLINE_READ_LONG(infoPtr->qAccRegAddr + i);		nullCheckEntry |= *entries++;	    }	    /* if we read a NULL entry, stop. We have underflowed */	    if (nullCheckEntry == 0)	    {		break;	    }	    nullCheckEntry = 0;	}    }    /* reset the current read count : next access to the read function      * will force a underflow status check      */    infoPtr->qReadCount = 0;    /* Check if underflow occurred on the read */    if (nullCheckEntry == 0 && qId < IX_QMGR_MIN_QUEUPP_QID)    {	/* get the queue status */	UINT32 status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr);	if (status & infoPtr->qUflowStatBitMask)	{	    /* clear the underflow status bit if it was set */	    IX_QMGR_INLINE_WRITE_LONG(infoPtr->qUOStatRegAddr,				 status & ~infoPtr->qUflowStatBitMask);	    return IX_QMGR_Q_UNDERFLOW;	}    }    return IX_SUCCESS;}#endif/** * @ingroup IxQMgrAPI *  * @fn ixQMgrQPeek (IxQMgrQId qId,	     unsigned int entryIndex,	     UINT32 *entry) * * @brief Read an entry from a queue without moving the read pointer. * * This function inspects an entry in a queue. The entry is inspected directly * in AQM SRAM and is not read from queue access registers. The entry is NOT removed * from the queue and the read/write pointers are unchanged. * N.B: The queue should not be accessed when this function is called. * * @param  qId @ref IxQMgrQId [in]   - the queue identifier. * @param  entryIndex unsigned int [in] - index of entry in queue in the range *                          [0].......[current number of entries in queue]. * @param  *entry UINT32 [out] - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully inspected. * @return @li IX_QMGR_PARAMETER_ERROR, invalid paramter(s). * @return @li IX_QMGR_Q_NOT_CONFIGURED, queue not configured for this QId. * @return @li IX_QMGR_ENTRY_INDEX_OUT_OF_BOUNDS, an entry does not exist at *             specified index. * @return @li IX_FAIL, failed to inpected the queue entry. */PUBLIC IX_STATUSixQMgrQPeek (IxQMgrQId qId,	     unsigned int entryIndex,	     UINT32 *entry);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQWriteWithChecks (IxQMgrQId qId,                        UINT32 *entry) * * @brief Write an entry to an AQM queue. * * This function will write the entry size number of words pointed to by entry to * the queue specified by qId. The queue configuration word is read to * determine the entry size of queue and the corresponding number of words is * then written to the queue. * * @note - IX_QMGR_Q_OVERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an overflow status maintained. * * @param qId @ref IxQMgrQId [in] - the queue identifier. * @param *entry UINT32 [in] - the word(s) to write. * * @return @li IX_SUCCESS, value was successfully written. * @return @li IX_QMGR_PARAMETER_ERROR, invalid paramter(s). * @return @li IX_QMGR_Q_NOT_CONFIGURED, queue not configured for this QId * @return @li IX_QMGR_Q_OVERFLOW, attempt to write to a full queue * */PUBLIC IX_STATUSixQMgrQWriteWithChecks (IxQMgrQId qId,                        UINT32 *entry);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQWrite (IxQMgrQId qId,	      UINT32 *entry) * * @brief Fast write of an entry to a queue. * * This function is a heavily streamlined version of ixQMgrQWriteWithChecks(), * but performs essentially the same task.  It will write the entry size number * of words pointed to by entry to the queue specified by qId. * * @note - This function is inlined, to reduce unnecessary function call * overhead.  It does not perform any parameter checks, or update any * statistics. Also, it does not check that the queue specified by qId has * been configured. It simply writes an entry to the queue, and checks for * overflow. * * @note - IX_QMGR_Q_OVERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an overflow status maintained. * * @param  qId @ref IxQMgrQId [in]   - the queue identifier. * @param  *entry UINT32 [in] - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully read. * @return @li IX_QMGR_Q_OVERFLOW, attempt to write to a full queue * */#ifdef NO_INLINE_APISPUBLIC IX_STATUSixQMgrQWrite (IxQMgrQId qId,	      UINT32 *entry);#elseIX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQWrite (IxQMgrQId qId,	      UINT32 *entry);#endif /* NO_INLINE_APIS */IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQWrite (IxQMgrQId qId,	      UINT32 *entry)#ifdef NO_INLINE_APIS    ;#else{    IxQMgrQInlinedReadWriteInfo *infoPtr = &ixQMgrQInlinedReadWriteInfo[qId];    UINT32 entrySize;    /* write the entry */    IX_QMGR_INLINE_WRITE_LONG(infoPtr->qAccRegAddr, *entry);    entrySize = infoPtr->qEntrySizeInWords;    if (entrySize != IX_QMGR_Q_ENTRY_SIZE1)    {		/* process the remaining part of the entry */	volatile UINT32 *qAccRegAddr = infoPtr->qAccRegAddr;	while (--entrySize)	{	    ++entry;	    IX_QMGR_INLINE_WRITE_LONG(++qAccRegAddr, *entry);	} 	entrySize = infoPtr->qEntrySizeInWords;    }    /* overflow is available for lower queues only */    if (qId < IX_QMGR_MIN_QUEUPP_QID)    {   	UINT32 qSize = infoPtr->qSizeInEntries;	/* increment the current number of entries in the queue	 * and check for overflow 	 */	if (infoPtr->qWriteCount++ == qSize)	{	    /* the queue may have overflow */	    UINT32 qPtrs; /* queue internal pointers */  	    /* get the queue status */	    UINT32 status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr);	    /* read the status twice because the status may 	     * not be immediately ready after the write operation	     */	    if ((status & infoPtr->qOflowStatBitMask) ||		((status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr))		 & infoPtr->qOflowStatBitMask))	    {		/* the queue is full, clear the overflow status		 *  bit if it was set 		 */		IX_QMGR_INLINE_WRITE_LONG(infoPtr->qUOStatRegAddr,				     status & ~infoPtr->qOflowStatBitMask);		infoPtr->qWriteCount = infoPtr->qSizeInEntries;		return IX_QMGR_Q_OVERFLOW;	    }	    /* No overflow occured : someone is draining the queue	     * and the current counter needs to be	     * updated from the current number of entries in the queue	     */	    /* get q pointer snapshot */	    qPtrs = IX_QMGR_INLINE_READ_LONG(infoPtr->qConfigRegAddr);	    /* Mod subtraction of pointers to get number of words in Q. */	    qPtrs = (qPtrs - (qPtrs >> 7)) & 0x7f; 	    if (qPtrs == 0)	    {		/* the queue may be full at the time of the 		 * snapshot. Next access will check 		 * the overflow status again.		 */		infoPtr->qWriteCount = qSize;	    }	    else 	    {		/* convert the number of words to a number of entries */		if (entrySize == IX_QMGR_Q_ENTRY_SIZE1)		{		    infoPtr->qWriteCount = qPtrs & (qSize - 1);		}		else		{		    infoPtr->qWriteCount = (qPtrs / entrySize) & (qSize - 1);		}	    }	}    }    return IX_SUCCESS;}#endif/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQBurstWrite (IxQMgrQId qId,		   unsigned numEntries,		   UINT32 *entries) * * @brief Write a number of entries to an AQM queue. * * This function will burst write a number of entries to the specified queue. * The entry size of queue is auto-detected. The function will attempt to * write as many entries as specified by the numEntries parameter and will * return an OVERFLOW if any one of the individual entry writes fail. * * @warning * IX_QMGR_Q_OVERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an overflow status maintained, hence there is a potential for * silent failure here. This function must be used with caution. * * @note * This function is intended for fast population of queues, so to make it * as efficient as possible, it has the following features: * - This function is inlined, to reduce unnecessary function call overhead. * - It does not perform any parameter checks, or update any statistics. * - It does not check that the queue specified by qId has been configured. * - It does not check that the queue has enough free space to hold the entries * before writing, and only checks for overflow after all writes have been * performed.  Therefore, the client should ensure before calling this function * that there is enough free space in the queue to hold the number of entries * to be written.  ixQMgrQWrite() or ixQMgrQWriteWithChecks(), which only writes * a single queue entry per call, should be used instead if the user requires * checks for OVERFLOW after each entry written. * * @param qId @ref IxQMgrQId [in]   - the queue identifier. * @param numEntries unsigned [in] - the number of entries to write. * @param *entries UINT32 [in]  - the word(s) to write. * * @return @li IX_SUCCESS, value was successfully written. * @return @li IX_QMGR_Q_OVERFLOW, attempt to write to a full queue * */#ifdef NO_INLINE_APISPUBLIC IX_STATUSixQMgrQBurstWrite (IxQMgrQId qId,		   unsigned numEntries,		   UINT32 *entries);#elseIX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQBurstWrite (IxQMgrQId qId,		   unsigned numEntries,		   UINT32 *entries);#endif /* NO_INLINE_APIS */IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQBurstWrite (IxQMgrQId qId,		   unsigned numEntries,		   UINT32 *entries)#ifdef NO_INLINE_APIS;#else{    IxQMgrQInlinedReadWriteInfo *infoPtr = &ixQMgrQInlinedReadWriteInfo[qId];    UINT32 status;    /* update the current write count */    infoPtr->qWriteCount += numEntries;    if (infoPtr->qEntrySizeInWords == IX_QMGR_Q_ENTRY_SIZE1)    {	volatile UINT32 *qAccRegAddr = infoPtr->qAccRegAddr;	while (numEntries--)	{	    IX_QMGR_INLINE_WRITE_LONG(qAccRegAddr, *entries);	    entries++;	}    }    else    {	IxQMgrQEntrySizeInWords entrySizeInWords = infoPtr->qEntrySizeInWords;	UINT32 i;	/* write each queue entry */	while (numEntries--)	{	    /* write the queueEntrySize number of words for each entry */	    for (i = 0; i < (UINT32)entrySizeInWords; i++)	    {		IX_QMGR_INLINE_WRITE_LONG((infoPtr->qAccRegAddr + i), *entries);		entries++;	    }	}    }    /* check if the write count overflows */    if (infoPtr->qWriteCount > infoPtr->qSizeInEntries)    {	/* reset the current write count */	infoPtr->qWriteCount = infoPtr->qSizeInEntries;    }    /* Check if overflow occurred on the write operation */    if (qId < IX_QMGR_MIN_QUEUPP_QID)    {	/* get the queue status */	status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr);	/* read the status twice because the status may 	 * not be ready at the time of the write	 */	if ((status & infoPtr->qOflowStatBitMask) ||	    ((status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr))	     & infoPtr->qOflowStatBitMask))	{	    /* clear the underflow status bit if it was set */	    IX_QMGR_INLINE_WRITE_LONG(infoPtr->qUOStatRegAddr,				 status & ~infoPtr->qOflowStatBitMask);	    return IX_QMGR_Q_OVERFLOW;	}    }    return IX_SUCCESS;}#endif/** * @ingroup IxQMgrAPI *  * @fn ixQMgrQPoke (IxQMgrQId qId,	     unsigned int entryIndex,	     UINT32 *entry) * * @brief Write an entry to a queue without moving the write pointer. * * This function modifies an entry in a queue. The entry is modified directly * in AQM SRAM and not using the queue access registers. The entry is NOT added to the * queue and the read/write pointers are unchanged. * N.B: The queue should not be accessed when this function is called. * * @param qId @ref IxQMgrQId [in]  - the queue identifier. * @param  entryIndex unsigned int [in] - index of entry in queue in the range *                          [0].......[current number of entries in queue]. * @param  *entry UINT32 [in] - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully modified. * @return @li IX_QMGR_PARAMETER_ERROR, invalid paramter(s). * @return @li IX_QMGR_Q_NOT_CONFIGURED, queue not configured for this QId. * @return @li IX_QMGR_ENTRY_INDEX_OUT_OF_BOUNDS, an entry does not exist at *             specified index. * @return @li IX_FAIL, failed to modify the queue entry. */PUBLIC IX_STATUSixQMgrQPoke (IxQMgrQId qId,	     unsigned int entryIndex,	     UINT32 *entry);/**

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区蜜桃臀影院| 人禽交欧美网站| 亚洲欧美色图小说| 综合亚洲深深色噜噜狠狠网站| 国产欧美一区二区在线观看| 日韩精品在线看片z| 日韩一区二区电影网| 欧美一区二区在线播放| 日韩亚洲欧美中文三级| 精品免费国产二区三区| 亚洲精品一区二区三区四区高清 | 国产精品美女久久久久aⅴ| 精品久久久久香蕉网| 精品日韩在线一区| 精品久久国产老人久久综合| 日韩一区二区三区电影在线观看| 精品在线亚洲视频| 激情国产一区二区| 国产精品综合网| 国产·精品毛片| 日本高清不卡aⅴ免费网站| 欧美亚洲尤物久久| 欧美丰满少妇xxxbbb| 欧美一级生活片| 久久九九久久九九| ...中文天堂在线一区| 一级做a爱片久久| 亚洲国产日韩av| 蜜桃av一区二区| 成人毛片在线观看| 在线观看国产日韩| 精品国产一区二区三区久久久蜜月 | 亚洲精品国产一区二区精华液| 日韩欧美成人激情| 国产欧美一区视频| 亚洲综合精品久久| 精品在线亚洲视频| 色天天综合久久久久综合片| 在线观看www91| 亚洲精品一区二区三区99| 国产精品美女一区二区三区| 亚洲综合激情小说| 国产精品资源在线| 91黄色在线观看| 精品国产一区a| 亚洲免费视频中文字幕| 美女脱光内衣内裤视频久久网站| 亚洲一区二区成人在线观看| 日韩电影免费在线观看网站| 国产成人高清在线| 欧美日韩一卡二卡| 国产女人18毛片水真多成人如厕| 日韩欧美国产麻豆| 中文字幕一区免费在线观看| 一区二区三区欧美在线观看| 看片的网站亚洲| 91久久国产最好的精华液| 日韩一区二区在线播放| 亚洲欧洲成人自拍| 国产一区二区久久| 3d成人h动漫网站入口| 国产精品福利一区| 免费观看在线综合| 色婷婷精品久久二区二区蜜臀av| av动漫一区二区| 欧美一级日韩免费不卡| 亚洲欧美偷拍卡通变态| 蜜臂av日日欢夜夜爽一区| 一本久道久久综合中文字幕 | 91福利社在线观看| 国产亚洲精品久| 日韩黄色一级片| 色哟哟一区二区| 国产精品乱人伦| 国产一区在线精品| 6080日韩午夜伦伦午夜伦| 亚洲欧美综合色| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美人动与zoxxxx乱| 国产精品乱码一区二三区小蝌蚪| 国产精品久久福利| 韩国毛片一区二区三区| 欧美在线|欧美| 国产精品理伦片| 国产精品亚洲一区二区三区妖精 | 欧美激情综合五月色丁香小说| 欧美高清在线视频| 蜜桃视频第一区免费观看| 欧美丝袜丝nylons| 亚洲你懂的在线视频| 丰满亚洲少妇av| 久久综合色8888| 麻豆精品在线播放| 欧美一级专区免费大片| 视频一区欧美精品| 欧美日韩精品专区| 亚洲小少妇裸体bbw| 91香蕉国产在线观看软件| 国产精品青草综合久久久久99| 自拍偷拍欧美激情| 粉嫩av一区二区三区| 欧美mv和日韩mv国产网站| 麻豆精品精品国产自在97香蕉| 韩国精品主播一区二区在线观看| 成人av在线电影| 国产视频一区在线播放| 裸体一区二区三区| 91浏览器入口在线观看| 亚洲男同1069视频| 色94色欧美sute亚洲13| 亚洲香肠在线观看| 91国在线观看| 亚洲一级电影视频| 欧美三日本三级三级在线播放| 日韩欧美一级二级三级久久久| 国产精品久久久久毛片软件| 99久久精品情趣| 亚洲精品国久久99热| 欧美日韩国产成人在线91| 免费成人在线观看| 精品国产一区久久| 成人av资源在线观看| 一区二区三区日韩精品视频| 欧美日韩大陆一区二区| 蜜桃av噜噜一区| 国产亚洲欧美一级| 91美女在线观看| 午夜视频一区在线观看| 欧美精三区欧美精三区| 久久精品国产亚洲a| 国产清纯白嫩初高生在线观看91 | 国产在线一区观看| 国产女主播在线一区二区| 99视频国产精品| 亚洲午夜电影在线| 亚洲精品一区二区三区在线观看| 亚洲色图都市小说| 欧美丝袜丝交足nylons图片| 日本成人中文字幕在线视频 | 亚洲欧洲成人精品av97| 欧美天堂亚洲电影院在线播放| 国产欧美综合在线| 欧美中文字幕久久| 久久精品免费观看| 国产精品日日摸夜夜摸av| 日本韩国欧美一区二区三区| 日本伊人午夜精品| 欧美激情综合在线| 欧美日韩精品一区二区三区| 国产精品影视在线| 亚洲夂夂婷婷色拍ww47| 久久久久久久综合狠狠综合| 在线欧美日韩精品| 韩国中文字幕2020精品| 亚洲免费观看高清完整 | 久久色视频免费观看| 不卡一区二区在线| 亚洲bt欧美bt精品777| 久久久久亚洲综合| 欧美日韩欧美一区二区| 国产999精品久久久久久绿帽| 国产日韩亚洲欧美综合| 欧洲生活片亚洲生活在线观看| 亚洲精品一二三区| 精品国产成人在线影院| 在线免费观看日本一区| 国产黄色成人av| 亚洲123区在线观看| 国产精品天干天干在线综合| 日韩亚洲国产中文字幕欧美| 色呦呦一区二区三区| 国产成人亚洲综合a∨婷婷图片| 久久美女高清视频| 欧美群妇大交群中文字幕| 粉嫩aⅴ一区二区三区四区五区| 中文一区二区完整视频在线观看| 国产不卡视频在线播放| 日韩精品高清不卡| 亚洲综合在线第一页| 国产精品私人影院| 久久久久国产精品厨房| 欧美三级日韩三级国产三级| 波多野结衣精品在线| 国内成人自拍视频| 蜜臀av一级做a爰片久久| 亚洲国产日韩综合久久精品| 亚洲免费观看在线视频| 日本一二三不卡| 久久久久久久久免费| 欧美一区二区三区免费在线看| 精彩视频一区二区| 日本欧美大码aⅴ在线播放| 亚洲精品一卡二卡| 亚洲日本成人在线观看| 国产精品久久毛片a| 国产亚洲精品中文字幕| 国产色一区二区| 久久精品视频一区二区三区| 69堂精品视频| 在线不卡欧美精品一区二区三区|