Microchip® Advanced Software Framework

freertos-7.3.0/source/include/list.h File Reference

Data Structures

struct  xLIST
 
struct  xLIST_ITEM
 
struct  xMINI_LIST_ITEM
 

Macros

#define listCURRENT_LIST_LENGTH(pxList)   ( ( pxList )->uxNumberOfItems )
 
#define listGET_ITEM_VALUE_OF_HEAD_ENTRY(pxList)   ( (&( ( pxList )->xListEnd ))->pxNext->xItemValue )
 
#define listGET_LIST_ITEM_OWNER(pxListItem)   ( pxListItem )->pvOwner
 
#define listGET_LIST_ITEM_VALUE(pxListItem)   ( ( pxListItem )->xItemValue )
 
#define listGET_OWNER_OF_HEAD_ENTRY(pxList)   ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner )
 
#define listGET_OWNER_OF_NEXT_ENTRY(pxTCB, pxList)
 
#define listIS_CONTAINED_WITHIN(pxList, pxListItem)   ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) )
 
#define listLIST_IS_EMPTY(pxList)   ( ( pxList )->uxNumberOfItems == ( unsigned portBASE_TYPE ) 0 )
 
#define listLIST_IS_INITIALISED(pxList)   ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )
 
#define listLIST_ITEM_CONTAINER(pxListItem)   ( ( pxListItem )->pvContainer )
 
#define listSET_LIST_ITEM_OWNER(pxListItem, pxOwner)   ( pxListItem )->pvOwner = ( void * ) ( pxOwner )
 
#define listSET_LIST_ITEM_VALUE(pxListItem, xValue)   ( pxListItem )->xItemValue = ( xValue )
 

Typedefs

typedef struct xLIST xList
 
typedef struct xLIST_ITEM xListItem
 
typedef struct xMINI_LIST_ITEM xMiniListItem
 

Functions

unsigned portBASE_TYPE uxListRemove (xListItem *pxItemToRemove)
 
void vListInitialise (xList *pxList)
 
void vListInitialiseItem (xListItem *pxItem)
 
void vListInsert (xList *pxList, xListItem *pxNewListItem)
 
void vListInsertEnd (xList *pxList, xListItem *pxNewListItem)
 

#define listCURRENT_LIST_LENGTH (   pxList)    ( ( pxList )->uxNumberOfItems )
#define listGET_ITEM_VALUE_OF_HEAD_ENTRY (   pxList)    ( (&( ( pxList )->xListEnd ))->pxNext->xItemValue )
#define listGET_LIST_ITEM_OWNER (   pxListItem)    ( pxListItem )->pvOwner
#define listGET_LIST_ITEM_VALUE (   pxListItem)    ( ( pxListItem )->xItemValue )
#define listGET_OWNER_OF_NEXT_ENTRY (   pxTCB,
  pxList 
)
Value:
{ \
xList * const pxConstList = ( pxList ); \
/* Increment the index to the next item and return the item, ensuring */ \
/* we don't return the marker used at the end of the list. */ \
( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
if( ( pxConstList )->pxIndex == ( xListItem * ) &( ( pxConstList )->xListEnd ) ) \
{ \
( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
} \
( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
}
#define xList
Definition: freertos-8.2.3/Source/include/FreeRTOS.h:819
Definition: freertos-7.3.0/source/include/list.h:107
if(memp!=NULL)
Definition: src/core/memp.c:407

Referenced by vCoRoutineSchedule(), and vTaskSwitchContext().

#define listIS_CONTAINED_WITHIN (   pxList,
  pxListItem 
)    ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) )
#define listLIST_IS_INITIALISED (   pxList)    ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )
#define listLIST_ITEM_CONTAINER (   pxListItem)    ( ( pxListItem )->pvContainer )

Referenced by xTaskIncrementTick().

#define listSET_LIST_ITEM_OWNER (   pxListItem,
  pxOwner 
)    ( pxListItem )->pvOwner = ( void * ) ( pxOwner )

typedef struct xLIST xList
typedef struct xLIST_ITEM xListItem

unsigned portBASE_TYPE uxListRemove ( xListItem pxItemToRemove)
void vListInitialise ( xList pxList)
void vListInitialiseItem ( xListItem pxItem)
void vListInsert ( xList pxList,
xListItem pxNewListItem 
)
void vListInsertEnd ( xList pxList,
xListItem pxNewListItem 
)