1 #ifndef __LINUX_LIST_H__ 2 #define __LINUX_LIST_H__ 14 #define prefetch(a) ((void *)a) 20 #define LIST_HEAD_INIT(name) { &(name), &(name) } 22 #define LIST_HEAD(name) \ 23 struct list_head name = LIST_HEAD_INIT(name) 191 #define list_entry(ptr, type, member) \ 192 ((type *)((char *)(ptr)-(char *)(&((type *)0)->member))) 199 #define list_for_each(pos, head) \ 200 for (pos = (head)->next, prefetch(pos->next); pos != (head); \ 201 pos = pos->next, prefetch(pos->next)) 209 #define list_for_each_safe(pos, n, head) \ 210 for (pos = (head)->next, n = pos->next; pos != (head); \ 211 pos = n, n = pos->next) 213 #ifndef list_for_each_prev 219 #define list_for_each_prev(pos, head) \ 220 for (pos = (head)->prev, prefetch(pos->prev); pos != (head); \ 221 pos = pos->prev, prefetch(pos->prev)) 225 #ifndef list_for_each_entry 232 #define list_for_each_entry(pos, head, type, member) \ 233 for (pos = list_entry((head)->next, type, member), \ 234 prefetch(pos->member.next); \ 235 &pos->member != (head); \ 236 pos = list_entry(pos->member.next, type, member), \ 237 prefetch(pos->member.next)) 240 #ifndef list_for_each_entry_safe 248 #define list_for_each_entry_safe(pos, n, head, type, member) \ 249 for (pos = list_entry((head)->next, type, member), \ 250 n = list_entry(pos->member.next, type, member); \ 251 &pos->member != (head); \ 252 pos = n, n = list_entry(n->member.next, type, member)) static void __list_add(struct list_head *new, struct list_head *prev, struct list_head *next)
struct outqueuenode * head
static void list_del(struct list_head *entry)
static void list_add_tail(struct list_head *new, struct list_head *head)
static void __list_splice(struct list_head *list, struct list_head *head)
static void list_move(struct list_head *list, struct list_head *head)
static void list_add(struct list_head *new, struct list_head *head)
static int list_empty(struct list_head *head)
static void INIT_LIST_HEAD(struct list_head *list)
static void list_splice_init(struct list_head *list, struct list_head *head)
static void __list_del(struct list_head *prev, struct list_head *next)
static unsigned __int64 next
static void list_del_init(struct list_head *entry)
static void list_splice(struct list_head *list, struct list_head *head)
static int list_empty_careful(const struct list_head *head)
static void list_move_tail(struct list_head *list, struct list_head *head)