diff options
author | lloyd <[email protected]> | 2008-11-11 04:55:51 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-11-11 04:55:51 +0000 |
commit | 1a3ab9bf2aba7910e0cfff760635b68589089888 (patch) | |
tree | 66ce9d822fe5f8163d60b86ffe252be639503645 /src/libstate/engine/amd64_eng | |
parent | 54f82a91844808eb1612080427fb64d44c486aad (diff) |
Split asm_engine into three engines (ia32, amd64, sse2). This allows
them to be individually requested as providers on lookup.
Diffstat (limited to 'src/libstate/engine/amd64_eng')
-rw-r--r-- | src/libstate/engine/amd64_eng/eng_amd64.cpp | 25 | ||||
-rw-r--r-- | src/libstate/engine/amd64_eng/eng_amd64.h | 24 | ||||
-rw-r--r-- | src/libstate/engine/amd64_eng/info.txt | 14 |
3 files changed, 63 insertions, 0 deletions
diff --git a/src/libstate/engine/amd64_eng/eng_amd64.cpp b/src/libstate/engine/amd64_eng/eng_amd64.cpp new file mode 100644 index 000000000..bdc73fdd6 --- /dev/null +++ b/src/libstate/engine/amd64_eng/eng_amd64.cpp @@ -0,0 +1,25 @@ +/** +* AMD64 Assembly Implementation Engine +* (C) 1999-2008 Jack Lloyd +*/ + +#include <botan/eng_amd64.h> + +#if defined(BOTAN_HAS_SHA1_AMD64) + #include <botan/sha1_amd64.h> +#endif + +namespace Botan { + +HashFunction* AMD64_Assembler_Engine::find_hash(const SCAN_Name& request, + Algorithm_Factory&) const + { +#if defined(BOTAN_HAS_SHA1_AMD64) + if(request.algo_name() == "SHA-160") + return new SHA_160_AMD64; +#endif + + return 0; + } + +} diff --git a/src/libstate/engine/amd64_eng/eng_amd64.h b/src/libstate/engine/amd64_eng/eng_amd64.h new file mode 100644 index 000000000..efd8c2b76 --- /dev/null +++ b/src/libstate/engine/amd64_eng/eng_amd64.h @@ -0,0 +1,24 @@ +/** +* x86-64 Assembly Implementation Engines +* (C) 1999-2008 Jack Lloyd +*/ + +#ifndef BOTAN_AMD64_ASM_ENGINE_H__ +#define BOTAN_AMD64_ASM_ENGINE_H__ + +#include <botan/engine.h> + +namespace Botan { + +class BOTAN_DLL AMD64_Assembler_Engine : public Engine + { + public: + std::string provider_name() const { return "amd64"; } + private: + HashFunction* find_hash(const SCAN_Name& reqeust, + Algorithm_Factory&) const; + }; + +} + +#endif diff --git a/src/libstate/engine/amd64_eng/info.txt b/src/libstate/engine/amd64_eng/info.txt new file mode 100644 index 000000000..1d0283ad6 --- /dev/null +++ b/src/libstate/engine/amd64_eng/info.txt @@ -0,0 +1,14 @@ +realname "AMD64 Assembler Engine" + +define ENGINE_AMD64_ASSEMBLER + +load_on auto + +<add> +eng_amd64.cpp +eng_amd64.h +</add> + +<arch> +amd64 +</arch> |