diff options
author | lloyd <lloyd@randombit.net> | 2009-12-16 22:53:25 +0000 |
---|---|---|
committer | lloyd <lloyd@randombit.net> | 2009-12-16 22:53:25 +0000 |
commit | f3f36611db8c3f6c67c818d454973a0165b0fcf2 (patch) | |
tree | 1fc131e32869e00eb7c87e70bee53fe26bc276b3 /src/engine/gnump/gnump_engine.h | |
parent | e65ec3c8aae63d8c1942ce786d3b8c1f68a81e91 (diff) |
Add missing BOTAN_DLL exports.
Move most of the engine headers to internal
Diffstat (limited to 'src/engine/gnump/gnump_engine.h')
-rw-r--r-- | src/engine/gnump/gnump_engine.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/engine/gnump/gnump_engine.h b/src/engine/gnump/gnump_engine.h new file mode 100644 index 000000000..ec4a7e721 --- /dev/null +++ b/src/engine/gnump/gnump_engine.h @@ -0,0 +1,57 @@ +/* +* GMP Engine +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_ENGINE_GMP_H__ +#define BOTAN_ENGINE_GMP_H__ + +#include <botan/engine.h> + +namespace Botan { + +/* +* GMP Engine +*/ +class GMP_Engine : public Engine + { + public: + std::string provider_name() const { return "gmp"; } + +#if defined(BOTAN_HAS_IF_PUBLIC_KEY_FAMILY) + IF_Operation* if_op(const BigInt&, const BigInt&, const BigInt&, + const BigInt&, const BigInt&, const BigInt&, + const BigInt&, const BigInt&) const; +#endif + +#if defined(BOTAN_HAS_DSA) + DSA_Operation* dsa_op(const DL_Group&, const BigInt&, + const BigInt&) const; +#endif + +#if defined(BOTAN_HAS_NYBERG_RUEPPEL) + NR_Operation* nr_op(const DL_Group&, const BigInt&, const BigInt&) const; +#endif + +#if defined(BOTAN_HAS_ELGAMAL) + ELG_Operation* elg_op(const DL_Group&, const BigInt&, + const BigInt&) const; +#endif + +#if defined(BOTAN_HAS_DIFFIE_HELLMAN) + DH_Operation* dh_op(const DL_Group&, const BigInt&) const; +#endif + + Modular_Exponentiator* mod_exp(const BigInt&, + Power_Mod::Usage_Hints) const; + + GMP_Engine(); + private: + static void set_memory_hooks(); + }; + +} + +#endif |