|  | 
| #define | UTLIST_VERSION   1.9.1 | 
|  | 
| #define | LDECLTYPE(x)   __typeof(x) | 
|  | 
| #define | _SV(elt, list) | 
|  | 
| #define | _NEXT(elt, list)   ((elt)->next) | 
|  | 
| #define | _NEXTASGN(elt, list, to)   ((elt)->next)=(to) | 
|  | 
| #define | _PREV(elt, list)   ((elt)->prev) | 
|  | 
| #define | _PREVASGN(elt, list, to)   ((elt)->prev)=(to) | 
|  | 
| #define | _RS(list) | 
|  | 
| #define | _CASTASGN(a, b)   (a)=(b) | 
|  | 
| #define | LL_SORT(list, cmp) | 
|  | 
| #define | DL_SORT(list, cmp) | 
|  | 
| #define | CDL_SORT(list, cmp) | 
|  | 
| #define | LL_PREPEND(head, add) | 
|  | 
| #define | LL_APPEND(head, add) | 
|  | 
| #define | LL_DELETE(head, del) | 
|  | 
| #define | LL_APPEND_VS2008(head, add) | 
|  | 
| #define | LL_DELETE_VS2008(head, del) | 
|  | 
| #define | LL_FOREACH(head, el)   for(el=head;el;el=el->next) | 
|  | 
| #define | LL_FOREACH_SAFE(head, el, tmp)   for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) | 
|  | 
| #define | LL_SEARCH_SCALAR(head, out, field, val) | 
|  | 
| #define | LL_SEARCH(head, out, elt, cmp) | 
|  | 
| #define | DL_PREPEND(head, add) | 
|  | 
| #define | DL_APPEND(head, add) | 
|  | 
| #define | DL_DELETE(head, del) | 
|  | 
| #define | DL_FOREACH(head, el)   for(el=head;el;el=el->next) | 
|  | 
| #define | DL_FOREACH_SAFE(head, el, tmp)   for((el)=(head);(el) && (tmp = (el)->next, 1); (el) = tmp) | 
|  | 
| #define | DL_SEARCH_SCALAR   LL_SEARCH_SCALAR | 
|  | 
| #define | DL_SEARCH   LL_SEARCH | 
|  | 
| #define | CDL_PREPEND(head, add) | 
|  | 
| #define | CDL_DELETE(head, del) | 
|  | 
| #define | CDL_FOREACH(head, el)   for(el=head;el;el=(el->next==head ? 0L : el->next)) | 
|  | 
| #define | CDL_FOREACH_SAFE(head, el, tmp1, tmp2) | 
|  | 
| #define | CDL_SEARCH_SCALAR(head, out, field, val) | 
|  | 
| #define | CDL_SEARCH(head, out, elt, cmp) | 
|  |