aboutsummaryrefslogtreecommitdiff
path: root/src/core/list.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2016-12-12 03:42:26 -0800
committerGarrett D'Amore <garrett@damore.org>2016-12-12 03:42:26 -0800
commit1adefe3879b211a47a784f477d56a9416ae72254 (patch)
treecf017599969fb109d62981cbef56eeeef4d2b108 /src/core/list.h
parent091043a0df9568b18e9bb49b07762b95e3508108 (diff)
downloadnng-1adefe3879b211a47a784f477d56a9416ae72254.tar.gz
nng-1adefe3879b211a47a784f477d56a9416ae72254.tar.bz2
nng-1adefe3879b211a47a784f477d56a9416ae72254.zip
New inproc transport.
Lots of supporting changes.
Diffstat (limited to 'src/core/list.h')
-rw-r--r--src/core/list.h28
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 */