]> git.notmuchmail.org Git - notmuch/blob - util/crypto.h
Merge branch 'release'
[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     notmuch_decryption_policy_t 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 (bool *attempted,
20                          notmuch_decryption_policy_t decrypt,
21                          notmuch_message_t *message,
22                          GMimeCryptoContext* crypto_ctx,
23                          GMimeMultipartEncrypted *part,
24                          GMimeDecryptResult **decrypt_result,
25                          GError **err);
26
27 #if (GMIME_MAJOR_VERSION < 3)
28 notmuch_status_t
29 _notmuch_crypto_get_gmime_ctx_for_protocol (_notmuch_crypto_t *crypto,
30                                             const char *protocol,
31                                             GMimeCryptoContext **ctx);
32 #endif
33
34 void
35 _notmuch_crypto_cleanup (_notmuch_crypto_t *crypto);
36
37 #endif