blob: fc04a3df1a4cbb1b701aa0cc13421056e4d620c7 [file] [log] [blame]
/* Copyright 2012 Google Inc. All Rights Reserved.
*/
#ifndef _HNVRAM_DLIST_H_
#define _HNVRAM_DLIST_H_
typedef struct dlist_hdr {
struct dlist_hdr *next;
struct dlist_hdr *prev;
} dlist_hdr_t;
#define DLIST_INIT(dlist) { &(dlist), &(dlist) }
static inline void dlist_add(struct dlist_hdr *dlist, struct dlist_hdr *entry)
{
entry->next = dlist;
entry->prev = dlist->prev;
dlist->prev->next = entry;
dlist->prev = entry;
}
static inline void dlist_del(struct dlist_hdr *entry)
{
entry->prev->next = entry->next;
entry->next->prev = entry->prev;
}
#define DLIST_FOR_EACH(dlist, entry) \
for (entry = (dlist)->next; entry != (dlist); entry = entry->next)
#endif /* _HNVRAM_DLIST_H_ */