]> git.notmuchmail.org Git - notmuch/blob - util/crypto.h
crypto: add _notmuch_crypto_decrypt wrapper function
[notmuch] / util / crypto.h
1 #ifndef _CRYPTO_H
2 #define _CRYPTO_H
3
4 #include <stdbool.h>
5 #include "gmime-extra.h"
6 #include "notmuch.h"
7
8 typedef struct _notmuch_crypto {
9     bool verify;
10     bool decrypt;
11 #if (GMIME_MAJOR_VERSION < 3)
12     GMimeCryptoContext* gpgctx;
13     GMimeCryptoContext* pkcs7ctx;
14     const char *gpgpath;
15 #endif
16 } _notmuch_crypto_t;
17
18 GMimeObject *
19 _notmuch_crypto_decrypt (GMimeCryptoContext* crypto_ctx,
20                          GMimeMultipartEncrypted *part,
21                          GMimeDecryptResult **decrypt_result,
22                          GError **err);
23
24 #if (GMIME_MAJOR_VERSION < 3)
25 notmuch_status_t
26 _notmuch_crypto_get_gmime_ctx_for_protocol (_notmuch_crypto_t *crypto,
27                                             const char *protocol,
28                                             GMimeCryptoContext **ctx);
29 #endif
30
31 void
32 _notmuch_crypto_cleanup (_notmuch_crypto_t *crypto);
33
34 #endif