* Definition of the only type of object that a list can contain.
*/
structxLIST;
structxLIST_ITEM
{
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE/**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
configLIST_VOLATILETickType_txItemValue; /**< The value being listed. In most cases this is used to sort the list in ascending order. */
structxLIST_ITEM*configLIST_VOLATILEpxNext; /**< Pointer to the next ListItem_t in the list. */
structxLIST_ITEM*configLIST_VOLATILEpxPrevious; /**< Pointer to the previous ListItem_t in the list. */
void*pvOwner; /**< Pointer to the object (normally a TCB) that contains the list item. There is therefore a two way link between the object containing the list item and the list item itself. */
structxLIST*configLIST_VOLATILEpxContainer; /**< Pointer to the list in which this list item is placed (if any). */
listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE/**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
};
typedefstructxLIST_ITEMListItem_t;
#if ( configUSE_MINI_LIST_ITEM==1 )
structxMINI_LIST_ITEM
{
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE/**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
configLIST_VOLATILETickType_txItemValue;
structxLIST_ITEM*configLIST_VOLATILEpxNext;
structxLIST_ITEM*configLIST_VOLATILEpxPrevious;
};
typedefstructxMINI_LIST_ITEMMiniListItem_t;
#else
typedefstructxLIST_ITEMMiniListItem_t;
#endif
/*
* Definition of the type of queue used by the scheduler.
*/
typedefstructxLIST
{
listFIRST_LIST_INTEGRITY_CHECK_VALUE/**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
configLIST_VOLATILEUBaseType_tuxNumberOfItems;
ListItem_t*configLIST_VOLATILEpxIndex; /**< Used to walk through the list. Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */
MiniListItem_txListEnd; /**< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */
listSECOND_LIST_INTEGRITY_CHECK_VALUE/**< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */
} List_t;
/*
* Access macro to set the owner of a list item. The owner of a list item
* is the object (usually a TCB) that contains the list item.