X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fbf%2Fblowfish.h;h=02f73b2f309f427a0014018aa7e84fbe633c6b34;hb=b52d109518e507136177cefd150b505aa1f3b856;hp=4e5698f3d7a7a431b515722574acc209b52b0770;hpb=bb8e7ab7563a87dea090823ab13b2a6685f17c98;p=oweals%2Fopenssl.git diff --git a/crypto/bf/blowfish.h b/crypto/bf/blowfish.h index 4e5698f3d7..02f73b2f30 100644 --- a/crypto/bf/blowfish.h +++ b/crypto/bf/blowfish.h @@ -63,11 +63,32 @@ extern "C" { #endif +#ifdef NO_BF +#error BF is disabled. +#endif + #define BF_ENCRYPT 1 #define BF_DECRYPT 0 -#ifdef WIN16 +/* + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! + * ! BF_LONG_LOG2 has to be defined along. ! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + */ + +#if defined(WIN16) || defined(__LP32__) +#define BF_LONG unsigned long +#elif defined(_CRAY) || defined(__ILP64__) #define BF_LONG unsigned long +#define BF_LONG_LOG2 3 +/* + * _CRAY note. I could declare short, but I have no idea what impact + * does it have on performance on none-T3E machines. I could declare + * int, but at least on C90 sizeof(int) can be chosen at compile time. + * So I've chosen long... + * + */ #else #define BF_LONG unsigned int #endif @@ -81,7 +102,6 @@ typedef struct bf_key_st BF_LONG S[4*256]; } BF_KEY; -#ifndef NOPROTO void BF_set_key(BF_KEY *key, int len, unsigned char *data); void BF_ecb_encrypt(unsigned char *in,unsigned char *out,BF_KEY *key, @@ -96,19 +116,6 @@ void BF_ofb64_encrypt(unsigned char *in, unsigned char *out, long length, BF_KEY *schedule, unsigned char *ivec, int *num); const char *BF_options(void); -#else - -void BF_set_key(); -void BF_ecb_encrypt(); -void BF_encrypt(); -void BF_decrypt(); -void BF_cbc_encrypt(); -void BF_cfb64_encrypt(); -void BF_ofb64_encrypt(); -const char *BF_options(); - -#endif - #ifdef __cplusplus } #endif