ndbhf.h 746 B

123456789101112131415161718192021222324252627
  1. /* a hash file */
  2. struct Ndbhf
  3. {
  4. Ndbhf *next;
  5. int fd;
  6. ulong dbmtime; /* mtime of data base */
  7. int hlen; /* length (in entries) of hash table */
  8. char attr[Ndbalen]; /* attribute hashed */
  9. uchar buf[256]; /* hash file buffer */
  10. long off; /* offset of first byte of buffer */
  11. int len; /* length of valid data in buffer */
  12. };
  13. char* _ndbparsetuple(char*, Ndbtuple**);
  14. Ndbtuple* _ndbparseline(char*);
  15. #define ISWHITE(x) ((x) == ' ' || (x) == '\t' || (x) == '\r')
  16. #define EATWHITE(x) while(ISWHITE(*(x)))(x)++
  17. extern Ndbtuple *_ndbtfree;
  18. /* caches */
  19. void _ndbcacheflush(Ndb *db);
  20. int _ndbcachesearch(Ndb *db, Ndbs *s, char *attr, char *val, Ndbtuple **t);
  21. Ndbtuple* _ndbcacheadd(Ndb *db, Ndbs *s, char *attr, char *val, Ndbtuple *t);