Rev 854 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 854 | Rev 859 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | struct link *prev; |
3 | struct link *prev; |
4 | struct link *next; |
4 | struct link *next; |
5 | }link_t; |
5 | }link_t; |
6 | 6 | ||
Line -... | Line 7... | ||
- | 7 | #define LIST_INITIALIZE(name) \ |
|
- | 8 | link_t name = { .prev = &name, .next = &name } |
|
- | 9 | ||
7 | #define list_get_instance(link, type, member) \ |
10 | #define list_get_instance(link, type, member) \ |
8 | ((type *)(((u8_t *)(link)) - ((u8_t *)&(((type *)NULL)->member)))) |
11 | ((type *)(((u8_t *)(link)) - ((u8_t *)&(((type *)NULL)->member)))) |
Line 9... | Line 12... | ||
9 | 12 | ||
10 | static inline void link_initialize(link_t *link) |
13 | static inline void link_initialize(link_t *link) |
Line 46... | Line 49... | ||
46 | head->next->prev = link; |
49 | head->next->prev = link; |
47 | head->next = link; |
50 | head->next = link; |
48 | } |
51 | } |
49 | 52 | ||
Line -... | Line 53... | ||
- | 53 | static inline list_insert(link_t *old, link_t *new) |
|
- | 54 | { |
|
- | 55 | new->prev = old->prev; |
|
- | 56 | new->next = old; |
|
- | 57 | new->prev->next = new; |
|
- | 58 | old->prev = new; |
|
- | 59 | } |