blob: 6e79ccdb118c6ecce36dc8eed7a6ff23ef82226e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#ifndef __VXGG_REWRITE___LL_H___305861098005___
#define __VXGG_REWRITE___LL_H___305861098005___
#include <stddef.h>
typedef int (*dlinkedlist_freecallback)(void*);
typedef struct dlinkedlist dlinkedlist;
dlinkedlist * dlinkedlist_init(void);
int dlinkedlist_free(dlinkedlist **ll);
int dlinkedlist_insert(dlinkedlist * const ll, void *data, dlinkedlist_freecallback dfreecb);
int dlinkedlist_append(dlinkedlist * const ll, void *data, dlinkedlist_freecallback dfreecb);
void *dlinkedlist_get(const dlinkedlist * const ll, size_t index);
void *dlinkedlist_getfirst(const dlinkedlist * const ll);
void *dlinkedlist_getlast(const dlinkedlist * const ll);
int dlinkedlist_remove(dlinkedlist * const ll, size_t index);
size_t dlinkedlist_size(const dlinkedlist * const ll);
int dlinkedlist_isempty(const dlinkedlist * const ll);
#endif
|