Atmel Software Framework

list.h File Reference

Data Structures

struct  xLIST
 
struct  xLIST_ITEM
 
struct  xMINI_LIST_ITEM
 

Macros

#define listCURRENT_LIST_LENGTH(pxList)   ( ( pxList )->uxNumberOfItems )
 
#define listGET_ITEM_VALUE_OF_HEAD_ENTRY(pxList)   ( (&( ( pxList )->xListEnd ))->pxNext->xItemValue )
 
#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)   ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) )
 
#define listLIST_IS_EMPTY(pxList)   ( ( pxList )->uxNumberOfItems == ( unsigned portBASE_TYPE ) 0 )
 
#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

void vListInitialise (xList *pxList)
 
void vListInitialiseItem (xListItem *pxItem)
 
void vListInsert (xList *pxList, xListItem *pxNewListItem)
 
void vListInsertEnd (xList *pxList, xListItem *pxNewListItem)
 
void vListRemove (xListItem *pxItemToRemove)
 

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

Referenced by portTASK_FUNCTION().

#define listGET_ITEM_VALUE_OF_HEAD_ENTRY (   pxList)    ( (&( ( pxList )->xListEnd ))->pxNext->xItemValue )
#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 
)
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( ( pxConstList )->pxIndex == ( xListItem * ) &( ( pxConstList )->xListEnd ) ) \
{ \
( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \
} \
( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \
}
if(Is_usb_id_transition()&&Is_usb_id_interrupt_enabled())
Definition: applications/uc3-audio-player/usb_task.c:395
struct xLIST xList
Definition: list.h:98
struct xLIST_ITEM * pxNext
Definition: list.h:101
volatile xListItem * pxIndex
Definition: list.h:122

Referenced by vCoRoutineSchedule(), and vTaskSwitchContext().

#define listIS_CONTAINED_WITHIN (   pxList,
  pxListItem 
)    ( ( pxListItem )->pvContainer == ( void * ) ( pxList ) )
#define listSET_LIST_ITEM_OWNER (   pxListItem,
  pxOwner 
)    ( pxListItem )->pvOwner = ( void * ) ( pxOwner )
#define listSET_LIST_ITEM_VALUE (   pxListItem,
  xValue 
)    ( pxListItem )->xItemValue = ( xValue )

typedef struct xLIST xList
typedef struct xLIST_ITEM xListItem

void vListInitialiseItem ( xListItem pxItem)