33 xroad_mem_pool_t* pool;
43 #define xroad_list_create(...) \
45 xroad_list_args_t args = {__VA_ARGS__}; \
46 xroad_list_create_ex(args.pool, args.dtor); \
62 #define __xroad_list_dtor__ __dtor__(xroad_list_destructor)
63 void xroad_list_destructor(
void* list);
78 #define xroad_list_push_back(list, val, size) \
79 xroad_list_insert(list, xroad_list_get_last(list), val, size)
88 #define xroad_list_push_front(list, val, size) \
89 xroad_list_insert(list, NULL, val, size)
Definition: xroad_list.h:32
struct xroad_list_s xroad_list_t
see common/xroad_list.h for deaails
Definition: xroad_common_fwd.h:24
uint32_t xroad_list_get_size(xroad_list_t *list)
xroad_list_entry_t * xroad_list_get_prev(xroad_list_entry_t *entry)
xroad_list_entry_t * xroad_list_get_first(xroad_list_t *list)
xroad_list_entry_t * xroad_list_get_last(xroad_list_t *list)
xroad_list_t * xroad_list_create_ex(xroad_mem_pool_t *pool, xroad_list_free_func_t free_func)
xroad_list_entry_t * xroad_list_get_next(xroad_list_entry_t *entry)
void xroad_list_insert_at(xroad_list_t *list, xroad_list_entry_t *src, xroad_list_entry_t *dst)
void xroad_list_clear(xroad_list_t *list)
xroad_list_entry_t * xroad_list_delete(xroad_list_t *list, xroad_list_entry_t *entry, xroad_list_free_func_t free_func)
void * xroad_list_entry_get_value(xroad_list_entry_t *entry)
void xroad_list_destroy(xroad_list_t *list)
void xroad_list_entry_set_value(xroad_list_entry_t *entry, const void *val, uint32_t size, xroad_list_free_func_t free_func)
void(* xroad_list_free_func_t)(void *, uint32_t)
Definition: xroad_list.h:21
uint32_t xroad_list_entry_get_size(xroad_list_entry_t *entry)
int32_t(* xroad_list_cmp_func_t)(const void *, const void *)
Definition: xroad_list.h:26
xroad_list_entry_t * xroad_list_find(xroad_list_t *list, void *val, xroad_list_cmp_func_t cb)
xroad_list_entry_t * xroad_list_insert(xroad_list_t *list, xroad_list_entry_t *entry, const void *val, uint32_t size)