chiark / gitweb /
secnet: loadpub interface: Return a closure_t too
[secnet.git] / secnet.h
index 30a171d4da262160443b9029c1c137fe8f69e027..057d399cfe1bf144d763637da43635a4ae0a132a 100644 (file)
--- a/secnet.h
+++ b/secnet.h
@@ -404,10 +404,15 @@ struct sigscheme_info;
 typedef bool_t sigscheme_loadpub(const struct sigscheme_info *algo,
                                 struct buffer_if *pubkeydata,
                                 struct sigpubkey_if **sigpub_r,
+                                closure_t **closure_r,
                                 struct log_if *log, struct cloc loc);
   /* pubkeydata is (supposedly) for this algorithm.
    * loadpub should log an error if it fails.
-   * pubkeydata may be modified (but not freed) */
+   * pubkeydata may be modified (but not freed).
+   * both *sigpub_r and *closure_r must always be written and must
+   * refer to the same object, so on successful return
+   * (*closure_r)->type==CL_SIGPUBKEY
+   * and (*closure_r)->interface==*sigpub_r */
 
 typedef bool_t sigscheme_loadpriv(const struct sigscheme_info *algo,
                                  struct buffer_if *privkeydata,