#ifndef UC_LLIST_H
#define UC_LLIST_H
#include "unicorn/platform.h"
typedef void (*delete_fn)(void *data);
struct list_item {
struct list_item *next;
void *data;
};
struct list {
struct list_item *head, *tail;
delete_fn delete_fn;
};
struct list *list_new(void);
void list_clear(struct list *list);
void *list_insert(struct list *list, void *data);
void *list_append(struct list *list, void *data);
bool list_remove(struct list *list, void *data);
bool list_exists(struct list *list, void *data);
#endif