

Go to the source code of this file.
Data Structures | |
| struct | list_head |
Defines | |
| #define | LIST_INITHEAD(__item) |
| #define | LIST_ADD(__item, __list) |
| #define | LIST_ADDTAIL(__item, __list) |
| #define | LIST_REPLACE(__from, __to) |
| #define | LIST_DEL(__item) |
| #define | LIST_DELINIT(__item) |
| #define | LIST_ENTRY(__type, __item, __field) ((__type *)(((char *)(__item)) - offsetof(__type, __field))) |
No list looping yet.
Is not threadsafe, so common operations need to be protected using an external mutex.
Definition in file u_double_list.h.
| #define LIST_ADD | ( | __item, | |||
| __list | ) |
Value:
do { \ (__item)->prev = (__list); \ (__item)->next = (__list)->next; \ (__list)->next->prev = (__item); \ (__list)->next = (__item); \ } while (0)
Definition at line 57 of file u_double_list.h.
| #define LIST_ADDTAIL | ( | __item, | |||
| __list | ) |
Value:
do { \ (__item)->next = (__list); \ (__item)->prev = (__list)->prev; \ (__list)->prev->next = (__item); \ (__list)->prev = (__item); \ } while(0)
Definition at line 65 of file u_double_list.h.
| #define LIST_DEL | ( | __item | ) |
Value:
do { \ (__item)->prev->next = (__item)->next; \ (__item)->next->prev = (__item)->prev; \ } while(0)
Definition at line 81 of file u_double_list.h.
| #define LIST_DELINIT | ( | __item | ) |
Value:
do { \ (__item)->prev->next = (__item)->next; \ (__item)->next->prev = (__item)->prev; \ (__item)->next = (__item); \ (__item)->prev = (__item); \ } while(0)
Definition at line 87 of file u_double_list.h.
| #define LIST_ENTRY | ( | __type, | |||
| __item, | |||||
| __field | ) | ((__type *)(((char *)(__item)) - offsetof(__type, __field))) |
Definition at line 95 of file u_double_list.h.
| #define LIST_INITHEAD | ( | __item | ) |
Value:
do { \ (__item)->prev = (__item); \ (__item)->next = (__item); \ } while (0)
Definition at line 51 of file u_double_list.h.
| #define LIST_REPLACE | ( | __from, | |||
| __to | ) |
Value:
do { \ (__to)->prev = (__from)->prev; \ (__to)->next = (__from)->next; \ (__from)->next->prev = (__to); \ (__from)->prev->next = (__to); \ } while (0)
Definition at line 73 of file u_double_list.h.
1.5.4