]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/blobdiff - os/7.4.2/src/os/list.c
Remove useless FreeRTOS versions
[pes-rpp/rpp-lib.git] / os / 7.4.2 / src / os / list.c
diff --git a/os/7.4.2/src/os/list.c b/os/7.4.2/src/os/list.c
deleted file mode 100644 (file)
index deebbdf..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
-    FreeRTOS V7.4.2 - Copyright (C) 2013 Real Time Engineers Ltd.
-
-    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
-    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
-
-    ***************************************************************************
-     *                                                                       *
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *
-     *    Complete, revised, and edited pdf reference manuals are also       *
-     *    available.                                                         *
-     *                                                                       *
-     *    Purchasing FreeRTOS documentation will not only help you, by       *
-     *    ensuring you get running as quickly as possible and with an        *
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *
-     *    the FreeRTOS project to continue with its mission of providing     *
-     *    professional grade, cross platform, de facto standard solutions    *
-     *    for microcontrollers - completely free of charge!                  *
-     *                                                                       *
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
-     *                                                                       *
-     *    Thank you for using FreeRTOS, and thank you for your support!      *
-     *                                                                       *
-    ***************************************************************************
-
-
-    This file is part of the FreeRTOS distribution.
-
-    FreeRTOS is free software; you can redistribute it and/or modify it under
-    the terms of the GNU General Public License (version 2) as published by the
-    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
-
-    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
-    distribute a combined work that includes FreeRTOS without being obliged to
-    provide the source code for proprietary components outside of the FreeRTOS
-    kernel.
-
-    FreeRTOS 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
-    and the FreeRTOS license exception along with FreeRTOS; if not it can be
-    viewed here: http://www.freertos.org/a00114.html and also obtained by
-    writing to Real Time Engineers Ltd., contact details for whom are available
-    on the FreeRTOS WEB site.
-
-    1 tab == 4 spaces!
-
-    ***************************************************************************
-     *                                                                       *
-     *    Having a problem?  Start by reading the FAQ "My application does   *
-     *    not run, what could be wrong?"                                     *
-     *                                                                       *
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *
-     *                                                                       *
-    ***************************************************************************
-
-
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
-    license and Real Time Engineers Ltd. contact details.
-
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
-    including FreeRTOS+Trace - an indispensable productivity tool, and our new
-    fully thread aware and reentrant UDP/IP stack.
-
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
-    Integrity Systems, who sell the code with commercial support,
-    indemnification and middleware, under the OpenRTOS brand.
-
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
-    engineered and independently SIL3 certified version for use in safety and
-    mission critical applications that require provable dependability.
-*/
-
-
-#include <stdlib.h>
-#include "os/FreeRTOS.h"
-#include "os/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 = ( unsigned portBASE_TYPE ) 0U;
-}
-/*-----------------------------------------------------------*/
-
-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
-    {
-        /* *** NOTE ***********************************************************
-        If you find your application is crashing here then likely causes are:
-            1) Stack overflow -
-               see http://www.freertos.org/Stacks-and-stack-overflow-checking.html
-            2) Incorrect interrupt priority assignment, especially on Cortex-M3
-               parts where numerically high priority values denote low actual
-               interrupt priories, which can seem counter intuitive.  See
-               configMAX_SYSCALL_INTERRUPT_PRIORITY on http://www.freertos.org/a00110.html
-            3) Calling an API function from within a critical section or when
-               the scheduler is suspended.
-            4) Using a queue or semaphore before it has been initialised or
-               before the scheduler has been started (are interrupts firing
-               before vTaskStartScheduler() has been called?).
-        See http://www.freertos.org/FAQHelp.html for more tips.
-        **********************************************************************/
-
-        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 )++;
-}
-/*-----------------------------------------------------------*/
-
-unsigned portBASE_TYPE uxListRemove( 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 )--;
-
-    return pxList->uxNumberOfItems;
-}
-/*-----------------------------------------------------------*/
-