myxce/src/include/xlist.h
2026-01-12 15:27:54 +08:00

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