diff options
Diffstat (limited to 'src/core/list.h')
| -rw-r--r-- | src/core/list.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/core/list.h b/src/core/list.h index c55870cb..f12087a2 100644 --- a/src/core/list.h +++ b/src/core/list.h @@ -32,23 +32,25 @@ typedef struct nni_list_node { struct nni_list_node *ln_next; struct nni_list_node *ln_prev; -} *nni_list_node_t; +} nni_list_node_t; typedef struct nni_list { struct nni_list_node ll_head; size_t ll_offset; -} *nni_list_t; +} nni_list_t; -extern void nni_list_init_offset(nni_list_t list, size_t offset); +extern void nni_list_init_offset(nni_list_t *list, size_t offset); #define NNI_LIST_INIT(list, type, field) \ - nni_list_init_offset(list, type, (size_t)&((type *)0)->field) -extern void *nni_list_first(nni_list_t list); -extern void *nni_list_last(nni_list_t list); -extern void nni_list_append(nni_list_t list, void *item); -extern void nni_list_prepend(nni_list_t list, void *item); -extern void *nni_list_next(nni_list_t list, void *item); -extern void *nni_list_prev(nni_list_t list, void *item); -extern void nni_list_remove(nni_list_t list, void *item); -extern void nni_list_node_init(nni_list_t, void *); + nni_list_init_offset(list, offsetof (type, field)) +extern void *nni_list_first(nni_list_t *); +extern void *nni_list_last(nni_list_t *); +extern void nni_list_append(nni_list_t *, void *); +extern void nni_list_prepend(nni_list_t *, void *); +extern void *nni_list_next(nni_list_t *, void *); +extern void *nni_list_prev(nni_list_t *, void *); +extern void nni_list_remove(nni_list_t *, void *); +extern void nni_list_node_init(nni_list_t *, void *); +#define NNI_LIST_FOREACH(l, it) \ + for (it = nni_list_first(l); it != NULL; it = nni_list_next(l, it)) -#endif /* CORE_MSQUEUE_H */ +#endif /* CORE_LIST_H */ |
