Overhauled the keygrip computation.
[libgcrypt.git] / src / cipher-proto.h
index ae5492b..39a9101 100644 (file)
@@ -39,6 +39,20 @@ typedef gpg_err_code_t (*selftest_func_t)
      (int algo, selftest_report_func_t report);
 
 
+/* An extended type of the generate function.  */
+typedef gcry_err_code_t (*pk_ext_generate_t)
+     (int algo,
+      unsigned int nbits,
+      unsigned long use_e,
+      unsigned int keygen_flags, 
+      gcry_mpi_t *skey,
+      gcry_mpi_t **retfactors);
+
+/* The type is used to compute the keygrip.  */
+typedef gpg_err_code_t (*pk_comp_keygrip_t)
+     (gcry_md_hd_t md, gcry_sexp_t keyparm);
+
+
 /* Extra module specification structures.  These are used for internal
    modules which provide more functions than available through the
    public algorithm register APIs.  */
@@ -55,6 +69,8 @@ typedef struct md_extra_spec
 typedef struct pk_extra_spec
 {
   selftest_func_t selftest;
+  pk_ext_generate_t ext_generate;
+  pk_comp_keygrip_t comp_keygrip;
 } pk_extra_spec_t;