aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/hash/hash.h
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2016-09-15 09:16:46 -0400
committerJack Lloyd <[email protected]>2016-09-15 09:25:49 -0400
commit04bf8dc51861bab37d6260de8b318dc71ea4bba7 (patch)
tree03cf4b8d607607444049bc2b9880abc4c1fc6a8e /src/lib/hash/hash.h
parenta7eba3629cc0d76444f5241fb4b9e8793ddb61cd (diff)
Add T::provider() to allow user to inquire about implementation used
For block ciphers, stream ciphers, hashes, MACs, and cipher modes. Cipher_Mode already had it, with a slightly different usage.
Diffstat (limited to 'src/lib/hash/hash.h')
-rw-r--r--src/lib/hash/hash.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/hash/hash.h b/src/lib/hash/hash.h
index ac1c22a65..0f35685d4 100644
--- a/src/lib/hash/hash.h
+++ b/src/lib/hash/hash.h
@@ -40,6 +40,13 @@ class BOTAN_DLL HashFunction : public Buffered_Computation
*/
virtual HashFunction* clone() const = 0;
+ /**
+ * @return provider information about this implementation. Default is "base",
+ * might also return "sse2", "avx2", "openssl", or some other arbitrary string.
+ * The return value is guaranteed to point to a string literal constant.
+ */
+ virtual const char* provider() const { return "base"; }
+
HashFunction();
virtual ~HashFunction();