struct freq { char *word; int freq; struct freq *next; }; typedef struct freq *freq_list; #define fl_empty NULL extern freq_list new_freq_list(); extern freq_list fl_insert(char *word, freq_list fl); extern struct freq *fl_lookup(char *word, freq_list fl); extern void fl_foreach(void (*fn)(char *, int), freq_list fl); extern freq_list fl_destroy(freq_list fl);