hash.h 470 B

123456789101112131415161718192021222324252627
  1. typedef struct Stringtab Stringtab;
  2. struct Stringtab {
  3. Stringtab *link;
  4. Stringtab *hash;
  5. char *str;
  6. int n;
  7. int count;
  8. int date;
  9. };
  10. typedef struct Hash Hash;
  11. struct Hash
  12. {
  13. int sorted;
  14. Stringtab **stab;
  15. int nstab;
  16. int ntab;
  17. Stringtab *all;
  18. };
  19. Stringtab *findstab(Hash*, char*, int, int);
  20. Stringtab *sortstab(Hash*);
  21. int Bwritehash(Biobuf*, Hash*); /* destroys hash */
  22. void Breadhash(Biobuf*, Hash*, int);
  23. void freehash(Hash*);
  24. Biobuf *Bopenlock(char*, int);