31 #define ls_foreach(list, it, pos) \
33 for (it = (list)->head; it && (pos = it->data); it = it->n)
34 #define ls_foreach_safe(list, it, tmp, pos) \
36 for (it = list->head; \
37 it && (pos = it->data) && ((tmp = it->n) || 1); it = tmp)
38 #define ls_foreach_prev(list, it, pos) \
40 for (it = list->tail; it && (pos = it->data); it = it->p)
42 #define ls_iterator(x) (x) ? (x)->head : NULL
44 #define ls_empty(x) (!x || !x->length)
45 #define ls_head(x) x->head
46 #define ls_tail(x) x->tail
48 #define ls_iter_get(x) \
51 #define ls_iter_next(x) (x ? 1 : 0)
52 #define ls_iter_cur(x) x->p
53 #define ls_iter_unref(x) x
54 #define ls_length(x) x->length
75 #define ls_push(x, y) ls_append(x, y)
static RzILOpEffect * cmp(cs_insn *insn, bool is_thumb)
static void freefn(HtName_(Ht) *ht, HT_(Kv) *kv)
static void list(RzEgg *egg)
RZ_API void ls_split_iter(SdbList *list, SdbListIter *iter)
RZ_API void * ls_pop_head(SdbList *list)
RZ_API void ls_split(SdbList *list, void *ptr)
RZ_API void ls_reverse(SdbList *list)
RZ_API SdbList * ls_new(void)
RZ_API void ls_destroy(SdbList *list)
int(* SdbListComparator)(const void *a, const void *b)
RZ_API bool ls_delete_data(SdbList *list, void *ptr)
RZ_API SdbListIter * ls_append(SdbList *list, void *data)
void(* SdbListFree)(void *ptr)
RZ_API SdbListIter * ls_prepend(SdbList *list, void *data)
RZ_API void * ls_pop(SdbList *list)
RZ_API void * ls_get_top(SdbList *list)
RZ_API void ls_free(SdbList *list)
RZ_API SdbListIter * ls_insert(SdbList *list, int n, void *data)
struct ls_iter_t SdbListIter
RZ_API int ls_join(SdbList *first, SdbList *second)
RZ_API void * ls_get_n(SdbList *list, int n)
RZ_API void ls_iter_init(SdbListIter *iter, SdbList *list)
RZ_API int ls_del_n(SdbList *list, int n)
RZ_API bool ls_merge_sort(SdbList *list, SdbListComparator cmp)
RZ_API SdbList * ls_clone(SdbList *list)
RZ_API bool ls_sort(SdbList *list, SdbListComparator cmp)
RZ_API void ls_delete(SdbList *list, SdbListIter *iter)
RZ_API SdbListIter * ls_item_new(void *data)
RZ_API SdbList * ls_newf(SdbListFree freefn)
RZ_API void ls_unlink(SdbList *list, void *ptr)