Make sure that NO-RSA applications etc can include evp.h
[openssl.git] / crypto / evp / evp.h
index bc99e8757841f41e1891fc3b94ae221ee17f38ae..16e3719a458975cb990140df248395ccd5a0aeb4 100644 (file)
 #ifndef HEADER_ENVELOPE_H
 #define HEADER_ENVELOPE_H
 
-#ifdef __cplusplus
-extern "C" {
+#ifdef OPENSSL_ALGORITHM_DEFINES
+# include <openssl/opensslconf.h>
+#else
+# define OPENSSL_ALGORITHM_DEFINES
+# include <openssl/opensslconf.h>
+# undef OPENSSL_ALGORITHM_DEFINES
 #endif
 
 #ifndef NO_MD2
@@ -147,6 +151,10 @@ extern "C" {
 #define EVP_PKEY_DSA4  NID_dsaWithSHA1_2
 #define EVP_PKEY_DH    NID_dhKeyAgreement
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Type needs to be a bit field
  * Sub-type needs to be for variations on the method, as in, can it do
  * arbitrary encryption.... */
@@ -421,9 +429,10 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
 #define EVP_MD_size(e)                 ((e)->md_size)
 #define EVP_MD_block_size(e)           ((e)->block_size)
 
+#define EVP_MD_CTX_md(e)               ((e)->digest)
 #define EVP_MD_CTX_size(e)             EVP_MD_size((e)->digest)
 #define EVP_MD_CTX_block_size(e)       EVP_MD_block_size((e)->digest)
-#define EVP_MD_CTX_type(e)             ((e)->digest)
+#define EVP_MD_CTX_type(e)             EVP_MD_type((e)->digest)
 
 #define EVP_CIPHER_nid(e)              ((e)->nid)
 #define EVP_CIPHER_block_size(e)       ((e)->block_size)
@@ -616,16 +625,16 @@ int               EVP_PKEY_bits(EVP_PKEY *pkey);
 int            EVP_PKEY_size(EVP_PKEY *pkey);
 int            EVP_PKEY_assign(EVP_PKEY *pkey,int type,char *key);
 #ifndef NO_RSA
-int            EVP_PKEY_rset_RSA(EVP_PKEY *pkey,RSA *key);
-RSA *          EVP_PKEY_rget_RSA(EVP_PKEY *pkey);
+int            EVP_PKEY_set1_RSA(EVP_PKEY *pkey,RSA *key);
+RSA *          EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
 #endif
 #ifndef NO_DSA
-int            EVP_PKEY_rset_DSA(EVP_PKEY *pkey,DSA *key);
-DSA *          EVP_PKEY_rget_DSA(EVP_PKEY *pkey);
+int            EVP_PKEY_set1_DSA(EVP_PKEY *pkey,DSA *key);
+DSA *          EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
 #endif
 #ifndef NO_DH
-int            EVP_PKEY_rset_DH(EVP_PKEY *pkey,DH *key);
-DH *           EVP_PKEY_rget_DH(EVP_PKEY *pkey);
+int            EVP_PKEY_set1_DH(EVP_PKEY *pkey,DH *key);
+DH *           EVP_PKEY_get1_DH(EVP_PKEY *pkey);
 #endif
 EVP_PKEY *     EVP_PKEY_new(void);
 void           EVP_PKEY_free(EVP_PKEY *pkey);
@@ -693,10 +702,10 @@ void EVP_PBE_cleanup(void);
 #define EVP_F_EVP_PKEY_COPY_PARAMETERS                  103
 #define EVP_F_EVP_PKEY_DECRYPT                          104
 #define EVP_F_EVP_PKEY_ENCRYPT                          105
+#define EVP_F_EVP_PKEY_GET1_DH                          119
+#define EVP_F_EVP_PKEY_GET1_DSA                                 120
+#define EVP_F_EVP_PKEY_GET1_RSA                                 121
 #define EVP_F_EVP_PKEY_NEW                              106
-#define EVP_F_EVP_PKEY_RGET_DH                          119
-#define EVP_F_EVP_PKEY_RGET_DSA                                 120
-#define EVP_F_EVP_PKEY_RGET_RSA                                 121
 #define EVP_F_EVP_SIGNFINAL                             107
 #define EVP_F_EVP_VERIFYFINAL                           108
 #define EVP_F_PKCS5_PBE_KEYIVGEN                        117