Skip to content

File list.h

FileList > FreeRTOS > include > list.h

Go to the source code of this file.

Classes

Type Name
struct xLIST
struct xLIST_ITEM
struct xMINI_LIST_ITEM

Public Types

Type Name
typedef struct xLIST_ITEM ListItem_t
typedef struct xLIST List_t
typedef struct xMINI_LIST_ITEM MiniListItem_t

Public Functions

Type Name
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)

Macros

Type Name
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)
define listIS_CONTAINED_WITHIN (pxList, pxListItem) ( ( ( pxListItem )->pxContainer == ( pxList ) ) ? ( pdTRUE ) : ( pdFALSE ) )
define listLIST_IS_EMPTY (pxList) ( ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? pdTRUE : pdFALSE )
define listLIST_IS_INITIALISED (pxList) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )
define listLIST_ITEM_CONTAINER (pxListItem) ( ( pxListItem )->pxContainer )
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)

Public Types Documentation

typedef ListItem_t

typedef struct xLIST_ITEM ListItem_t;

typedef List_t

typedef struct xLIST List_t;

typedef MiniListItem_t

typedef struct xMINI_LIST_ITEM MiniListItem_t;

Public Functions Documentation

function uxListRemove

UBaseType_t uxListRemove (
    ListItem_t *const pxItemToRemove
) 

function vListInitialise

void vListInitialise (
    List_t *const pxList
) 

function vListInitialiseItem

void vListInitialiseItem (
    ListItem_t *const pxItem
) 

function vListInsert

void vListInsert (
    List_t *const pxList,
    ListItem_t *const pxNewListItem
) 

function vListInsertEnd

void vListInsertEnd (
    List_t *const pxList,
    ListItem_t *const pxNewListItem
) 

Macro Definition Documentation

define configLIST_VOLATILE

#define configLIST_VOLATILE 

define listCURRENT_LIST_LENGTH

#define listCURRENT_LIST_LENGTH (
    pxList
) ( ( pxList )->uxNumberOfItems )

define listFIRST_LIST_INTEGRITY_CHECK_VALUE

#define listFIRST_LIST_INTEGRITY_CHECK_VALUE 

define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE

#define listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE 

define listGET_END_MARKER

#define listGET_END_MARKER (
    pxList
) ( ( ListItem_t const * ) ( &( ( pxList )->xListEnd ) ) )

define listGET_HEAD_ENTRY

#define listGET_HEAD_ENTRY (
    pxList
) ( ( ( pxList )->xListEnd ).pxNext )

define listGET_ITEM_VALUE_OF_HEAD_ENTRY

#define listGET_ITEM_VALUE_OF_HEAD_ENTRY (
    pxList
) ( ( ( pxList )->xListEnd ).pxNext->xItemValue )

define listGET_LIST_ITEM_OWNER

#define listGET_LIST_ITEM_OWNER (
    pxListItem
) ( ( pxListItem )->pvOwner )

define listGET_LIST_ITEM_VALUE

#define listGET_LIST_ITEM_VALUE (
    pxListItem
) ( ( pxListItem )->xItemValue )

define listGET_NEXT

#define listGET_NEXT (
    pxListItem
) ( ( pxListItem )->pxNext )

define listGET_OWNER_OF_HEAD_ENTRY

#define listGET_OWNER_OF_HEAD_ENTRY (
    pxList
) ( (&( ( pxList )->xListEnd ))->pxNext->pvOwner )

define listGET_OWNER_OF_NEXT_ENTRY

#define listGET_OWNER_OF_NEXT_ENTRY (
    pxTCB,
    pxList
) {                                                                                         \ 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.  */                          \
    ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext;                            \
    if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) )  \
    {                                                                                       \
        ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext;                        \
    }                                                                                       \
    ( pxTCB ) = ( pxConstList )->pxIndex->pvOwner;                                          \
}

define listIS_CONTAINED_WITHIN

#define listIS_CONTAINED_WITHIN (
    pxList,
    pxListItem
) ( ( ( pxListItem )->pxContainer == ( pxList ) ) ? ( pdTRUE ) : ( pdFALSE ) )

define listLIST_IS_EMPTY

#define listLIST_IS_EMPTY (
    pxList
) ( ( ( pxList )->uxNumberOfItems == ( UBaseType_t ) 0 ) ? pdTRUE : pdFALSE )

define listLIST_IS_INITIALISED

#define listLIST_IS_INITIALISED (
    pxList
) ( ( pxList )->xListEnd.xItemValue == portMAX_DELAY )

define listLIST_ITEM_CONTAINER

#define listLIST_ITEM_CONTAINER (
    pxListItem
) ( ( pxListItem )->pxContainer )

define listSECOND_LIST_INTEGRITY_CHECK_VALUE

#define listSECOND_LIST_INTEGRITY_CHECK_VALUE 

define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE

#define listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE 

define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE

#define listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE (
    pxItem
) 

define listSET_LIST_INTEGRITY_CHECK_1_VALUE

#define listSET_LIST_INTEGRITY_CHECK_1_VALUE (
    pxList
) 

define listSET_LIST_INTEGRITY_CHECK_2_VALUE

#define listSET_LIST_INTEGRITY_CHECK_2_VALUE (
    pxList
) 

define listSET_LIST_ITEM_OWNER

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

define listSET_LIST_ITEM_VALUE

#define listSET_LIST_ITEM_VALUE (
    pxListItem,
    xValue
) ( ( pxListItem )->xItemValue = ( xValue ) )

define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE

#define listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE (
    pxItem
) 

define listTEST_LIST_INTEGRITY

#define listTEST_LIST_INTEGRITY (
    pxList
) 

define listTEST_LIST_ITEM_INTEGRITY

#define listTEST_LIST_ITEM_INTEGRITY (
    pxItem
) 

The documentation for this class was generated from the following file fw/rbcx-coprocessor/lib/FreeRTOS/include/list.h