Added SILC Thread Queue API
[silc.git] / lib / silccrypt / silcpkcs_i.h
index 1321f0a3d31279d6250cd8912f83feaba2ac2d87..62df5108857e74f4414f80a75c0816cbb848a3df 100644 (file)
@@ -34,7 +34,7 @@
 
 #define SILC_PKCS_ALG_IMPORT_PUBLIC_KEY(name)                          \
   int name(const struct SilcPKCSAlgorithmStruct *pkcs,                 \
-          void *key, SilcUInt32 key_len,                               \
+          void *key, SilcUInt32 key_len,                       \
           void **ret_public_key)
 
 #define SILC_PKCS_ALG_EXPORT_PUBLIC_KEY(name)                          \
@@ -60,7 +60,8 @@
 
 #define SILC_PKCS_ALG_IMPORT_PRIVATE_KEY(name)                         \
   int name(const struct SilcPKCSAlgorithmStruct *pkcs,                 \
-          void *key, SilcUInt32 key_len, void **ret_private_key)
+          void *key, SilcUInt32 key_len,                               \
+          void **ret_private_key)
 
 #define SILC_PKCS_ALG_EXPORT_PRIVATE_KEY(name)                         \
   unsigned char *name(const struct SilcPKCSAlgorithmStruct *pkcs,      \
                          SilcUInt32 src_len,                           \
                          SilcBool compute_hash,                        \
                          SilcHash hash,                                \
+                         SilcRng rng,                                  \
                          SilcPKCSSignCb sign_cb,                       \
                          void *context)
 
                          unsigned char *data,                          \
                          SilcUInt32 data_len,                          \
                          SilcHash hash,                                \
+                         SilcRng rng,                                  \
                          SilcPKCSVerifyCb verify_cb,                   \
                          void *context)
 
@@ -189,9 +192,10 @@ struct SilcPKCSAlgorithmStruct {
                SilcPKCSFileEncoding encoding, void **ret_public_key,   \
                const struct SilcPKCSAlgorithmStruct **ret_alg)
 
-#define SILC_PKCS_IMPORT_PUBLIC_KEY(name)                      \
-  int name(const struct SilcPKCSObjectStruct *pkcs, void *key, \
-          SilcUInt32 key_len, void **ret_public_key,           \
+#define SILC_PKCS_IMPORT_PUBLIC_KEY(name)                              \
+  int name(const struct SilcPKCSObjectStruct *pkcs,                    \
+          const struct SilcPKCSAlgorithmStruct *alg,                   \
+          void *key, SilcUInt32 key_len, void **ret_public_key,        \
           const struct SilcPKCSAlgorithmStruct **ret_alg)
 
 #define SILC_PKCS_EXPORT_PUBLIC_KEY_FILE(name)                 \
@@ -225,9 +229,10 @@ struct SilcPKCSAlgorithmStruct {
                SilcPKCSFileEncoding encoding, void **ret_private_key,  \
                const struct SilcPKCSAlgorithmStruct **ret_alg)
 
-#define SILC_PKCS_IMPORT_PRIVATE_KEY(name)                     \
-  int name(const struct SilcPKCSObjectStruct *pkcs, void *key, \
-          SilcUInt32 key_len, void **ret_private_key,          \
+#define SILC_PKCS_IMPORT_PRIVATE_KEY(name)                             \
+  int name(const struct SilcPKCSObjectStruct *pkcs,                    \
+          const struct SilcPKCSAlgorithmStruct *alg,                   \
+          void *key, SilcUInt32 key_len, void **ret_private_key,       \
           const struct SilcPKCSAlgorithmStruct **ret_alg)
 
 #define SILC_PKCS_EXPORT_PRIVATE_KEY_FILE(name)                                \
@@ -271,6 +276,7 @@ struct SilcPKCSAlgorithmStruct {
                          SilcUInt32 src_len,                           \
                          SilcBool compute_hash,                        \
                          SilcHash hash,                                \
+                         SilcRng rng,                                  \
                          SilcPKCSSignCb sign_cb,                       \
                          void *context)
 
@@ -282,6 +288,7 @@ struct SilcPKCSAlgorithmStruct {
                          unsigned char *data,                          \
                          SilcUInt32 data_len,                          \
                          SilcHash hash,                                \
+                         SilcRng rng,                                  \
                          SilcPKCSVerifyCb verify_cb,                   \
                          void *context)
 
@@ -352,4 +359,8 @@ struct SilcPKCSObjectStruct {
   SILC_PKCS_VERIFY((*verify));
 };
 
+/* Backwards support for PKCS API */
+
+#define silc_pkcs_get_context silc_pkcs_public_key_get_pkcs
+
 #endif /* SILCPKCS_I_H */