aboutsummaryrefslogtreecommitdiffstats
path: root/include/aes.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-04-21 15:53:32 +0000
committerlloyd <[email protected]>2008-04-21 15:53:32 +0000
commit90224856d6cc454eba6d5eacf4439b2d732acd65 (patch)
tree284a7afe5ede70c79878dad222891fa155f60512 /include/aes.h
parent272a8523e3c19e1c297b335a316a335db6c7128d (diff)
Add BOTAN_DLL macro in all needed spots for working DLL export. Based
on a patch from Joel Low for MSVC, modified and tested with GCC using -fvisibility=hidden and the visibility attribute. Getting this working completely requires making the shared object and static lib builds completely distinct (which is also a win since it allows avoiding -fPIC usage, etc in the static lib). Currently too many things are being exported, though it is an improvement as internal-only code like the bigint_* functions are hidden.
Diffstat (limited to 'include/aes.h')
-rw-r--r--include/aes.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/include/aes.h b/include/aes.h
index 6e336f026..5b43735ad 100644
--- a/include/aes.h
+++ b/include/aes.h
@@ -13,7 +13,7 @@ namespace Botan {
/*************************************************
* AES *
*************************************************/
-class AES : public BlockCipher
+class BOTAN_DLL AES : public BlockCipher
{
public:
void clear() throw();
@@ -26,8 +26,11 @@ class AES : public BlockCipher
void dec(const byte[], byte[]) const;
void key(const byte[], u32bit);
static u32bit S(u32bit);
- static const byte SE[256], SD[256];
- static const u32bit TE[1024], TD[1024];
+
+ static const byte SE[256];
+ static const byte SD[256];
+ static const u32bit TE[1024];
+ static const u32bit TD[1024];
SecureBuffer<u32bit, 52> EK, DK;
SecureBuffer<byte, 32> ME, MD;
u32bit ROUNDS;
@@ -36,7 +39,7 @@ class AES : public BlockCipher
/*************************************************
* AES-128 *
*************************************************/
-class AES_128 : public AES
+class BOTAN_DLL AES_128 : public AES
{
public:
std::string name() const { return "AES-128"; }
@@ -47,7 +50,7 @@ class AES_128 : public AES
/*************************************************
* AES-192 *
*************************************************/
-class AES_192 : public AES
+class BOTAN_DLL AES_192 : public AES
{
public:
std::string name() const { return "AES-192"; }
@@ -58,7 +61,7 @@ class AES_192 : public AES
/*************************************************
* AES-256 *
*************************************************/
-class AES_256 : public AES
+class BOTAN_DLL AES_256 : public AES
{
public:
std::string name() const { return "AES-256"; }