Go to the source code of this file.
|
| #define | LIST_HEAD_INIT(name) {&(name), &(name) } |
| |
| #define | LIST_HEAD(name) struct list_head name = LIST_HEAD_INIT(name) |
| |
| #define | list_entry(ptr, type, member) container_of(ptr, type, member) |
| |
| #define | list_first_entry(ptr, type, member) list_entry((ptr)->next, type, member) |
| |
| #define | list_last_entry(ptr, type, member) list_entry((ptr)->prev, type, member) |
| |
| #define | list_next_entry(pos, member) list_entry((pos)->member.next, typeof(*(pos)), member) |
| |
| #define | list_for_each(pos, head) for (pos = (head)->next; pos != (head); pos = pos->next) |
| |
| #define | list_for_each_safe(pos, n, head) |
| |
| #define | list_for_each_entry(pos, head, member) |
| |
| #define | list_for_each_entry_safe(pos, n, head, member) |
| |
| #define | list_for_each_entry_reverse(pos, head, member) |
| |
◆ list_entry
| #define list_entry |
( |
|
ptr, |
|
|
|
type, |
|
|
|
member |
|
) |
| container_of(ptr, type, member) |
◆ list_first_entry
| #define list_first_entry |
( |
|
ptr, |
|
|
|
type, |
|
|
|
member |
|
) |
| list_entry((ptr)->next, type, member) |
◆ list_for_each
| #define list_for_each |
( |
|
pos, |
|
|
|
head |
|
) |
| for (pos = (head)->next; pos != (head); pos = pos->next) |
◆ list_for_each_entry
| #define list_for_each_entry |
( |
|
pos, |
|
|
|
head, |
|
|
|
member |
|
) |
| |
Value: for (pos =
list_entry((head)->next, typeof(*pos), member); \
&pos->member != (head); \
pos =
list_entry(pos->member.next, typeof(*pos), member))
#define list_entry(ptr, type, member)
Definition list.h:64
◆ list_for_each_entry_reverse
| #define list_for_each_entry_reverse |
( |
|
pos, |
|
|
|
head, |
|
|
|
member |
|
) |
| |
Value: for (pos =
list_entry((head)->prev, typeof(*pos), member); \
&pos->member != (head); \
pos =
list_entry(pos->member.prev, typeof(*pos), member))
◆ list_for_each_entry_safe
| #define list_for_each_entry_safe |
( |
|
pos, |
|
|
|
n, |
|
|
|
head, |
|
|
|
member |
|
) |
| |
Value: for (pos =
list_entry((head)->next, typeof(*pos), member), \
n =
list_entry(pos->member.next, typeof(*pos), member); \
&pos->member != (head); \
pos = n, n =
list_entry(n->member.next, typeof(*pos), member))
◆ list_for_each_safe
| #define list_for_each_safe |
( |
|
pos, |
|
|
|
n, |
|
|
|
head |
|
) |
| |
Value: for (pos = (head)->next, n = pos->next; pos != (head); \
pos = n, n = pos->next)
◆ LIST_HEAD
◆ LIST_HEAD_INIT
| #define LIST_HEAD_INIT |
( |
|
name | ) |
{&(name), &(name) } |
◆ list_last_entry
| #define list_last_entry |
( |
|
ptr, |
|
|
|
type, |
|
|
|
member |
|
) |
| list_entry((ptr)->prev, type, member) |
◆ list_next_entry
| #define list_next_entry |
( |
|
pos, |
|
|
|
member |
|
) |
| list_entry((pos)->member.next, typeof(*(pos)), member) |