From 10512fc50e6184397206a41c157c09d9b02e9e1a Mon Sep 17 00:00:00 2001 From: David Timber Date: Sat, 11 Jan 2020 18:03:47 +1100 Subject: staged resolv_worker * replaced RNG from `rnd` to `mbedtls_ctr_drbg` * use of `uint_fastN_t` where appropriate * heartbeat protocol draft * improved worker scheduling mech --- src/llist.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/llist.h (limited to 'src/llist.h') diff --git a/src/llist.h b/src/llist.h new file mode 100644 index 0000000..9780ab9 --- /dev/null +++ b/src/llist.h @@ -0,0 +1,28 @@ +#pragma once +#include +#include +#include + + +struct prne_llist; +struct prne_llist_entry; +typedef struct prne_llist prne_llist_t; +typedef struct prne_llist_entry prne_llist_entry_t; + +struct prne_llist { + prne_llist_entry_t *head, *tail; + size_t size; +}; + +struct prne_llist_entry { + prne_llist_entry_t *prev, *next; + void *element; +}; + +void prne_init_llist (prne_llist_t *llist); +void prne_free_llist (prne_llist_t *llist); + +void prne_llist_clear (prne_llist_t *llist); +prne_llist_entry_t *prne_llist_insert (prne_llist_t *llist, prne_llist_entry_t *entry, void *element); +prne_llist_entry_t *prne_llist_append (prne_llist_t *llist, void *element); +prne_llist_entry_t *prne_llist_erase (prne_llist_t *llist, prne_llist_entry_t *entry); -- cgit