#ifndef _HTABLE_H_INCLUDED_
#define _HTABLE_H_INCLUDED_
typedef struct HTABLE_INFO {
char *key;
char *value;
struct HTABLE_INFO *next;
struct HTABLE_INFO *prev;
} HTABLE_INFO;
typedef struct HTABLE {
int size;
int used;
HTABLE_INFO **data;
} HTABLE;
extern HTABLE *htable_create(int);
extern HTABLE_INFO *htable_enter(HTABLE *, const char *, char *);
extern HTABLE_INFO *htable_locate(HTABLE *, const char *);
extern char *htable_find(HTABLE *, const char *);
extern void htable_delete(HTABLE *, const char *, void (*) (char *));
extern void htable_free(HTABLE *, void (*) (char *));
extern void htable_walk(HTABLE *, void (*) (HTABLE_INFO *, char *), char *);
extern HTABLE_INFO **htable_list(HTABLE *);
#endif