aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstate/engine/sse2_eng
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstate/engine/sse2_eng')
-rw-r--r--src/libstate/engine/sse2_eng/eng_sse2.cpp25
-rw-r--r--src/libstate/engine/sse2_eng/eng_sse2.h24
-rw-r--r--src/libstate/engine/sse2_eng/info.txt15
3 files changed, 64 insertions, 0 deletions
diff --git a/src/libstate/engine/sse2_eng/eng_sse2.cpp b/src/libstate/engine/sse2_eng/eng_sse2.cpp
new file mode 100644
index 000000000..cf5a65114
--- /dev/null
+++ b/src/libstate/engine/sse2_eng/eng_sse2.cpp
@@ -0,0 +1,25 @@
+/**
+* SSE2 Assembly Engine
+* (C) 1999-2008 Jack Lloyd
+*/
+
+#include <botan/eng_sse2.h>
+
+#if defined(BOTAN_HAS_SHA1_SSE2)
+ #include <botan/sha1_sse2.h>
+#endif
+
+namespace Botan {
+
+HashFunction* SSE2_Assembler_Engine::find_hash(const SCAN_Name& request,
+ Algorithm_Factory&) const
+ {
+#if defined(BOTAN_HAS_SHA1_SSE2)
+ if(request.algo_name() == "SHA-160")
+ return new SHA_160_SSE2;
+#endif
+
+ return 0;
+ }
+
+}
diff --git a/src/libstate/engine/sse2_eng/eng_sse2.h b/src/libstate/engine/sse2_eng/eng_sse2.h
new file mode 100644
index 000000000..affbaff2e
--- /dev/null
+++ b/src/libstate/engine/sse2_eng/eng_sse2.h
@@ -0,0 +1,24 @@
+/**
+* SSE2 Assembly Engine
+* (C) 1999-2008 Jack Lloyd
+*/
+
+#ifndef BOTAN_SSE2_ASM_ENGINE_H__
+#define BOTAN_SSE2_ASM_ENGINE_H__
+
+#include <botan/engine.h>
+
+namespace Botan {
+
+class BOTAN_DLL SSE2_Assembler_Engine : public Engine
+ {
+ public:
+ std::string provider_name() const { return "sse2"; }
+ private:
+ HashFunction* find_hash(const SCAN_Name& reqeust,
+ Algorithm_Factory&) const;
+ };
+
+}
+
+#endif
diff --git a/src/libstate/engine/sse2_eng/info.txt b/src/libstate/engine/sse2_eng/info.txt
new file mode 100644
index 000000000..c44180ca4
--- /dev/null
+++ b/src/libstate/engine/sse2_eng/info.txt
@@ -0,0 +1,15 @@
+realname "SSE2 Assembler Engine"
+
+define ENGINE_SSE2_ASSEMBLER
+
+load_on auto
+
+<add>
+eng_sse2.cpp
+eng_sse2.h
+</add>
+
+<arch>
+ia32
+amd64
+</arch>