aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/hash/hash_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/hash/hash_utils.h')
-rw-r--r--src/lib/hash/hash_utils.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/hash/hash_utils.h b/src/lib/hash/hash_utils.h
new file mode 100644
index 000000000..00eabe820
--- /dev/null
+++ b/src/lib/hash/hash_utils.h
@@ -0,0 +1,33 @@
+/*
+* Hash Utility Header
+* (C) 2015 Jack Lloyd
+*
+* Botan is released under the Simplified BSD License (see license.txt)
+*/
+
+#ifndef BOTAN_HASH_UTIL_H__
+#define BOTAN_HASH_UTIL_H__
+
+#include <botan/hash.h>
+#include <botan/algo_registry.h>
+#include <botan/loadstor.h>
+#include <botan/rotate.h>
+
+namespace Botan {
+
+#define BOTAN_REGISTER_HASH(name, maker) BOTAN_REGISTER_T(HashFunction, name, maker)
+#define BOTAN_REGISTER_HASH_NOARGS(name) BOTAN_REGISTER_T_NOARGS(HashFunction, name)
+
+#define BOTAN_REGISTER_HASH_1LEN(name, def) BOTAN_REGISTER_T_1LEN(HashFunction, name, def)
+
+#define BOTAN_REGISTER_HASH_NAMED_NOARGS(type, name) \
+ BOTAN_REGISTER_NAMED_T(HashFunction, name, type, make_new_T<type>)
+#define BOTAN_REGISTER_HASH_NAMED_1LEN(type, name, def) \
+ BOTAN_REGISTER_NAMED_T(HashFunction, name, type, (make_new_T_1len<type,def>))
+
+#define BOTAN_REGISTER_HASH_NOARGS_IF(cond, type, name, provider) \
+ BOTAN_COND_REGISTER_NAMED_T_NOARGS(cond, HashFunction, type, name, provider)
+
+}
+
+#endif