27 lines
674 B
C
27 lines
674 B
C
#if !defined(__XLIST_H__)
|
|
|
|
#define __XLIST_H__ 1
|
|
|
|
#include <stdarg.h>
|
|
|
|
typedef int (*xlist_iter_fn_t)(void*, void*);
|
|
typedef int (*xlist_find_fn_t)(void*, va_list);
|
|
|
|
typedef struct {
|
|
int count;
|
|
int caps;
|
|
int delta;
|
|
void** data;
|
|
} xlist_t;
|
|
|
|
typedef int (*xlist_action_fn_t)(xlist_t*, void*);
|
|
|
|
extern int xlist_init(xlist_t*, int);
|
|
extern int xlist_store(xlist_t*, void*);
|
|
extern void* xlist_get(xlist_t*, int);
|
|
extern int xlist_del(xlist_t*, void*);
|
|
extern void xlist_clear(xlist_t*);
|
|
extern int xlist_iter(xlist_t*, xlist_iter_fn_t, void*);
|
|
extern void* xlist_find(xlist_t*, xlist_find_fn_t, ...);
|
|
extern void xlist_fini(xlist_t*);
|
|
#endif
|