|
| #define | LOS_DL_LIST_FIRST(object) ((object)->pstNext) |
| | Point to the next node of the current node.
|
| |
| #define | LOS_DL_LIST_LAST(object) ((object)->pstPrev) |
| | Point to the previous node of the current node.
|
| |
| #define | LOS_OFF_SET_OF(type, member) ((UINTPTR)&((type *)0)->member) |
| | Obtain the offset of a structure member relative to the structure start address.
|
| |
| #define | OFFSET_OF_FIELD(type, field) LOS_OFF_SET_OF(type, field) |
| |
| #define | LOS_DL_LIST_ENTRY(item, type, member) ((type *)(VOID *)((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) |
| | Traverse a doubly linked list which is included in a given type structure.
|
| |
| #define | LOS_DL_LIST_FOR_EACH_ENTRY_SAFE(item, next, list, type, member) |
| | Traverse a doubly linked list which is included in a given type structure. And it is safe against removal of list entry.
|
| |
| #define | LOS_DL_LIST_FOR_EACH_ENTRY_HOOK(item, list, type, member, hook) |
| | Iterate over a doubly linked list of given type, and call hook for any extra procedures every time.
|
| |
| #define | LOS_DL_LIST_FOR_EACH(item, list) |
| | Traverse a doubly linked list.
|
| |
| #define | LOS_DL_LIST_FOR_EACH_SAFE(item, next, list) |
| | Traverse 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.
|
| |