los_list.h文件参考

浏览该文件的源代码。


数据结构

struct   LOS_DL_LIST
  Structure of a node in a doubly linked list. 更多...

宏定义

#define  LOS_DL_LIST_FIRST(pstObject)   ((pstObject)->pstNext)
  Point to the next node pointed to by the current node.
#define  OFFSET_OF_FIELD(type, field)   ((UINT32)&(((type *)0)->field))
  Obtain the offset of a field to a structure address.
#define  LOS_OFF_SET_OF(type, member)   ((long)&((type *)0)->member)
  Obtain the pointer to a doubly linked list in a structure.
#define  LOS_DL_LIST_ENTRY(item, type, member)   ((type *)((char *)item - LOS_OFF_SET_OF(type, member))) \
  Obtain the pointer to a structure that contains a doubly linked list.
#define  LOS_DL_LIST_FOR_EACH_ENTRY(item, list, type, member)
  Iterate over a doubly linked list of given type.
#define  LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(item, next, list, type, member)
  iterate over a doubly linked list safe against removal of list entry.
#define  LOS_DL_LIST_FOR_EACH(item, list)
  iterate over a doubly linked list.
#define  LOS_DL_LIST_FOR_EACH_SAFE(item, next, list)
  Iterate over a doubly linked list safe against removal of list entry.
#define  LOS_DL_LIST_HEAD(list)   LOS_DL_LIST list = { &(list), &(list) }
  Initialize a double linked list.

函数

LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
LOS_ListInit (LOS_DL_LIST *pstList)
  Initialize a doubly linked list.
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
LOS_ListAdd (LOS_DL_LIST *pstList, LOS_DL_LIST *pstNode)
  Insert a new node to a doubly linked list.
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
LOS_ListTailInsert (LOS_DL_LIST *pstList, LOS_DL_LIST *pstNode)
  Insert a node to the tail of a doubly linked list.
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
LOS_ListDelete (LOS_DL_LIST *pstNode)
  Delete a specified node from a doubly linked list.
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE BOOL 
LOS_ListEmpty (LOS_DL_LIST *pstNode)
  Identify whether a specified doubly linked list is empty.
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
osListDel (LOS_DL_LIST *pstPrevNode, LOS_DL_LIST *pstNextNode)
LITE_OS_SEC_ALW_INLINE
STATIC_INLINE VOID 
LOS_ListDelInit (LOS_DL_LIST *pstList)
  Delete initialize a doubly linked list.