blob: 2021b2a19cce0bf6730e160e828d5b3c251250b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#ifndef LIST_H
#define LIST_H
#include "../sys/sizes.h"
typedef struct list_node_t__ {
struct list_node_t__ *next;
struct list_node_t__ *previous;
void *value;
} list_node_t;
typedef struct {
list_node_t *first;
list_node_t *last;
u64 size;
} list_t;
list_t *new_list();
list_t *from_array(void **array, u64 size);
void list_append(list_t *list, void *value);
void list_prepend(list_t *list, void *value);
void *pop_first(list_t *list);
void *pop_last(list_t *list);
void free_list(list_t *list);
#endif
|