126 #ifndef configLIST_VOLATILE
127 #define configLIST_VOLATILE
171 #define listSET_LIST_ITEM_OWNER( pxListItem, pxOwner ) ( ( pxListItem )->pvOwner = ( void * ) ( pxOwner ) )
180 #define listGET_LIST_ITEM_OWNER( pxListItem ) ( ( pxListItem )->pvOwner )
189 #define listSET_LIST_ITEM_VALUE( pxListItem, xValue ) ( ( pxListItem )->xItemValue = ( xValue ) )
199 #define listGET_LIST_ITEM_VALUE( pxListItem ) ( ( pxListItem )->xItemValue )
208 #define listGET_ITEM_VALUE_OF_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext->xItemValue )
216 #define listGET_HEAD_ENTRY( pxList ) ( ( ( pxList )->xListEnd ).pxNext )
224 #define listGET_NEXT( pxListItem ) ( ( pxListItem )->pxNext )
232 #define listGET_END_MARKER( pxList ) ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) )
241 #define listLIST_IS_EMPTY( pxList ) ( ( BaseType_t ) ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) )
246 #define listCURRENT_LIST_LENGTH( pxList ) ( ( pxList )->uxNumberOfItems )
268 #define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \
270 List_t * const pxConstList = ( pxList ); \
273 ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
274 if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \
276 ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
278 ( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
298 #define listGET_OWNER_OF_HEAD_ENTRY( pxList ) ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner )
309 #define listIS_CONTAINED_WITHIN( pxList, pxListItem ) ( ( BaseType_t ) ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) ) )
317 #define listLIST_ITEM_CONTAINER( pxListItem ) ( ( pxListItem )->pvContainer )
324 #define listLIST_IS_INITIALISED( pxList ) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )
void vListInsertEnd(List_t *const pxList, ListItem_t *const pxNewListItem)
unsigned long UBaseType_t
#define configLIST_VOLATILE
struct xLIST_ITEM *configLIST_VOLATILE pxNext
struct xLIST_ITEM *configLIST_VOLATILE pxPrevious
configLIST_VOLATILE UBaseType_t uxNumberOfItems
void *configLIST_VOLATILE pvContainer
configLIST_VOLATILE TickType_t xItemValue
ListItem_t *configLIST_VOLATILE pxIndex
void vListInitialise(List_t *const pxList)
configLIST_VOLATILE TickType_t xItemValue
void vListInitialiseItem(ListItem_t *const pxItem)
struct xLIST_ITEM *configLIST_VOLATILE pxNext
void vListInsert(List_t *const pxList, ListItem_t *const pxNewListItem)
struct xLIST_ITEM *configLIST_VOLATILE pxPrevious
UBaseType_t uxListRemove(ListItem_t *const pxItemToRemove)