# undef OPENSSL_ALGORITHM_DEFINES
#endif
+#ifndef NO_BIO
+#include <openssl/bio.h>
+#endif
#ifndef NO_MD2
#include <openssl/md2.h>
#endif
+#ifndef NO_MD4
+#include <openssl/md4.h>
+#endif
#ifndef NO_MD5
#include <openssl/md5.h>
#endif
#ifndef NO_MD5
MD5_CTX md5;
#endif
+#ifndef NO_MD4
+ MD4_CTX md4;
+#endif
#ifndef NO_RIPEMD
RIPEMD160_CTX ripemd160;
#endif
int key_len; /* Default value for variable length ciphers */
int iv_len;
unsigned long flags; /* Various flags */
- int (*init)(EVP_CIPHER_CTX *, unsigned char *, unsigned char *, int); /* init key */
- int (*do_cipher)(EVP_CIPHER_CTX *, unsigned char *, unsigned char *, unsigned int);/* encrypt/decrypt data */
+ int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+ const unsigned char *iv, int enc); /* init key */
+ int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out,
+ const unsigned char *in, unsigned int inl);/* encrypt/decrypt data */
int (*cleanup)(EVP_CIPHER_CTX *); /* cleanup ctx */
int ctx_size; /* how big the ctx needs to be */
int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Populate a ASN1_TYPE with parameters */
int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
-#ifdef HEADER_BIO_H
+#ifndef NO_BIO
BIO_METHOD *BIO_f_md(void);
BIO_METHOD *BIO_f_base64(void);
BIO_METHOD *BIO_f_cipher(void);
EVP_MD *EVP_md_null(void);
EVP_MD *EVP_md2(void);
+EVP_MD *EVP_md4(void);
EVP_MD *EVP_md5(void);
EVP_MD *EVP_sha(void);
EVP_MD *EVP_sha1(void);