20#ifndef _tdsguard_aej6DXYKBycQe7Wyg2gHaQ_
21#define _tdsguard_aej6DXYKBycQe7Wyg2gHaQ_
28#if ENABLE_EXTRA_CHECKS
32#define DLIST_FIELDS(name) \
35#define DLIST_INITIALIZER(var) \
36 { { &(var).ring, &(var).ring } }
38#define DLIST_FOREACH(prefix, list, p) \
39 for (p = prefix ## _ ## first(list); p != NULL; p = prefix ## _ ## next(list, p))
43 assert(!ring_item->next && !ring_item->prev);
44 ring_pos->next->prev = ring_item;
45 ring_item->prev = ring_pos;
46 ring_item->next = ring_pos->next;
47 ring_pos->next = ring_item;
48 assert(ring_item->next && ring_item->prev);