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

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

?? ixqmgr.h

?? u-boot1.3.0的原碼,從配了網絡驅動和FLASH的驅動,并該用ESC竟如
?? H
?? 第 1 頁 / 共 5 頁
字號:
	       IxQMgrQSizeInWords qSizeInWords,	       IxQMgrQEntrySizeInWords qEntrySizeInWords) * * @brief Configure an AQM queue. * * This function is called by a client to setup a queue. The size and entrySize * qId and qName(NULL pointer) are checked for valid values. This function must * be called for each queue, before any queue accesses are made and after * ixQMgrInit() has been called. qName is assumed to be a '\0' terminated array * of 16 charachters or less. * * @param *qName char [in] - is the name provided by the client and is associated *                          with a QId by the QMgr. * @param qId @ref IxQMgrQId [in]  - the qId of this queue * @param qSizeInWords @ref IxQMgrQSize [in] - the size of the queue can be one of 16,32 *                                       64, 128 words. * @param qEntrySizeInWords @ref IxQMgrQEntrySizeInWords [in] - the size of a queue entry *                                                        can be one of 1,2,4 words. * * @return @li IX_SUCCESS, a specified queue has been successfully configured. * @return @li IX_FAIL, IxQMgr has not been initialised. * @return @li IX_QMGR_PARAMETER_ERROR, invalid parameter(s). * @return @li IX_QMGR_INVALID_QSIZE, invalid queue size * @return @li IX_QMGR_INVALID_Q_ID, invalid queue id * @return @li IX_QMGR_INVALID_Q_ENTRY_SIZE, invalid queue entry size * @return @li IX_QMGR_Q_ALREADY_CONFIGURED, queue already configured * */PUBLIC IX_STATUSixQMgrQConfig (char *qName,	       IxQMgrQId qId,	       IxQMgrQSizeInWords qSizeInWords,	       IxQMgrQEntrySizeInWords qEntrySizeInWords);/** * @ingroup IxQMgrAPI *  * @fn ixQMgrQSizeInEntriesGet (IxQMgrQId qId,			 unsigned *qSizeInEntries) * * @brief Return the size of a queue in entries. * * This function returns the the size of the queue in entriese. * * @param qId @ref IxQMgrQId [in] - the queue identifier * @param *qSizeInEntries @ref IxQMgrQSize [out] - queue size in entries * * @return @li IX_SUCCESS, successfully retrieved the number of full entrie * @return @li IX_QMGR_Q_NOT_CONFIGURED, queue not configured for this QId * @return @li IX_QMGR_PARAMETER_ERROR, invalid parameter(s). * */PUBLIC IX_STATUSixQMgrQSizeInEntriesGet (IxQMgrQId qId,			 unsigned *qSizeInEntries);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrWatermarkSet (IxQMgrQId qId,		    IxQMgrWMLevel ne,		    IxQMgrWMLevel nf) * * @brief Set the Nearly Empty and Nearly Full Watermarks fo a queue. * * This function is called by a client to set the watermarks NE and NF for the * queue specified by qId. * The queue must be empty at the time this function is called, it is the clients * responsibility to ensure that the queue is empty. * This function will read the status of the queue before the watermarks are set * and again after the watermarks are set. If the status register has changed, * due to a queue access by an NPE for example, a warning is returned. * Queues 32-63 only support the NE flag, therefore the value of nf will be ignored * for these queues. * * @param qId @ref IxQMgrQId [in] -  the QId of the queue. * @param ne @ref IxQMgrWMLevel [in]  - the NE(Nearly Empty) watermark for this *                                 queue. Valid values are 0,1,2,4,8,16,32 and *                                 64 entries. * @param nf @ref IxQMgrWMLevel [in] - the NF(Nearly Full) watermark for this queue. *                                 Valid values are 0,1,2,4,8,16,32 and 64 *                                 entries. * * @return @li IX_SUCCESS, watermarks have been set for the queu * @return @li IX_QMGR_Q_NOT_CONFIGURED, queue not configured for this QId * @return @li IX_QMGR_INVALID_Q_WM, invalid watermark * @return @li IX_QMGR_WARNING, the status register may not be constistent * */PUBLIC IX_STATUSixQMgrWatermarkSet (IxQMgrQId qId,		    IxQMgrWMLevel ne,		    IxQMgrWMLevel nf);/** * @ingroup IxQMgrAPI *  * @fn ixQMgrAvailableSramAddressGet (UINT32 *address,			       unsigned *sizeOfFreeSram) * * @brief Return the address of available AQM SRAM. * * This function returns the starting address in AQM SRAM not used by the * current queue configuration and should only be called after all queues * have been configured. * Calling this function before all queues have been configured will will return * the currently available SRAM. A call to configure another queue will use some * of the available SRAM. * The amount of SRAM available is specified in sizeOfFreeSram. The address is the * address of the bottom of available SRAM. Available SRAM extends from address * from address to address + sizeOfFreeSram. * * @param **address UINT32 [out] - the address of the available SRAM, NULL if *                                none available. * @param *sizeOfFreeSram unsigned [out]- the size in words of available SRAM * * @return @li IX_SUCCESS, there is available SRAM and is pointed to by address * @return @li IX_QMGR_PARAMETER_ERROR, invalid parameter(s) * @return @li IX_QMGR_NO_AVAILABLE_SRAM, all AQM SRAM is consumed by the queue *             configuration. * */PUBLIC IX_STATUSixQMgrAvailableSramAddressGet (UINT32 *address,			       unsigned *sizeOfFreeSram);/* ------------------------------------------------------------   Queue access related functions   ---------------------------------------------------------- *//** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQReadWithChecks (IxQMgrQId qId,                       UINT32 *entry) * * @brief Read an entry from a queue. * * This function reads an entire entry from a queue returning it in entry. The * queue configuration word is read to determine what entry size this queue is * configured for and then the number of words specified by the entry size is * read.  entry must be a pointer to a previously allocated array of sufficient * size to hold an entry. * * @note - IX_QMGR_Q_UNDERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an underflow status maintained. * * @param  qId @ref IxQMgrQId [in]   - the queue identifier. * @param  *entry UINT32 [out]  - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully read. * @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_UNDERFLOW, attempt to read from an empty queue * */PUBLIC IX_STATUSixQMgrQReadWithChecks (IxQMgrQId qId,                       UINT32 *entry);/**  * @brief Internal structure to facilitate inlining functions in IxQMgr.h */typedef struct{    /* fields related to write functions */    UINT32 qOflowStatBitMask;         /**< overflow status mask */    UINT32 qWriteCount;               /**< queue write count */    /* fields related to read and write functions */    volatile UINT32 *qAccRegAddr;     /**< access register */    volatile UINT32 *qUOStatRegAddr;  /**< status register */    volatile UINT32 *qConfigRegAddr;  /**< config register */    UINT32 qEntrySizeInWords;         /**< queue entry size in words */    UINT32 qSizeInEntries;            /**< queue size in entries */    /* fields related to read functions */    UINT32 qUflowStatBitMask;         /**< underflow status mask */    UINT32 qReadCount;                /**< queue read count */} IxQMgrQInlinedReadWriteInfo;/** * * @ingroup IxQMgrAPI * * @fn ixQMgrQReadMWordsMinus1 (IxQMgrQId qId,			        UINT32 *entry) * * @brief This function reads the remaining of the q entry *        for queues configured with many words. *        (the first word of the entry is already read  *        in the inlined function and the entry pointer already *        incremented * * @param  qId @ref IxQMgrQId [in]  - the queue identifier. * @param  *entry UINT32 [out] - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully read. * @return @li IX_QMGR_Q_UNDERFLOW, attempt to read from an empty queue * */PUBLIC IX_STATUSixQMgrQReadMWordsMinus1 (IxQMgrQId qId,			 UINT32 *entry);/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQRead (IxQMgrQId qId,	     UINT32 *entry) * * @brief Fast read of an entry from a queue. * * This function is a heavily streamlined version of ixQMgrQReadWithChecks(), * but performs essentially the same task.  It reads an entire entry from a * queue, returning it in entry which must be a pointer to a previously * allocated array of sufficient size to hold an entry. * * @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. * or is in range. It simply reads an entry from the queue, and checks for * underflow. * * @note - IX_QMGR_Q_UNDERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an underflow status maintained. * * @param  qId @ref IxQMgrQId [in] - the queue identifier. * @param  *entry UINT32 [out] - pointer to the entry word(s). * * @return @li IX_SUCCESS, entry was successfully read. * @return @li IX_QMGR_Q_UNDERFLOW, attempt to read from an empty queue * */#ifdef NO_INLINE_APISPUBLIC IX_STATUSixQMgrQRead (IxQMgrQId qId,             UINT32 *entryPtr);#else extern IxQMgrQInlinedReadWriteInfo ixQMgrQInlinedReadWriteInfo[];extern IX_STATUS ixQMgrQReadMWordsMinus1 (IxQMgrQId qId, UINT32 *entryPtr);IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQRead (IxQMgrQId qId,             UINT32 *entryPtr);#endifIX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQRead (IxQMgrQId qId,	     UINT32 *entryPtr)#ifdef NO_INLINE_APIS    ;#else{    IxQMgrQInlinedReadWriteInfo *infoPtr = &ixQMgrQInlinedReadWriteInfo[qId];    UINT32 entry, entrySize;    /* get a new entry */    entrySize = infoPtr->qEntrySizeInWords;    entry = IX_QMGR_INLINE_READ_LONG(infoPtr->qAccRegAddr);    if (entrySize != IX_QMGR_Q_ENTRY_SIZE1)    {		*entryPtr = entry;	/* process the remaining part of the entry */	return ixQMgrQReadMWordsMinus1(qId, entryPtr);    }    /* underflow is available for lower queues only */    if (qId < IX_QMGR_MIN_QUEUPP_QID)    {	/* the counter of queue entries is decremented. In happy 	 * day scenario there are many entries in the queue	 * and the counter does not reach zero.	 */ 	if (infoPtr->qReadCount-- == 0)	{	    /* There is maybe no entry in the queue	     * qReadCount is now negative, but will be corrected before	     * the function returns.	     */	    UINT32 qPtrs; /* queue internal pointers */	    /* when a queue is empty, the hw guarantees to return 	     * a null value. If the value is not null, the queue is	     * not empty.	     */	    if (entry == 0)	    {		/* get the queue status */		UINT32 status = IX_QMGR_INLINE_READ_LONG(infoPtr->qUOStatRegAddr);			/* check the underflow status */		if (status & infoPtr->qUflowStatBitMask)		{		    /* the queue is empty 		    *  clear the underflow status bit if it was set 		    */		    IX_QMGR_INLINE_WRITE_LONG(infoPtr->qUOStatRegAddr,					 status & ~infoPtr->qUflowStatBitMask);		    *entryPtr = 0;		    infoPtr->qReadCount = 0;		    return IX_QMGR_Q_UNDERFLOW;		}	    }	    /* store the result */	    *entryPtr = entry;	    /* No underflow occured : someone is filling the queue	     * or the queue contains null entries.	     * The current counter needs to be	     * updated from the current number of entries in the queue	     */	    /* get snapshot of queue pointers */	    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)	    {		/* no entry in the queue */		infoPtr->qReadCount = 0;	    }	    else	    {		/* convert the number of words inside the queue		 * to a number of entries 		 */		infoPtr->qReadCount = qPtrs & (infoPtr->qSizeInEntries - 1);	    }	    return IX_SUCCESS;	}    }    *entryPtr = entry;    return IX_SUCCESS;}#endif/** * * @ingroup IxQMgrAPI *  * @fn ixQMgrQBurstRead (IxQMgrQId qId,		  UINT32 numEntries,		  UINT32 *entries) * * @brief Read a number of entries from an AQM queue. * * This function will burst read a number of entries from the specified queue. * The entry size of queue is auto-detected. The function will attempt to * read as many entries as specified by the numEntries parameter and will * return an UNDERFLOW if any one of the individual entry reads fail. * * @warning * IX_QMGR_Q_UNDERFLOW is only returned for queues 0-31 as queues 32-63 * do not have an underflow 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 draining 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 the number of full entries that * have been specified to be read. It will read until it finds a NULL entry or * until the number of specified entries have been read.  It always checks for * underflow after all the reads have been performed. * Therefore, the client should ensure before calling this function that there * are enough entries in the queue to read.  ixQMgrQNumEntriesGet() will * provide the number of full entries in a queue. * ixQMgrQRead() or ixQMgrQReadWithChecks(), which only reads * a single queue entry per call, should be used instead if the user requires * checks for UNDERFLOW after each entry read. * * @param qId @ref IxQMgrQId [in]   - the queue identifier. * @param numEntries unsigned [in] - the number of entries to read.  *                     This number should be greater than 0 * @param *entries UINT32 [out] - the word(s) read. * * @return @li IX_SUCCESS, entries were successfully read. * @return @li IX_QMGR_Q_UNDERFLOW, attempt to read from an empty queue  * */#ifdef NO_INLINE_APIS  PUBLIC IX_STATUSixQMgrQBurstRead (IxQMgrQId qId,                  UINT32 numEntries,                  UINT32 *entries);#elseIX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQBurstRead (IxQMgrQId qId,                  UINT32 numEntries,                  UINT32 *entries);#endif  /* endif NO_INLINE_APIS */IX_QMGR_INLINE PUBLIC IX_STATUSixQMgrQBurstRead (IxQMgrQId qId,		  UINT32 numEntries,		  UINT32 *entries)#ifdef NO_INLINE_APIS;#else{    IxQMgrQInlinedReadWriteInfo *infoPtr = &ixQMgrQInlinedReadWriteInfo[qId];    UINT32 nullCheckEntry;    if (infoPtr->qEntrySizeInWords == IX_QMGR_Q_ENTRY_SIZE1)    {	volatile UINT32 *qAccRegAddr = infoPtr->qAccRegAddr;	/* the code is optimized to take care of data dependencies:	 * Durig a read, there are a few cycles needed to get the 	 * read complete. During these cycles, it is poossible to	 * do some CPU, e.g. increment pointers and decrement 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费看片app下载| 欧美中文字幕一区二区三区| 亚洲男人的天堂网| 精品欧美乱码久久久久久1区2区| 99久久久久久99| 国产在线精品国自产拍免费| 亚洲成人手机在线| 亚洲视频香蕉人妖| 国产婷婷色一区二区三区四区 | 日韩中文字幕一区二区三区| 中文一区在线播放| 欧美成人r级一区二区三区| 欧美午夜免费电影| 91在线视频官网| 成人黄色免费短视频| 国产一区二区福利| 麻豆一区二区三| 天天影视涩香欲综合网| 亚洲一区二区三区在线看| 中文字幕一区在线观看| 国产日韩欧美电影| 久久久久免费观看| 久久久午夜精品| 欧美大度的电影原声| 欧美一级理论片| 欧美精品 国产精品| 欧美日韩中字一区| 欧洲精品在线观看| 91久久精品网| 91黄色在线观看| 99久久综合色| 一本一本久久a久久精品综合麻豆| 国产成人亚洲综合a∨猫咪| 久久成人av少妇免费| 免费成人性网站| 蜜桃视频在线一区| 日本中文一区二区三区| 蜜臀av国产精品久久久久 | 亚洲第一二三四区| 亚洲 欧美综合在线网络| 樱桃国产成人精品视频| 亚洲一区二区四区蜜桃| 亚洲国产精品一区二区www | 亚洲综合色噜噜狠狠| 亚洲欧美另类小说| 亚洲一区中文日韩| 午夜精品一区二区三区电影天堂| 亚洲第一久久影院| 美女爽到高潮91| 国产成人三级在线观看| 91亚洲男人天堂| 欧美性一区二区| 日韩午夜精品视频| 久久久无码精品亚洲日韩按摩| 国产偷国产偷精品高清尤物| 看电视剧不卡顿的网站| 精品亚洲成a人| 粉嫩av一区二区三区在线播放| 成人av网站在线观看免费| 91美女蜜桃在线| 在线播放欧美女士性生活| 欧美电影免费观看完整版 | 亚洲18色成人| 激情文学综合插| 成人精品视频.| 在线观看成人小视频| 欧美一区二区三区视频| 欧美激情中文不卡| 亚洲在线观看免费| 黑人巨大精品欧美一区| www.欧美日韩国产在线| 欧美人狂配大交3d怪物一区| 日韩精品一区二区三区视频播放 | 天天综合天天综合色| 久99久精品视频免费观看| 波多野结衣在线一区| 日本精品视频一区二区三区| 欧美一区二区三区在线| 国产精品全国免费观看高清| 亚洲大片精品永久免费| 国产一区二区导航在线播放| 91网站在线观看视频| 555夜色666亚洲国产免| 国产调教视频一区| 午夜精品久久久久久久久久| 国产精品中文字幕一区二区三区| 在线视频欧美区| www亚洲一区| 亚洲成人一区在线| 丁香激情综合国产| 欧美一区二区三区性视频| 成人欧美一区二区三区视频网页 | 国产亚洲1区2区3区| 午夜精品福利在线| 成人午夜免费视频| 日韩一区二区麻豆国产| 夜色激情一区二区| 国产成人av一区二区| 欧美一级欧美一级在线播放| 欧美国产乱子伦| 久久99国产精品成人| 欧美日韩一区二区三区视频| 国产精品乱码一区二三区小蝌蚪| 老司机免费视频一区二区| 欧美在线小视频| 1000精品久久久久久久久| 在线一区二区三区| 国产欧美一区视频| 久99久精品视频免费观看| 在线成人av网站| 亚洲综合免费观看高清在线观看| 成人高清伦理免费影院在线观看| 日韩欧美一区二区久久婷婷| 亚洲福利视频一区二区| 色婷婷久久久综合中文字幕| 国产精品久久国产精麻豆99网站| 黑人巨大精品欧美一区| 日韩午夜av电影| 偷偷要91色婷婷| 欧美美女直播网站| 亚洲一区免费观看| 91久久精品一区二区三区| 中文字幕一区二区三区在线不卡 | 制服丝袜亚洲色图| 亚洲一区国产视频| 欧美午夜一区二区三区| 洋洋av久久久久久久一区| 9久草视频在线视频精品| 国产亚洲一二三区| 国产精品一级片在线观看| 日韩你懂的在线观看| 久久国产精品99精品国产| 欧美成人精品3d动漫h| 久草精品在线观看| 精品剧情在线观看| 国内久久婷婷综合| 久久久91精品国产一区二区精品| 韩国成人福利片在线播放| 久久久久久一二三区| 国产福利一区二区三区视频在线| 久久免费国产精品| 粉嫩av一区二区三区| 国产精品美女视频| 一本色道久久综合亚洲精品按摩| 亚洲免费在线看| 欧美日韩在线播放一区| 午夜不卡av免费| 日韩欧美精品三级| 国产丶欧美丶日本不卡视频| 国产欧美日韩综合| 色哟哟欧美精品| 日韩和欧美一区二区| 日韩免费视频一区| 风间由美一区二区三区在线观看| 亚洲国产成人私人影院tom| 91亚洲精品久久久蜜桃网站| 亚洲已满18点击进入久久| 欧美日韩美女一区二区| 美女视频免费一区| 日本一区二区三区四区| 色域天天综合网| 日韩精品亚洲一区二区三区免费| 精品成人免费观看| 26uuu精品一区二区在线观看| 伦理电影国产精品| 亚洲国产高清在线观看视频| 欧美在线影院一区二区| 美腿丝袜亚洲综合| 国产精品成人免费精品自在线观看 | 91一区二区三区在线播放| 午夜久久电影网| 国产欧美日韩三级| 欧美日韩免费一区二区三区视频| 久久国内精品自在自线400部| 国产精品超碰97尤物18| 91精品国产综合久久婷婷香蕉| 国产美女一区二区三区| 亚洲一区在线观看网站| 久久青草欧美一区二区三区| 日本韩国欧美一区| 国产麻豆日韩欧美久久| 夜夜夜精品看看| 国产网站一区二区| 欧美精品久久天天躁| 成人毛片在线观看| 日韩vs国产vs欧美| 亚洲男女一区二区三区| 精品久久久久一区二区国产| 日本精品一区二区三区四区的功能| 伦理电影国产精品| 亚洲狠狠爱一区二区三区| 国产三级欧美三级日产三级99 | 欧美性生活大片视频| 国产精品一区三区| 日本视频免费一区| 亚洲精品视频在线| 国产欧美综合色| 精品国精品国产| 欧美久久高跟鞋激| 91官网在线免费观看|