31 lines
801 B
C
31 lines
801 B
C
// 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; |