diff options
author | lloyd <[email protected]> | 2008-04-21 15:53:32 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-04-21 15:53:32 +0000 |
commit | 90224856d6cc454eba6d5eacf4439b2d732acd65 (patch) | |
tree | 284a7afe5ede70c79878dad222891fa155f60512 /include/aes.h | |
parent | 272a8523e3c19e1c297b335a316a335db6c7128d (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.h | 15 |
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"; } |