| ns2 Network Simulator C++ Class Hierarchy of version ns-snapshot-20040722 | |
| | Home | Source Code | Manual | FAQ | Mailing List Archive | Search | | | Download | |
Defines | |
| #define | LIST_HEAD(name, type) |
| #define | LIST_ENTRY(type) |
| #define | LIST_INIT(head) |
| #define | LIST_INSERT_AFTER(listelm, elm, field) |
| #define | LIST_INSERT_BEFORE(listelm, elm, field) |
| #define | LIST_INSERT_HEAD(head, elm, field) |
| #define | LIST_REMOVE(elm, field) |
|
|
Value: struct { \
type *le_next; \
type **le_prev; \
}
|
|
|
Value: struct name { \ type *lh_first; \ } |
|
|
Value: { \
(head)->lh_first = NULL; \
}
|
|
|
Value: { \
if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
(listelm)->field.le_next->field.le_prev = \
&(elm)->field.le_next; \
(listelm)->field.le_next = (elm); \
(elm)->field.le_prev = &(listelm)->field.le_next; \
}
|
|
|
Value: { \
(elm)->field.le_prev = (listelm)->field.le_prev; \
(elm)->field.le_next = (listelm); \
*(listelm)->field.le_prev = (elm); \
(listelm)->field.le_prev = &(elm)->field.le_next; \
}
|
|
|
Value: { \
if (((elm)->field.le_next = (head)->lh_first) != NULL) \
(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
(head)->lh_first = (elm); \
(elm)->field.le_prev = &(head)->lh_first; \
}
|
|
|
Value: { \
if ((elm)->field.le_next != NULL) \
(elm)->field.le_next->field.le_prev = \
(elm)->field.le_prev; \
*(elm)->field.le_prev = (elm)->field.le_next; \
}
|