Loading...
Searching...
No Matches
73#define DlInitHead(_head) \
75 (_head)->Next = (_head); \
76 (_head)->Prev = (_head); \
128#define DlIsListEmpty(_head) \
129 ((_head)->Next == _head)
139void DlInsertNodeAfter(
DlNode_t *Marker,
150void DlInsertNodeBefore(
DlNode_t *Marker,
170#define OFFSET_OF(_type, _field) \
171 ((size_t)&((_type *)0)->_field)
183#ifndef CONTAINING_RECORD
184#define CONTAINING_RECORD(_address, _type, _field) \
185 ((_type *)((unsigned char *)(_address) - OFFSET_OF(_type, _field)))
197#define DlForEachNode(_head, _node) \
198 for ((_node) = (_head)->Next; (_node) != (_head); (_node) = (_node)->Next)
208#define DlForEachNodeReverse(_head, _node) \
209 for ((_node) = (_head)->Prev; (_node) != (_head); (_node) = (_node)->Prev)
struct DlNode_t_ * Prev
Definition: dlist.h:63
struct DlNode_t_ * Next
Definition: dlist.h:58