Some more crypto wrapper functions are needed.
[tinc] / src / digest.h
index 80bdf6f..dd9029e 100644 (file)
 #include <gcrypt.h>
 
 typedef struct digest {
-       enum gcry_md_algos algo;
+       int algo;
        int nid;
        uint16_t len;
 } digest_t;
 
-bool digest_open_by_name(struct digest_t *, const char *);
-bool digest_open_by_nid(struct digest_t *, int);
-bool digest_open_sha1(struct digest_t *);
-bool digest_create(struct digest_t *, void *indata, size_t inlen, void *outdata, size_t *outlen);
-bool digest_verify(struct digest_t *, void *indata, size_t inlen, void *digestdata, size_t digestlen);
-int digest_get_nid(struct digest_t *);
+bool digest_open_by_name(struct digest *, const char *);
+bool digest_open_by_nid(struct digest *, int);
+bool digest_open_sha1(struct digest *);
+void digest_close(struct digest *);
+bool digest_create(struct digest *, void *indata, size_t inlen, void *outdata);
+bool digest_verify(struct digest *, void *indata, size_t inlen, void *digestdata);
+int digest_get_nid(const struct digest *);
+size_t digest_length(const struct digest *);
+bool digest_active(const struct digest *);
 
 #endif