VMS support.
[openssl.git] / crypto / des / des.h
index 64c96138868ea2877e70f643f271206ea8f6dacf..55ab48db3cc1ce6de568cdd7804d68e013e0dd10 100644 (file)
 extern "C" {
 #endif
 
+#ifdef NO_DES
+#error DES is disabled.
+#endif
+
 #include <stdio.h>
-#include "opensslconf.h" /* DES_LONG */
+#include <openssl/opensslconf.h> /* DES_LONG */
+#include <openssl/e_os.h>      /* EXTERN */
+
+#ifdef VMS
+#undef des_init_random_number_generator
+#define des_init_random_number_generator des_init_random_num_generator
+#endif
 
 typedef unsigned char des_cblock[8];
 typedef unsigned char *des_cblocks; /* Unfortunately there's no way to say that
@@ -128,11 +138,10 @@ typedef des_key_schedule bit_64;
 #define des_fixup_key_parity des_set_odd_parity
 #define des_check_key_parity check_parity
 
-extern int des_check_key;      /* defaults to false */
-extern int des_rw_mode;                /* defaults to DES_PCBC_MODE */
-extern int des_set_weak_key_flag; /* set the weak key flag */
+EXTERN int des_check_key;      /* defaults to false */
+EXTERN int des_rw_mode;                /* defaults to DES_PCBC_MODE */
+EXTERN int des_set_weak_key_flag; /* set the weak key flag */
 
-#ifndef NOPROTO
 const char *des_options(void);
 void des_ecb3_encrypt(const des_cblock input, des_cblock output,
                      des_key_schedule ks1,des_key_schedule ks2,
@@ -182,9 +191,9 @@ void des_ede3_ofb64_encrypt(const unsigned char *in,unsigned char *out,
 void des_xwhite_in2out(const des_cblock des_key,const des_cblock in_white,
                       des_cblock out_white);
 
-int des_enc_read(int fd,char *buf,int len,des_key_schedule sched,
+int des_enc_read(int fd,void *buf,int len,des_key_schedule sched,
                 des_cblock iv);
-int des_enc_write(int fd,const char *buf,int len,des_key_schedule sched,
+int des_enc_write(int fd,const void *buf,int len,des_key_schedule sched,
                  des_cblock iv);
 char *des_fcrypt(const char *buf,const char *salt, char *ret);
 #if defined(PERL5) || defined(__FreeBSD__)
@@ -226,6 +235,8 @@ int des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify);
 
 /* Extra functions from Mark Murray <mark@grondar.za> */
 void des_cblock_print_file(const des_cblock cb, FILE *fp);
+
+#ifdef FreeBSD
 /* The following functions are not in the normal unix build or the
  * SSLeay build.  When using the SSLeay build, use RAND_seed()
  * and RAND_bytes() instead. */
@@ -234,65 +245,6 @@ void des_init_random_number_generator(des_cblock *key);
 void des_set_random_generator_seed(des_cblock *key);
 void des_set_sequence_number(des_cblock new_sequence_number);
 void des_generate_random_block(des_cblock *block);
-
-#else
-
-char *des_options();
-void des_ecb3_encrypt();
-DES_LONG des_cbc_cksum();
-void des_cbc_encrypt();
-void des_ncbc_encrypt();
-void des_xcbc_encrypt();
-void des_cfb_encrypt();
-void des_ede3_cfb64_encrypt();
-void des_ede3_ofb64_encrypt();
-void des_ecb_encrypt();
-void des_encrypt();
-void des_encrypt2();
-void des_encrypt3();
-void des_decrypt3();
-void des_ede3_cbc_encrypt();
-void des_ede3_cbcm_encrypt();
-int des_enc_read();
-int des_enc_write();
-char *des_fcrypt();
-#ifdef PERL5
-char *des_crypt();
-#else
-char *crypt();
-#endif
-void des_ofb_encrypt();
-void des_pcbc_encrypt();
-DES_LONG des_quad_cksum();
-void des_random_seed();
-void des_random_key();
-int des_read_password();
-int des_read_2passwords();
-int des_read_pw_string();
-void des_set_odd_parity();
-int des_is_weak_key();
-int des_set_key();
-int des_key_sched();
-void des_string_to_key();
-void des_string_to_2keys();
-void des_cfb64_encrypt();
-void des_ofb64_encrypt();
-int des_read_pw();
-void des_xwhite_in2out();
-
-/* Extra functions from Mark Murray <mark@grondar.za> */
-void des_cblock_print_file();
-/* The following functions are not in the normal unix build or the
- * SSLeay build.  When using the SSLeay build, use RAND_seed()
- * and RAND_bytes() instead. */
-#ifdef FreeBSD
-int des_new_random_key();
-void des_init_random_number_generator();
-void des_set_random_generator_seed();
-void des_set_sequence_number();
-void des_generate_random_block();
-#endif
-
 #endif
 
 #ifdef  __cplusplus