#ifndef STRSET_H #define STRSET_H #include "uint_t.h" typedef struct strset_list { uint32 h; int next; } strset_list; typedef struct { int mask; /* mask + 1 is power of 2, size of hash table */ int n; /* number of entries used in list and x */ int a; /* number of entries allocated in list and x */ int *first; /* first[h] is front of hash list h */ strset_list *p; /* p[i].next is next; p[i].h is hash of x[i] */ char **x; /* x[i] is entry i */ } strset; extern uint32 strset_hash(char *); extern int strset_init(strset *); extern char *strset_in(strset *, char *); extern int strset_add(strset *, char *); #endif