sql.c: Be conservative with what we pass to the mysql library
[nagios-reports-module.git] / hash.h
blob4a681012ee02aaf3af304e777e9c303c0a793cde
1 #ifndef _HASH_H_
2 #define _HASH_H_
3 #include <stdio.h>
5 #define HASH_BUCKETS (1 << 10)
7 struct hash_table;
8 typedef struct hash_table hash_table;
10 #define TABLE hash_table *table
11 extern size_t hash_get_max_entries(TABLE);
12 extern size_t hash_get_num_entries(TABLE);
13 extern size_t hash_table_size(TABLE);
14 extern hash_table *hash_init(size_t buckets);
15 extern void *hash_find(TABLE, const char *key);
16 extern void *hash_find2(TABLE, const char *k1, const char *k2);
17 extern int hash_add(TABLE, const char *key, void *data);
18 extern int hash_add2(TABLE, const char *k1, const char *k2, void *data);
19 extern int hash_add_unique(TABLE, const char *key, void *data);
20 extern int hash_add_unique2(TABLE, const char *k1, const char *k2, void *data);
21 extern void *hash_update(TABLE, const char *key, void *data);
22 extern void *hash_update2(TABLE, const char *k1, const char *k2, void *data);
23 extern void *hash_remove(TABLE, const char *key);
24 extern void *hash_remove2(TABLE, const char *k1, const char *k2);
25 extern void hash_remove_data(TABLE, const char *k1, const void *data);
26 extern void hash_remove_data2(TABLE, const char *k1, const char *k2, const void *data);
27 extern void hash_walk_data(TABLE, int (*walker)(void *data));
28 extern int hash_check_table(TABLE);
29 extern size_t hash_count_entries(TABLE);
30 #endif /* HASH_H */