summaryrefslogtreecommitdiffabout
path: root/libetpan/include/libetpan/mailprivacy.h
Unidiff
Diffstat (limited to 'libetpan/include/libetpan/mailprivacy.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libetpan/include/libetpan/mailprivacy.h117
1 files changed, 117 insertions, 0 deletions
diff --git a/libetpan/include/libetpan/mailprivacy.h b/libetpan/include/libetpan/mailprivacy.h
new file mode 100644
index 0000000..1f77331
--- a/dev/null
+++ b/libetpan/include/libetpan/mailprivacy.h
@@ -0,0 +1,117 @@
1/*
2 * libEtPan! -- a mail library
3 *
4 * Copyright (C) 2001, 2005 - DINH Viet Hoa
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. Neither the name of the libEtPan! project nor the names of its
16 * contributors may be used to endorse or promote products derived
17 * from this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 * SUCH DAMAGE.
30 */
31
32/*
33 * $Id$
34 */
35
36#ifndef MAILPRIVACY_H
37
38#define MAILPRIVACY_H
39
40#include <libetpan/mailmessage.h>
41#include <libetpan/mailprivacy_types.h>
42#include <libetpan/mailprivacy_tools.h>
43
44struct mailprivacy * mailprivacy_new(char * tmp_dir, int make_alternative);
45
46void mailprivacy_free(struct mailprivacy * privacy);
47
48int mailprivacy_msg_get_bodystructure(struct mailprivacy * privacy,
49 mailmessage * msg_info,
50 struct mailmime ** result);
51
52void mailprivacy_msg_flush(struct mailprivacy * privacy,
53 mailmessage * msg_info);
54
55int mailprivacy_msg_fetch_section(struct mailprivacy * privacy,
56 mailmessage * msg_info,
57 struct mailmime * mime,
58 char ** result, size_t * result_len);
59
60int mailprivacy_msg_fetch_section_header(struct mailprivacy * privacy,
61 mailmessage * msg_info,
62 struct mailmime * mime,
63 char ** result,
64 size_t * result_len);
65
66int mailprivacy_msg_fetch_section_mime(struct mailprivacy * privacy,
67 mailmessage * msg_info,
68 struct mailmime * mime,
69 char ** result,
70 size_t * result_len);
71
72int mailprivacy_msg_fetch_section_body(struct mailprivacy * privacy,
73 mailmessage * msg_info,
74 struct mailmime * mime,
75 char ** result,
76 size_t * result_len);
77
78void mailprivacy_msg_fetch_result_free(struct mailprivacy * privacy,
79 mailmessage * msg_info,
80 char * msg);
81
82int mailprivacy_msg_fetch(struct mailprivacy * privacy,
83 mailmessage * msg_info,
84 char ** result,
85 size_t * result_len);
86
87int mailprivacy_msg_fetch_header(struct mailprivacy * privacy,
88 mailmessage * msg_info,
89 char ** result,
90 size_t * result_len);
91
92int mailprivacy_register(struct mailprivacy * privacy,
93 struct mailprivacy_protocol * protocol);
94
95void mailprivacy_unregister(struct mailprivacy * privacy,
96 struct mailprivacy_protocol * protocol);
97
98char * mailprivacy_get_encryption_name(struct mailprivacy * privacy,
99 char * privacy_driver, char * privacy_encryption);
100
101int mailprivacy_encrypt(struct mailprivacy * privacy,
102 char * privacy_driver, char * privacy_encryption,
103 struct mailmime * mime,
104 struct mailmime ** result);
105
106void mailprivacy_debug(struct mailprivacy * privacy, FILE * f);
107
108carray * mailprivacy_get_protocols(struct mailprivacy * privacy);
109
110int mailprivacy_is_encrypted(struct mailprivacy * privacy,
111 mailmessage * msg,
112 struct mailmime * mime);
113
114void mailprivacy_recursive_unregister_mime(struct mailprivacy * privacy,
115 struct mailmime * mime);
116
117#endif