93#define LOS_DL_LIST_FIRST(object) ((object)->pstNext)
112#define LOS_DL_LIST_LAST(object) ((object)->pstPrev)
160 LOS_ListAdd(list->
pstPrev, node);
184 LOS_ListAdd(list, node);
253#define LOS_OFF_SET_OF(type, member) ((UINTPTR)&((type *)0)->member)
256#define OFFSET_OF_FIELD(type, field) LOS_OFF_SET_OF(type, field)
279#define LOS_DL_LIST_ENTRY(item, type, member) \
280 ((type *)(VOID *)((CHAR *)(item) - LOS_OFF_SET_OF(type, member)))
306#define LOS_DL_LIST_FOR_EACH_ENTRY(item, list, type, member) \
307 for ((item) = LOS_DL_LIST_ENTRY((list)->pstNext, type, member); \
308 &(item)->member != (list); \
309 (item) = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member))
339#define LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(item, next, list, type, member) \
340 for ((item) = LOS_DL_LIST_ENTRY((list)->pstNext, type, member), \
341 (next) = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member); \
342 &(item)->member != (list); \
343 (item) = (next), (next) = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member))
367#define LOS_DL_LIST_FOR_EACH_ENTRY_HOOK(item, list, type, member, hook) \
368 for ((item) = LOS_DL_LIST_ENTRY((list)->pstNext, type, member), hook; \
369 &(item)->member != (list); \
370 (item) = LOS_DL_LIST_ENTRY((item)->member.pstNext, type, member), hook)
420#define LOS_DL_LIST_FOR_EACH(item, list) \
421 for ((item) = (list)->pstNext; \
423 (item) = (item)->pstNext)
451#define LOS_DL_LIST_FOR_EACH_SAFE(item, next, list) \
452 for ((item) = (list)->pstNext, (next) = (item)->pstNext; \
454 (item) = (next), (next) = (item)->pstNext)
475#define LOS_DL_LIST_HEAD(list) LOS_DL_LIST list = { &(list), &(list) }
#define NULL
Definition common_def.h:21
#define STATIC
Definition common_def.h:57
#define INLINE
Definition common_def.h:65
#define LITE_OS_SEC_ALW_INLINE
Definition los_builddef.h:46
#define VOID
Definition los_typedef.h:88
size_t BOOL
Definition los_typedef.h:83
struct LOS_DL_LIST * pstPrev
Definition los_list.h:48
struct LOS_DL_LIST * pstNext
Definition los_list.h:49