

#include "keep.h"
typedef struct HLENTRY {char *var; struct HLENTRY *next;} Hlentry;

#define MAX_HASHLIST 5000
typedef struct HLIST {
	Hlentry *table[MAX_HASHLIST];
	int tot;
	int freeat;
	Keeplist *keep;
} Hlist;

int hlist_free(Hlist **h);
int hlist_trim(Hlist *h, int max);
int hlist_find(Hlist *h, char *var);
#define hlist_add(a,b) hlist_add_r(a,b,__FILE__,__LINE__)
int hlist_add_r(Hlist *h, char *var, char *src, int line);
int hlist_add_file(Hlist *h, char *fname);
int hlist_del_file(Hlist *h, char *fname);
int hlist_del(Hlist *h, char *var);
Hlist *hlist_new(void);
int hlist_show(Hlist *h);