summaryrefslogtreecommitdiffstats
path: root/crypto/aes/aes.h
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2005-01-24 14:22:05 +0000
committerAndy Polyakov <appro@openssl.org>2005-01-24 14:22:05 +0000
commit8359421d9047fea25006c2e34868a395d7a402be (patch)
treec59cd656e6619874917a5b6072ac5c8d2db3532d /crypto/aes/aes.h
parentefde5230f1d7bef47a1ee9e33d5bda05cc61ebce (diff)
Default to AES u32 being unsinged int and not long. This improves cache
locality on 64-bit platforms (and fixes IA64 assembler-empowered build:-). The choice is guarded by newly introduced AES_LONG macro, which needs to be defined only on 16-bit platforms which we don't support (not that I know of). Meaning that one could as well skip long option altogether.
Diffstat (limited to 'crypto/aes/aes.h')
-rw-r--r--crypto/aes/aes.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/aes/aes.h b/crypto/aes/aes.h
index 20c4dbc0f7..9ffcc9ff2a 100644
--- a/crypto/aes/aes.h
+++ b/crypto/aes/aes.h
@@ -72,7 +72,11 @@ extern "C" {
/* This should be a hidden type, but EVP requires that the size be known */
struct aes_key_st {
+#ifdef AES_LONG
unsigned long rd_key[4 *(AES_MAXNR + 1)];
+#else
+ unsigned int rd_key[4 *(AES_MAXNR + 1)];
+#endif
int rounds;
};
typedef struct aes_key_st AES_KEY;