Add the missing parts for DES CFB1 and CFB8.
[openssl.git] / crypto / des / des.h
index 6e4cdbd9040c55e638d18baba840fba1bca59264..3cbc2b568e9151e3694dc78541bc8da134531692 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#ifndef HEADER_DES_H
-#define HEADER_DES_H
+#ifndef HEADER_NEW_DES_H
+#define HEADER_NEW_DES_H
+
+#include <openssl/e_os2.h>     /* OPENSSL_EXTERN, OPENSSL_NO_DES,
+                                  DES_LONG (via openssl/opensslconf.h */
 
 #ifdef OPENSSL_NO_DES
 #error DES is disabled.
 #endif
 
-#include <openssl/opensslconf.h> /* DES_LONG */
-#include <openssl/e_os2.h>     /* OPENSSL_EXTERN */
-
-#ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT
-# include <openssl/des_old.h>
-#endif
-
 #ifdef OPENSSL_BUILD_SHLIBCRYPTO
 # undef OPENSSL_EXTERN
 # define OPENSSL_EXTERN OPENSSL_EXPORT
@@ -95,6 +91,16 @@ typedef struct DES_ks
        } ks[16];
     } DES_key_schedule;
 
+#ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT
+# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT
+#  define OPENSSL_ENABLE_OLD_DES_SUPPORT
+# endif
+#endif
+
+#ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT
+# include <openssl/des_old.h>
+#endif
+
 #define DES_KEY_SZ     (sizeof(DES_cblock))
 #define DES_SCHEDULE_SZ (sizeof(DES_key_schedule))
 
@@ -181,6 +187,10 @@ void DES_ede3_cfb64_encrypt(const unsigned char *in,unsigned char *out,
                            long length,DES_key_schedule *ks1,
                            DES_key_schedule *ks2,DES_key_schedule *ks3,
                            DES_cblock *ivec,int *num,int enc);
+void DES_ede3_cfb_encrypt(const unsigned char *in,unsigned char *out,
+                         int numbits,long length,DES_key_schedule *ks1,
+                         DES_key_schedule *ks2,DES_key_schedule *ks3,
+                         DES_cblock *ivec,int enc);
 void DES_ede3_ofb64_encrypt(const unsigned char *in,unsigned char *out,
                            long length,DES_key_schedule *ks1,
                            DES_key_schedule *ks2,DES_key_schedule *ks3,