xref: /plan9/sys/src/cmd/upas/bayes/hash.h (revision 2b7fd5ad60cbf9e248990b50b4a1bb48558eb326)
14246b616SDavid du Colombier typedef struct Stringtab	Stringtab;
24246b616SDavid du Colombier struct Stringtab {
34246b616SDavid du Colombier 	Stringtab *link;
44246b616SDavid du Colombier 	Stringtab *hash;
54246b616SDavid du Colombier 	char *str;
64246b616SDavid du Colombier 	int n;
74246b616SDavid du Colombier 	int count;
8*2b7fd5adSDavid du Colombier 	int date;
94246b616SDavid du Colombier };
104246b616SDavid du Colombier 
114246b616SDavid du Colombier typedef struct Hash Hash;
124246b616SDavid du Colombier struct Hash
134246b616SDavid du Colombier {
144246b616SDavid du Colombier 	int sorted;
154246b616SDavid du Colombier 	Stringtab **stab;
164246b616SDavid du Colombier 	int nstab;
174246b616SDavid du Colombier 	int ntab;
184246b616SDavid du Colombier 	Stringtab *all;
194246b616SDavid du Colombier };
204246b616SDavid du Colombier 
214246b616SDavid du Colombier Stringtab *findstab(Hash*, char*, int, int);
224246b616SDavid du Colombier Stringtab *sortstab(Hash*);
234246b616SDavid du Colombier 
244246b616SDavid du Colombier int Bwritehash(Biobuf*, Hash*);	/* destroys hash */
254246b616SDavid du Colombier void Breadhash(Biobuf*, Hash*, int);
264246b616SDavid du Colombier void freehash(Hash*);
274246b616SDavid du Colombier Biobuf *Bopenlock(char*, int);
28