For CFB and OFB modes, always create the encryption key.
[oweals/openssl.git] / crypto / mdc2 / mdc2.h
index 0b104be184901f857d3fa1d8ec38febd77b692c3..793a8a0f13fb9fe764eac07f3ea8b32163409250 100644 (file)
 #ifndef HEADER_MDC2_H
 #define HEADER_MDC2_H
 
+#include <openssl/des.h>
+
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
-#include "des.h"
+#ifdef OPENSSL_NO_MDC2
+#error MDC2 is disabled.
+#endif
 
 #define MDC2_BLOCK              8
 #define MDC2_DIGEST_LENGTH      16
@@ -72,25 +76,16 @@ typedef struct mdc2_ctx_st
        {
        int num;
        unsigned char data[MDC2_BLOCK];
-       des_cblock h,hh;
+       DES_cblock h,hh;
        int pad_type; /* either 1 or 2, default 1 */
        } MDC2_CTX;
 
-#ifndef NOPROTO
-
-void MDC2_Init(MDC2_CTX *c);
-void MDC2_Update(MDC2_CTX *c, unsigned char *data, unsigned long len);
-void MDC2_Final(unsigned char *md, MDC2_CTX *c);
-unsigned char *MDC2(unsigned char *d, unsigned long n, unsigned char *md);
 
-#else
-
-void MDC2_Init();
-void MDC2_Update();
-void MDC2_Final();
-unsigned char *MDC2();
-
-#endif
+int MDC2_Init(MDC2_CTX *c);
+int MDC2_Update(MDC2_CTX *c, const unsigned char *data, unsigned long len);
+int MDC2_Final(unsigned char *md, MDC2_CTX *c);
+unsigned char *MDC2(const unsigned char *d, unsigned long n,
+       unsigned char *md);
 
 #ifdef  __cplusplus
 }