4 * Efficient dictionary hash table class.
14 struct hash_tbl_node {
21 struct hash_tbl_node *table;
29 struct hash_table *head;
30 struct hash_tbl_node *where;
33 uint64_t crc64(uint64_t crc, const char *string);
34 uint64_t crc64i(uint64_t crc, const char *string);
35 #define CRC64_INIT UINT64_C(0xffffffffffffffff)
37 struct hash_table *hash_init(void);
38 void **hash_find(struct hash_table *head, const char *string,
39 struct hash_insert *insert);
40 void **hash_findi(struct hash_table *head, const char *string,
41 struct hash_insert *insert);
42 void **hash_add(struct hash_insert *insert, const char *string, void *data);
43 void *hash_iterate(const struct hash_table *head,
44 struct hash_tbl_node **iterator,
46 void hash_free(struct hash_table *head);
48 #endif /* NASM_HASHTBL_H */