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

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

?? list.c

?? IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR IAR
?? C
字號:
/*
	FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.

	This file is part of the FreeRTOS.org distribution.

	FreeRTOS.org 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.

	FreeRTOS.org is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with FreeRTOS.org; if not, write to the Free Software
	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

	A special exception to the GPL can be applied should you wish to distribute
	a combined work that includes FreeRTOS.org, without being obliged to provide
	the source code for any proprietary components.  See the licensing section
	of http://www.FreeRTOS.org for full details of how and when the exception
	can be applied.

    ***************************************************************************
    ***************************************************************************
    *                                                                         *
    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *
    * and even write all or part of your application on your behalf.          *
    * See http://www.OpenRTOS.com for details of the services we provide to   *
    * expedite your project.                                                  *
    *                                                                         *
    ***************************************************************************
    ***************************************************************************

	Please ensure to read the configuration and relevant port sections of the
	online documentation.

	http://www.FreeRTOS.org - Documentation, latest information, license and 
	contact details.

	http://www.SafeRTOS.com - A version that is certified for use in safety 
	critical systems.

	http://www.OpenRTOS.com - Commercial support, development, porting, 
	licensing and training services.
*/


#include <stdlib.h>
#include "FreeRTOS.h"
#include "list.h"

/*-----------------------------------------------------------
 * PUBLIC LIST API documented in list.h
 *----------------------------------------------------------*/

void vListInitialise( xList *pxList )
{
	/* The list structure contains a list item which is used to mark the
	end of the list.  To initialise the list the list end is inserted
	as the only list entry. */
	pxList->pxIndex = ( xListItem * ) &( pxList->xListEnd );

	/* The list end value is the highest possible value in the list to
	ensure it remains at the end of the list. */
	pxList->xListEnd.xItemValue = portMAX_DELAY;

	/* The list end next and previous pointers point to itself so we know
	when the list is empty. */
	pxList->xListEnd.pxNext = ( xListItem * ) &( pxList->xListEnd );
	pxList->xListEnd.pxPrevious = ( xListItem * ) &( pxList->xListEnd );

	pxList->uxNumberOfItems = 0;
}
/*-----------------------------------------------------------*/

void vListInitialiseItem( xListItem *pxItem )
{
	/* Make sure the list item is not recorded as being on a list. */
	pxItem->pvContainer = NULL;
}
/*-----------------------------------------------------------*/

void vListInsertEnd( xList *pxList, xListItem *pxNewListItem )
{
volatile xListItem * pxIndex;

	/* Insert a new list item into pxList, but rather than sort the list,
	makes the new list item the last item to be removed by a call to
	pvListGetOwnerOfNextEntry.  This means it has to be the item pointed to by
	the pxIndex member. */
	pxIndex = pxList->pxIndex;

	pxNewListItem->pxNext = pxIndex->pxNext;
	pxNewListItem->pxPrevious = pxList->pxIndex;
	pxIndex->pxNext->pxPrevious = ( volatile xListItem * ) pxNewListItem;
	pxIndex->pxNext = ( volatile xListItem * ) pxNewListItem;
	pxList->pxIndex = ( volatile xListItem * ) pxNewListItem;

	/* Remember which list the item is in. */
	pxNewListItem->pvContainer = ( void * ) pxList;

	( pxList->uxNumberOfItems )++;
}
/*-----------------------------------------------------------*/

void vListInsert( xList *pxList, xListItem *pxNewListItem )
{
volatile xListItem *pxIterator;
portTickType xValueOfInsertion;

	/* Insert the new list item into the list, sorted in ulListItem order. */
	xValueOfInsertion = pxNewListItem->xItemValue;

	/* If the list already contains a list item with the same item value then
	the new list item should be placed after it.  This ensures that TCB's which
	are stored in ready lists (all of which have the same ulListItem value)
	get an equal share of the CPU.  However, if the xItemValue is the same as 
	the back marker the iteration loop below will not end.  This means we need
	to guard against this by checking the value first and modifying the 
	algorithm slightly if necessary. */
	if( xValueOfInsertion == portMAX_DELAY )
	{
		pxIterator = pxList->xListEnd.pxPrevious;
	}
	else
	{
		for( pxIterator = ( xListItem * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext )
		{
			/* There is nothing to do here, we are just iterating to the
			wanted insertion position. */
		}
	}

	pxNewListItem->pxNext = pxIterator->pxNext;
	pxNewListItem->pxNext->pxPrevious = ( volatile xListItem * ) pxNewListItem;
	pxNewListItem->pxPrevious = pxIterator;
	pxIterator->pxNext = ( volatile xListItem * ) pxNewListItem;

	/* Remember which list the item is in.  This allows fast removal of the
	item later. */
	pxNewListItem->pvContainer = ( void * ) pxList;

	( pxList->uxNumberOfItems )++;
}
/*-----------------------------------------------------------*/

void vListRemove( xListItem *pxItemToRemove )
{
xList * pxList;

	pxItemToRemove->pxNext->pxPrevious = pxItemToRemove->pxPrevious;
	pxItemToRemove->pxPrevious->pxNext = pxItemToRemove->pxNext;
	
	/* The list item knows which list it is in.  Obtain the list from the list
	item. */
	pxList = ( xList * ) pxItemToRemove->pvContainer;

	/* Make sure the index is left pointing to a valid item. */
	if( pxList->pxIndex == pxItemToRemove )
	{
		pxList->pxIndex = pxItemToRemove->pxPrevious;
	}

	pxItemToRemove->pvContainer = NULL;
	( pxList->uxNumberOfItems )--;
}
/*-----------------------------------------------------------*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区在线电影| 美女脱光内衣内裤视频久久影院| 欧美伊人久久大香线蕉综合69 | 欧美亚洲自拍偷拍| 精品亚洲免费视频| 亚洲成人综合在线| 国产日韩精品视频一区| 精品视频全国免费看| 成人亚洲精品久久久久软件| 欧美xxxxxxxx| 国产另类ts人妖一区二区| 午夜电影久久久| 亚洲色图.com| 26uuu亚洲综合色| 在线电影欧美成精品| 91在线看国产| 不卡一区二区三区四区| 韩国一区二区在线观看| 日韩不卡在线观看日韩不卡视频| 亚洲乱码日产精品bd| 中文字幕第一区综合| 久久一区二区三区国产精品| 337p亚洲精品色噜噜狠狠| 色狠狠色噜噜噜综合网| 国产自产2019最新不卡| 毛片av一区二区| 日韩精品三区四区| 午夜精品久久久久久久蜜桃app| 亚洲乱码国产乱码精品精的特点| 国产精品色一区二区三区| 久久久国际精品| 久久久亚洲午夜电影| 精品国产91亚洲一区二区三区婷婷| 91麻豆精品国产自产在线| 欧美日韩免费电影| 91老师国产黑色丝袜在线| av午夜精品一区二区三区| 成人精品一区二区三区四区| 国产成人av一区二区| 国产剧情一区二区| 国产成人在线影院 | 亚洲成av人片在www色猫咪| 国产免费观看久久| 在线视频观看一区| 国产精品夜夜嗨| 日韩国产精品久久久久久亚洲| 国产日韩欧美高清| 欧美无砖砖区免费| 99久久久无码国产精品| 日韩毛片精品高清免费| 午夜精品一区二区三区免费视频| 中文乱码免费一区二区| 久久久精品国产免费观看同学| 日韩免费观看高清完整版在线观看| 欧美性一区二区| 成人app下载| 国产在线一区观看| 久久精品理论片| 国产一区二区在线观看免费| 丁香六月久久综合狠狠色| 色偷偷久久人人79超碰人人澡| 久久中文娱乐网| 亚洲精品乱码久久久久久黑人| 激情综合一区二区三区| 91婷婷韩国欧美一区二区| 九色|91porny| 亚洲欧洲韩国日本视频 | 国产精品电影院| 亚洲成人免费在线观看| 欧美日韩国产综合草草| 美国精品在线观看| 极品瑜伽女神91| 不卡的电视剧免费网站有什么| 色婷婷综合久久久久中文| 在线不卡中文字幕播放| 久久久激情视频| 亚洲图片欧美一区| 激情五月婷婷综合| 欧美欧美欧美欧美首页| 精品国产欧美一区二区| 国产精品三级av| 视频在线观看一区| 高清日韩电视剧大全免费| 亚洲色图欧洲色图| 青青草国产成人99久久| 国产999精品久久| 欧美日韩亚洲另类| 国产欧美精品一区二区色综合| 亚洲激情一二三区| 国产一区视频在线看| 91丨国产丨九色丨pron| 日韩写真欧美这视频| 国产精品美日韩| 看片网站欧美日韩| 色美美综合视频| 国产性色一区二区| 视频精品一区二区| 93久久精品日日躁夜夜躁欧美| 欧美电视剧在线看免费| 一区二区三区高清不卡| 国产91丝袜在线观看| 欧美一区日本一区韩国一区| 亚洲欧美偷拍三级| 国产精品系列在线播放| 欧美一卡在线观看| 一区二区三区自拍| www.亚洲在线| 国产色一区二区| 久久精品国产澳门| 欧美另类久久久品| 亚洲综合色在线| av不卡在线播放| 国产欧美一区二区三区网站 | 国产精品毛片a∨一区二区三区| 日本女优在线视频一区二区| 色综合天天视频在线观看| 国产欧美一区二区精品忘忧草 | 国产中文字幕精品| 91精品国产色综合久久不卡蜜臀 | 中文字幕在线观看一区二区| 美女脱光内衣内裤视频久久网站 | 国产精品久久久久aaaa樱花| 国产专区欧美精品| 精品久久久久久久久久久久包黑料 | 欧美日韩视频在线观看一区二区三区| 国产精品网站一区| 国产麻豆午夜三级精品| 精品国产乱码91久久久久久网站| 婷婷综合另类小说色区| 欧美色成人综合| 亚洲国产精品自拍| 欧美吻胸吃奶大尺度电影 | 美国十次了思思久久精品导航| 制服丝袜中文字幕一区| 亚洲第一综合色| 欧美三级电影一区| 亚洲国产wwwccc36天堂| 欧美色区777第一页| 五月激情综合色| 69p69国产精品| 蜜桃av噜噜一区二区三区小说| 91精品国产色综合久久久蜜香臀| 奇米影视7777精品一区二区| 日韩欧美一区二区在线视频| 免费观看久久久4p| 精品精品国产高清一毛片一天堂| 看国产成人h片视频| 久久亚洲综合av| 大美女一区二区三区| 亚洲欧洲日韩在线| 91成人在线免费观看| 天天综合色天天| 精品久久久久香蕉网| 成人精品免费网站| 中文字幕一区免费在线观看| 日本韩国一区二区| 视频一区中文字幕国产| 精品国产一区二区三区av性色| 国产精品一二二区| 亚洲精品国产a| 欧美精品丝袜久久久中文字幕| 美女网站色91| 国产精品高潮呻吟| 欧美老年两性高潮| 国产麻豆视频精品| 亚洲欧美中日韩| 欧美精品自拍偷拍| 精品亚洲免费视频| 日本一区二区久久| 欧美色偷偷大香| 精品午夜一区二区三区在线观看 | 国产免费成人在线视频| 色94色欧美sute亚洲线路一ni| 风间由美一区二区av101| 色综合久久中文字幕| 日韩国产欧美三级| 国产精品久久久久久久久久久免费看 | 欧美极品另类videosde| 在线观看视频一区二区| 日本欧美久久久久免费播放网| 精品播放一区二区| 色哟哟欧美精品| 激情图片小说一区| 亚洲制服丝袜一区| 久久精品亚洲一区二区三区浴池| 99久久精品免费| 九九精品一区二区| 亚洲曰韩产成在线| 国产日韩三级在线| 欧美日韩第一区日日骚| 成人美女视频在线观看18| 日韩一区精品视频| 亚洲欧美激情在线| 国产亚洲欧美日韩在线一区| 欧美日韩高清一区| eeuss鲁一区二区三区| 美女视频黄a大片欧美| 亚洲女同女同女同女同女同69| 久久欧美一区二区| 欧美日韩国产色站一区二区三区|