nfs-ganesha 1.4
Classes | Defines

nlm_list.h File Reference

#include <stddef.h>

Go to the source code of this file.

Classes

struct  glist_head

Defines

#define GLIST_HEAD_INIT(name)   { &(name), &(name) }
#define GLIST_HEAD(name)   struct glist_head name = GLIST_HEAD_INIT(name)
#define glist_for_each(node, head)   for(node = (head)->next; node != head; node = node->next)
#define container_of(addr, type, member)
#define glist_first_entry(head, type, member)
#define glist_entry(node, type, member)   container_of(node, type, member)
#define glist_for_each_safe(node, noden, head)

Define Documentation

#define container_of (   addr,
  type,
  member 
)
Value:
({                      \
        const typeof( ((type *)0)->member ) *__mptr = (addr);   \
        (type *)( (char *)__mptr - offsetof(type,member) );})

Definition at line 111 of file nlm_list.h.

#define glist_entry (   node,
  type,
  member 
)    container_of(node, type, member)

Definition at line 119 of file nlm_list.h.

#define glist_first_entry (   head,
  type,
  member 
)
Value:
((head)->next != (head) ? \
          container_of((head)->next, type, member) : NULL)

Definition at line 115 of file nlm_list.h.

#define glist_for_each (   node,
  head 
)    for(node = (head)->next; node != head; node = node->next)

Definition at line 108 of file nlm_list.h.

#define glist_for_each_safe (   node,
  noden,
  head 
)
Value:
for (node = (head)->next, noden = node->next; node != (head);       \
       node = noden, noden = node->next)

Definition at line 122 of file nlm_list.h.

#define GLIST_HEAD (   name)    struct glist_head name = GLIST_HEAD_INIT(name)

Definition at line 40 of file nlm_list.h.

#define GLIST_HEAD_INIT (   name)    { &(name), &(name) }

Definition at line 38 of file nlm_list.h.