Go to the source code of this file.
|
| #define | LIST_INIT(head) {&head, &head} |
| |
| #define | list_is_empty(item) ((item)->next == item) |
| |
| #define | __list_object(item, type, offset) ((type *)((char *)(item) - (offset))) |
| |
| #define | list_item(item, type, member) __list_object(item, type, offsetof(type, member)) |
| |
| #define | list_first_item(list, type, member) __list_object((list)->next, type, offsetof(type, member)) |
| |
| #define | list_next_item(object, member) list_item((object)->member.next, __typeof__(*(object)), member) |
| |
| #define | list_for_item(item, list) for (item = (list)->next; item != (list); item = item->next) |
| |
| #define | list_for_item_prev(item, list) for (item = (list)->prev; item != (list); item = item->prev) |
| |
| #define | list_for_item_safe(item, tmp, list) |
| |
◆ __list_object
| #define __list_object |
( |
|
item, |
|
|
|
type, |
|
|
|
offset |
|
) |
| ((type *)((char *)(item) - (offset))) |
◆ list_first_item
◆ list_for_item
| #define list_for_item |
( |
|
item, |
|
|
|
list |
|
) |
| for (item = (list)->next; item != (list); item = item->next) |
◆ list_for_item_prev
| #define list_for_item_prev |
( |
|
item, |
|
|
|
list |
|
) |
| for (item = (list)->prev; item != (list); item = item->prev) |
◆ list_for_item_safe
| #define list_for_item_safe |
( |
|
item, |
|
|
|
tmp, |
|
|
|
list |
|
) |
| |
Value: for (item = (list)->next, tmp = item->next;\
item != (list); \
item = tmp, tmp = item->next)
◆ LIST_INIT
| #define LIST_INIT |
( |
|
head | ) |
{&head, &head} |
◆ list_is_empty
| #define list_is_empty |
( |
|
item | ) |
((item)->next == item) |
◆ list_item
◆ list_next_item
| #define list_next_item |
( |
|
object, |
|
|
|
member |
|
) |
| list_item((object)->member.next, __typeof__(*(object)), member) |
◆ list_init()
| static void list_init |
( |
struct list_item * |
list | ) |
|
|
inlinestatic |
◆ list_item_append()
◆ list_item_del()
| static void list_item_del |
( |
struct list_item * |
item | ) |
|
|
inlinestatic |
◆ list_item_is_last()
◆ list_item_prepend()
◆ list_relink()
Re-links the list when head address changed (list moved).
- Parameters
-
| new_list | New address of the head. |
| old_list | Old address of the head. |