nesemu/utils/linked_list.h

30 lines
639 B
C
Raw Normal View History

2024-01-16 15:46:22 -05:00
//
// Created by william on 1/16/24.
//
#include <stdbool.h>
#ifndef NESEMULATOR_LINKED_LIST_H
#define NESEMULATOR_LINKED_LIST_H
typedef struct linked_list_node {
struct linked_list_node *previous;
struct linked_list_node *next;
void *data;
} LinkedListNode;
typedef struct linked_list {
LinkedListNode *head;
LinkedListNode *end;
} LinkedList;
LinkedList linked_list_init();
void linked_list_add(LinkedList *list, void *data);
LinkedListNode *linked_list_get_if(LinkedList *list, bool(*predicate)(void *, void *), void* userdata);
void linked_list_uninit(LinkedList *list);
#endif //NESEMULATOR_LINKED_LIST_H