list

list

Functions

struct list_head * list_check ()
struct list_node * list_check_node ()
#define list_debug()
#define list_debug_node()
#define LIST_HEAD_INIT()
#define LIST_HEAD()
void list_head_init ()
void list_node_init ()
#define list_add_after()
void list_add_after_ ()
#define list_add()
void list_add_ ()
#define list_add_before()
void list_add_before_ ()
#define list_add_tail()
void list_add_tail_ ()
#define list_empty()
bool list_empty_ ()
#define list_empty_nodebug()
bool list_empty_nocheck ()
#define list_del()
void list_del_ ()
#define list_del_init()
void list_del_init_ ()
void list_del_from ()
#define list_swap()
void list_swap_ ()
#define list_entry()
#define list_top()
const void * list_top_ ()
#define list_pop()
const void * list_pop_ ()
#define list_tail()
const void * list_tail_ ()
#define list_for_each()
#define list_for_each_rev()
#define list_for_each_rev_safe()
#define list_for_each_safe()
#define list_next()
#define list_prev()
#define list_append_list()
void list_append_list_ ()
#define list_prepend_list()
void list_prepend_list_ ()
#define list_for_each_off_dir_()
#define list_for_each_safe_off_dir_()
#define list_for_each_off()
#define list_for_each_rev_off()
#define list_for_each_safe_off()
#define list_for_each_rev_safe_off()
#define list_entry_off()
#define list_head_off()
#define list_tail_off()
#define list_add_off()
#define list_del_off()
#define list_del_from_off()
void * list_node_to_off_ ()
struct list_node * list_node_from_off_ ()
#define list_off_()
#define list_off_var_()
#define list_typeof()
void * list_entry_or_null ()

Types and Values

struct list_node
struct list_head
#define LIST_LOC

Description

Functions

list_check ()

struct list_head *
list_check (const struct list_head *h,
            const char *abortstr);

list_check_node ()

struct list_node *
list_check_node (const struct list_node *n,
                 const char *abortstr);

list_debug()

#define list_debug(h, loc) list_check((h), loc)

list_debug_node()

#define list_debug_node(n, loc) list_check_node((n), loc)

LIST_HEAD_INIT()

#define LIST_HEAD_INIT(name) { { &(name).n, &(name).n } }

LIST_HEAD()

#define             LIST_HEAD(name)

list_head_init ()

void
list_head_init (struct list_head *h);

list_node_init ()

void
list_node_init (struct list_node *n);

list_add_after()

#define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)

list_add_after_ ()

void
list_add_after_ (struct list_head *h,
                 struct list_node *p,
                 struct list_node *n,
                 const char *abortstr);

list_add()

#define list_add(h, n) list_add_(h, n, LIST_LOC)

list_add_ ()

void
list_add_ (struct list_head *h,
           struct list_node *n,
           const char *abortstr);

list_add_before()

#define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)

list_add_before_ ()

void
list_add_before_ (struct list_head *h,
                  struct list_node *p,
                  struct list_node *n,
                  const char *abortstr);

list_add_tail()

#define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)

list_add_tail_ ()

void
list_add_tail_ (struct list_head *h,
                struct list_node *n,
                const char *abortstr);

list_empty()

#define list_empty(h) list_empty_(h, LIST_LOC)

list_empty_ ()

bool
list_empty_ (const struct list_head *h,
             const char *abortstr);

list_empty_nodebug()

#define list_empty_nodebug(h) list_empty(h)

list_empty_nocheck ()

bool
list_empty_nocheck (const struct list_head *h);

list_del()

#define list_del(n) list_del_(n, LIST_LOC)

list_del_ ()

void
list_del_ (struct list_node *n,
           const char *abortstr);

list_del_init()

#define list_del_init(n) list_del_init_(n, LIST_LOC)

list_del_init_ ()

void
list_del_init_ (struct list_node *n,
                const char *abortstr);

list_del_from ()

void
list_del_from (struct list_head *h,
               struct list_node *n);

Example: list_del_init(&child->list); parent->num_children--;

[), list_del(]


list_swap()

#define list_swap(o, n) list_swap_(o, n, LIST_LOC)

list_swap_ ()

void
list_swap_ (struct list_node *o,
            struct list_node *n,
            const char *abortstr);

list_entry()

#define list_entry(n, type, member) container_of(n, type, member)

list_top()

#define             list_top(h, type, member)

list_top_ ()

const void *
list_top_ (const struct list_head *h,
           size_t off);

list_pop()

#define             list_pop(h, type, member)

list_pop_ ()

const void *
list_pop_ (const struct list_head *h,
           size_t off);

list_tail()

#define             list_tail(h, type, member)

list_tail_ ()

const void *
list_tail_ (const struct list_head *h,
            size_t off);

list_for_each()

#define             list_for_each(h, i, member)

list_for_each_rev()

#define             list_for_each_rev(h, i, member)

list_for_each_rev_safe()

#define             list_for_each_rev_safe(h, i, nxt, member)

list_for_each_safe()

#define             list_for_each_safe(h, i, nxt, member)

list_next()

#define             list_next(h, i, member)

list_prev()

#define             list_prev(h, i, member)

list_append_list()

#define             list_append_list(t, f)

list_append_list_ ()

void
list_append_list_ (struct list_head *to,
                   struct list_head *from,
                   const char *abortstr);

list_prepend_list()

#define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)

list_prepend_list_ ()

void
list_prepend_list_ (struct list_head *to,
                    struct list_head *from,
                    const char *abortstr);

list_for_each_off_dir_()

#define             list_for_each_off_dir_(h, i, off, dir)

list_for_each_safe_off_dir_()

#define             list_for_each_safe_off_dir_(h, i, nxt, off, dir)

list_for_each_off()

#define             list_for_each_off(h, i, off)

list_for_each_rev_off()

#define             list_for_each_rev_off(h, i, off)

list_for_each_safe_off()

#define             list_for_each_safe_off(h, i, nxt, off)

list_for_each_rev_safe_off()

#define             list_for_each_rev_safe_off(h, i, nxt, off)

list_entry_off()

#define             list_entry_off(n, type, off)

list_head_off()

#define             list_head_off(h, type, off)

list_tail_off()

#define             list_tail_off(h, type, off)

list_add_off()

#define             list_add_off(h, n, off)

list_del_off()

#define             list_del_off(n, off)

list_del_from_off()

#define             list_del_from_off(h, n, off)

list_node_to_off_ ()

void *
list_node_to_off_ (struct list_node *node,
                   size_t off);

list_node_from_off_ ()

struct list_node *
list_node_from_off_ (void *ptr,
                     size_t off);

list_off_()

#define             list_off_(type, member)

list_off_var_()

#define             list_off_var_(var, member)

list_typeof()

#define list_typeof(var) typeof(var)

list_entry_or_null ()

void *
list_entry_or_null (const struct list_head *h,
                    const struct list_node *n,
                    size_t off);

Types and Values

struct list_node

struct list_node {
	struct list_node *next, *prev;
};

struct list_head

struct list_head {
	struct list_node n;
};

LIST_LOC

#define LIST_LOC __FILE__  ":" stringify(__LINE__)