home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / trn_12.zip / src / hdbmint.h < prev    next >
Text File  |  1993-12-04  |  541b  |  27 lines

  1. /*
  2.  * general-purpose in-core hashing, dbm interface (internals)
  3.  */
  4.  
  5. #define    STREQ(a, b)    (*(a) == *(b) && strcmp((a), (b)) == 0)
  6.  
  7. #define BADTBL(tbl)    (((tbl)->ht_magic&BYTEMASK) != HASHMAG)
  8.  
  9. #define HASHMAG  0257
  10. #define BYTEMASK 0377
  11.  
  12. #define HASHENT struct hashent
  13.  
  14. HASHENT {
  15.     HASHENT    *he_next;        /* in hash chain */
  16.     HDBMDATUM he_key;        /* to verify a match */
  17.     HDBMDATUM he_data;
  18. };
  19.  
  20. HASHTABLE {
  21.     HASHENT **ht_addr;        /* array of HASHENT pointers */
  22.     unsigned ht_size;
  23.     char    ht_magic;
  24.     unsigned (*ht_hash)();
  25. };
  26.  
  27.