Prohibit low level cipher APIs in FIPS mode.
[openssl.git] / crypto / cast / cast.h
index 215356dbe4aad46ec030f51585f9fe889632be32..203922ea2b4cde79fc739fc71828480cc57e621c 100644 (file)
 extern "C" {
 #endif
 
-#ifdef NO_CAST
+#include <openssl/opensslconf.h>
+
+#ifdef OPENSSL_NO_CAST
 #error CAST is disabled.
 #endif
 
 #define CAST_ENCRYPT   1
 #define CAST_DECRYPT   0
 
-#define CAST_LONG unsigned long
+#define CAST_LONG unsigned int
 
 #define CAST_BLOCK     8
 #define CAST_KEY_LENGTH        16
@@ -81,18 +83,22 @@ typedef struct cast_key_st
        int short_key;  /* Use reduced rounds for short key */
        } CAST_KEY;
 
-void CAST_set_key(CAST_KEY *key, int len, unsigned char *data);
-void CAST_ecb_encrypt(unsigned char *in,unsigned char *out,CAST_KEY *key,
-       int enc);
-void CAST_encrypt(CAST_LONG *data,CAST_KEY *key);
-void CAST_decrypt(CAST_LONG *data,CAST_KEY *key);
-void CAST_cbc_encrypt(unsigned char *in, unsigned char *out, long length,
-       CAST_KEY *ks, unsigned char *iv, int enc);
-void CAST_cfb64_encrypt(unsigned char *in, unsigned char *out, long length,
-       CAST_KEY *schedule, unsigned char *ivec, int *num, int enc);
-void CAST_ofb64_encrypt(unsigned char *in, unsigned char *out, long length,
-       CAST_KEY *schedule, unsigned char *ivec, int *num);
+#ifdef OPENSSL_FIPS 
+void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data);
+#endif
+void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data);
+void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAST_KEY *key,
+                     int enc);
+void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key);
+void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key);
+void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length,
+                     const CAST_KEY *ks, unsigned char *iv, int enc);
+void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out,
+                       long length, const CAST_KEY *schedule, unsigned char *ivec,
+                       int *num, int enc);
+void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, 
+                       long length, const CAST_KEY *schedule, unsigned char *ivec,
+                       int *num);
 
 #ifdef  __cplusplus
 }