Yet more typesafety.
[openssl.git] / crypto / evp / evp.h
index 88d6d7f896f1e8ee372f08932b15c8fcb4a85d1d..c0f982afb1c952a975b61c89557740811d824bc9 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.... */
@@ -168,7 +176,7 @@ typedef struct evp_pkey_st
 #endif
                } pkey;
        int save_parameters;
-       STACK /*X509_ATTRIBUTE*/ *attributes; /* [ 0 ] */
+       STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */
        } EVP_PKEY;
 
 #define EVP_PKEY_MO_SIGN       0x0001
@@ -617,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);
@@ -694,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