#ifndef __FT_H_ #define __FT_H_ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif typedef struct _ftent { struct _ftent *ft_parent; struct _ftent *ft_childs; uint16_t ft_chsize; uint16_t ft_index; char *ft_path; uint16_t ft_pathlen; char *ft_name; uint16_t ft_namelen; uint16_t ft_level; void *ft_data; size_t ft_size; /* for programmers using */ uint16_t ft_opt; } FTENT; typedef struct { struct _ftent *ft_root; void (*ft_datadel)(FTENT *); FTENT * (*ft_datacpy)(FTENT *, void *, size_t); } FT; FT * ft_init(); void ft_close(); FTENT * ft_find(); FTENT * ft_add(); void ft_delete(); int ft_traverse(); #endif /* __FT_H_ */