diff options
Diffstat (limited to 'src/lib/hash-decl.h')
-rw-r--r-- | src/lib/hash-decl.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/hash-decl.h b/src/lib/hash-decl.h new file mode 100644 index 0000000..60fb4e1 --- /dev/null +++ b/src/lib/hash-decl.h @@ -0,0 +1,20 @@ +#ifndef HASH_DECL_H +#define HASH_DECL_H + +#define HASH_TABLE_UNION(key_type, value_type) { \ + struct hash_table *_table; \ + key_type _key; \ + key_type *_keyp; \ + const key_type _const_key; \ + value_type _value; \ + value_type *_valuep; \ + } + +#define HASH_TABLE_DEFINE_TYPE(name, key_type, value_type) \ + union hash ## __ ## name HASH_TABLE_UNION(key_type, value_type) +#define HASH_TABLE(key_type, value_type) \ + union HASH_TABLE_UNION(key_type, value_type) +#define HASH_TABLE_TYPE(name) \ + union hash ## __ ## name + +#endif |