list.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Data Structures | |
| struct | xLIST_ITEM |
| struct | xMINI_LIST_ITEM |
| struct | xLIST |
Macros | |
| #define | configLIST_VOLATILE |
| #define | listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE |
| #define | listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE |
| #define | listFIRST_LIST_INTEGRITY_CHECK_VALUE |
| #define | listSECOND_LIST_INTEGRITY_CHECK_VALUE |
| #define | listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE(pxItem) |
| #define | listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE(pxItem) |
| #define | listSET_LIST_INTEGRITY_CHECK_1_VALUE(pxList) |
| #define | listSET_LIST_INTEGRITY_CHECK_2_VALUE(pxList) |
| #define | listTEST_LIST_ITEM_INTEGRITY(pxItem) |
| #define | listTEST_LIST_INTEGRITY(pxList) |
| #define | listSET_LIST_ITEM_OWNER(pxListItem, pxOwner) ( ( pxListItem )->pvOwner = ( void * ) ( pxOwner ) ) |
| #define | listGET_LIST_ITEM_OWNER(pxListItem) ( ( pxListItem )->pvOwner ) |
| #define | listSET_LIST_ITEM_VALUE(pxListItem, xValue) ( ( pxListItem )->xItemValue = ( xValue ) ) |
| #define | listGET_LIST_ITEM_VALUE(pxListItem) ( ( pxListItem )->xItemValue ) |
| #define | listGET_ITEM_VALUE_OF_HEAD_ENTRY(pxList) ( ( ( pxList )->xListEnd ).pxNext->xItemValue ) |
| #define | listGET_HEAD_ENTRY(pxList) ( ( ( pxList )->xListEnd ).pxNext ) |
| #define | listGET_NEXT(pxListItem) ( ( pxListItem )->pxNext ) |
| #define | listGET_END_MARKER(pxList) ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) ) |
| #define | listLIST_IS_EMPTY(pxList) ( ( BaseType_t ) ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ) |
| #define | listCURRENT_LIST_LENGTH(pxList) ( ( pxList )->uxNumberOfItems ) |
| #define | listGET_OWNER_OF_NEXT_ENTRY(pxTCB, pxList) |
| #define | listGET_OWNER_OF_HEAD_ENTRY(pxList) ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner ) |
| #define | listIS_CONTAINED_WITHIN(pxList, pxListItem) ( ( BaseType_t ) ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) ) ) |
| #define | listLIST_ITEM_CONTAINER(pxListItem) ( ( pxListItem )->pvContainer ) |
| #define | listLIST_IS_INITIALISED(pxList) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY ) |
Typedefs | |
| typedef struct xLIST_ITEM | ListItem_t |
| typedef struct xMINI_LIST_ITEM | MiniListItem_t |
| typedef struct xLIST | List_t |
Functions | |
| void | vListInitialise (List_t *const pxList) PRIVILEGED_FUNCTION |
| void | vListInitialiseItem (ListItem_t *const pxItem) PRIVILEGED_FUNCTION |
| void | vListInsert (List_t *const pxList, ListItem_t *const pxNewListItem) PRIVILEGED_FUNCTION |
| void | vListInsertEnd (List_t *const pxList, ListItem_t *const pxNewListItem) PRIVILEGED_FUNCTION |
| UBaseType_t | uxListRemove (ListItem_t *const pxItemToRemove) PRIVILEGED_FUNCTION |
Macro Definition Documentation
| #define configLIST_VOLATILE |
| #define listCURRENT_LIST_LENGTH | ( | pxList | ) | ( ( pxList )->uxNumberOfItems ) |
| #define listFIRST_LIST_INTEGRITY_CHECK_VALUE |
| #define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE |
| #define listGET_END_MARKER | ( | pxList | ) | ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) ) |
| #define listGET_HEAD_ENTRY | ( | pxList | ) | ( ( ( pxList )->xListEnd ).pxNext ) |
| #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_NEXT | ( | pxListItem | ) | ( ( pxListItem )->pxNext ) |
| #define listGET_OWNER_OF_HEAD_ENTRY | ( | pxList | ) | ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner ) |
| #define listGET_OWNER_OF_NEXT_ENTRY | ( | pxTCB, | |
| pxList | |||
| ) |
Value:
{ \
List_t * 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. */ \
if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \
{ \
( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
} \
( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
}
struct xLIST List_t
| #define listIS_CONTAINED_WITHIN | ( | pxList, | |
| pxListItem | |||
| ) | ( ( BaseType_t ) ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) ) ) |
| #define listLIST_IS_EMPTY | ( | pxList | ) | ( ( BaseType_t ) ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ) |
| #define listLIST_IS_INITIALISED | ( | pxList | ) | ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY ) |
| #define listLIST_ITEM_CONTAINER | ( | pxListItem | ) | ( ( pxListItem )->pvContainer ) |
| #define listSECOND_LIST_INTEGRITY_CHECK_VALUE |
| #define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE |
| #define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE | ( | pxItem | ) |
| #define listSET_LIST_INTEGRITY_CHECK_1_VALUE | ( | pxList | ) |
| #define listSET_LIST_INTEGRITY_CHECK_2_VALUE | ( | pxList | ) |
| #define listSET_LIST_ITEM_OWNER | ( | pxListItem, | |
| pxOwner | |||
| ) | ( ( pxListItem )->pvOwner = ( void * ) ( pxOwner ) ) |
| #define listSET_LIST_ITEM_VALUE | ( | pxListItem, | |
| xValue | |||
| ) | ( ( pxListItem )->xItemValue = ( xValue ) ) |
| #define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE | ( | pxItem | ) |
| #define listTEST_LIST_INTEGRITY | ( | pxList | ) |
| #define listTEST_LIST_ITEM_INTEGRITY | ( | pxItem | ) |
Typedef Documentation
| typedef struct xLIST_ITEM ListItem_t |
| typedef struct xMINI_LIST_ITEM MiniListItem_t |
Function Documentation
| UBaseType_t uxListRemove | ( | ListItem_t *const | pxItemToRemove | ) |
| void vListInitialise | ( | List_t *const | pxList | ) |
| void vListInitialiseItem | ( | ListItem_t *const | pxItem | ) |
| void vListInsert | ( | List_t *const | pxList, |
| ListItem_t *const | pxNewListItem | ||
| ) |
| void vListInsertEnd | ( | List_t *const | pxList, |
| ListItem_t *const | pxNewListItem | ||
| ) |

1.8.11