Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1029 | serge | 1 | |
2 | { |
||
3 | struct link *prev; |
||
4 | struct link *next; |
||
5 | }link_t; |
||
6 | |||
7 | |||
8 | link_t name = { .prev = &name, .next = &name } |
||
9 | |||
10 | |||
11 | ((type *)(((u8_t *)(link)) - ((u8_t *)&(((type *)NULL)->member)))) |
||
12 | |||
13 | |||
14 | { |
||
15 | link->prev = NULL; |
||
16 | link->next = NULL; |
||
17 | } |
||
18 | |||
19 | |||
20 | { |
||
21 | head->prev = head; |
||
22 | head->next = head; |
||
23 | } |
||
24 | |||
25 | |||
26 | { |
||
27 | link->prev = head->prev; |
||
28 | link->next = head; |
||
29 | head->prev->next = link; |
||
30 | head->prev = link; |
||
31 | } |
||
32 | |||
33 | |||
34 | { |
||
35 | link->next->prev = link->prev; |
||
36 | link->prev->next = link->next; |
||
37 | link_initialize(link); |
||
38 | } |
||
39 | |||
40 | |||
41 | { |
||
42 | return head->next == head ? TRUE : FALSE; |
||
43 | } |
||
44 | |||
45 | |||
46 | { |
||
47 | link->next = head->next; |
||
48 | link->prev = head; |
||
49 | head->next->prev = link; |
||
50 | head->next = link; |
||
51 | } |
||
52 | |||
53 | |||
54 | { |
||
55 | new->prev = old->prev; |
||
56 | new->next = old; |
||
57 | new->prev->next = new; |
||
58 | old->prev = new; |
||
59 | } |
||
60 |