Coda Distributed File System
Classes | Macros
dllist.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  list_head
 

Macros

#define list_entry(ptr, type, member)    ((type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)))
 
#define list_init(head)
 
#define list_add(entry, head)
 
#define list_del(entry)
 
#define list_empty(head)   ((head)->next == head)
 
#define list_for_each(ptr, head)    for (ptr = (head)->next; ptr != head; ptr = ptr->next)
 

Macro Definition Documentation

◆ list_add

#define list_add (   entry,
  head 
)
Value:
do { \
struct list_head *h = head, *e = entry; \
h->next->prev = e; \
e->next = h->next; \
e->prev = h; \
h->next = e; \
} while (0);
PROC * head
Definition: util.c:73
Definition: codamergedump.cc:54
struct entry * next
Definition: codamergedump.cc:58
Definition: dllist.h:24

◆ list_del

#define list_del (   entry)
Value:
do { \
struct list_head *e = entry; \
e->prev->next = e->next; \
e->next->prev = e->prev; \
e->prev = e->next = e; \
} while (0);

◆ list_empty

#define list_empty (   head)    ((head)->next == head)

◆ list_entry

#define list_entry (   ptr,
  type,
  member 
)     ((type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)))

◆ list_for_each

#define list_for_each (   ptr,
  head 
)     for (ptr = (head)->next; ptr != head; ptr = ptr->next)

◆ list_init

#define list_init (   head)
Value:
do { \
struct list_head *h = head; \
h->prev = h->next = h; \
} while (0);