Change AR to ARX to allow exclusion of fips object modules
[openssl.git] / crypto / camellia / camellia.h
index 1aa1c3ae8c21600cc12fd931c1517f0efd631697..cf0457dd976f80b9e582266b04d75db35f9d2929 100644 (file)
@@ -58,6 +58,8 @@
 #error CAMELLIA is disabled.
 #endif
 
+#include <stddef.h>
+
 #define CAMELLIA_ENCRYPT       1
 #define CAMELLIA_DECRYPT       0
 
@@ -78,8 +80,11 @@ typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match with W
 
 struct camellia_key_st 
        {
-       KEY_TABLE_TYPE rd_key;
-       int bitLength;
+       union   {
+               double d;       /* ensures 64-bit align */
+               KEY_TABLE_TYPE rd_key;
+               } u;
+       int grand_rounds;
        };
 typedef struct camellia_key_st CAMELLIA_KEY;
 
@@ -94,25 +99,22 @@ void Camellia_decrypt(const unsigned char *in, unsigned char *out,
 void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out,
        const CAMELLIA_KEY *key, const int enc);
 void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char *ivec, const int enc);
 void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char *ivec, int *num, const int enc);
 void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char *ivec, int *num, const int enc);
 void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char *ivec, int *num, const int enc);
-void Camellia_cfbr_encrypt_block(const unsigned char *in,unsigned char *out,
-       const int nbits,const CAMELLIA_KEY *key,
-       unsigned char *ivec,const int enc);
 void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char *ivec, int *num);
 void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out,
-       const unsigned long length, const CAMELLIA_KEY *key,
+       size_t length, const CAMELLIA_KEY *key,
        unsigned char ivec[CAMELLIA_BLOCK_SIZE],
        unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE],
        unsigned int *num);