Microchip® Advanced Software Framework

freertos-7.5.2/Source/include/list.h File Reference

Data Structures

struct  xLIST
 
struct  xLIST_ITEM
 
struct  xMINI_LIST_ITEM
 

Macros

#define configLIST_VOLATILE
 
#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)   ( ( portBASE_TYPE ) ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) ) )
 
#define listLIST_IS_EMPTY(pxList)   ( ( portBASE_TYPE ) ( ( 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 *const pxItemToRemove)
 
void vListInitialise (xList *const pxList)
 
void vListInitialiseItem (xListItem *const pxItem)
 
void vListInsert (xList *const pxList, xListItem *const pxNewListItem)
 
void vListInsertEnd (xList *const pxList, xListItem *const pxNewListItem)
 

#define configLIST_VOLATILE
#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( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \
{ \
( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
} \
( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
}
#define xList
Definition: freertos-8.0.1/Source/include/FreeRTOS.h:748
if(memp!=NULL)
Definition: memp.c:407

Referenced by vCoRoutineSchedule().

#define listIS_CONTAINED_WITHIN (   pxList,
  pxListItem 
)    ( ( portBASE_TYPE ) ( ( 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 *const  pxItemToRemove)
void vListInitialise ( xList *const  pxList)
void vListInitialiseItem ( xListItem *const  pxItem)
void vListInsert ( xList *const  pxList,
xListItem *const  pxNewListItem 
)
void vListInsertEnd ( xList *const  pxList,
xListItem *const  pxNewListItem 
)