// Copyright (c) 2021 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "../libs.h" /** * Entry within a given linked list. * @param data* The pointer to the data that is within the entry. * @param prev* Pointer to the previous entry in the list. * @param next* Pointer to the next entry in the list. */ typedef struct listentry_t { void *data; struct listentry_t *prev; struct listentry_t *next; } listentry_t; /** * Linked List of elements, Doubly Linked. * @param size The count of elements currently within the list * @param start* First element within the list. * @param end* Last element within the list. */ typedef struct { uint32_t size; listentry_t *start; listentry_t *end; } list_t;