Mercurial > dovecot > core-2.2
annotate src/lib-imap-storage/imap-msgpart-url.h @ 22652:09523ad05bef
director: Log whenever HOST-RESET-USERS is used
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Sun, 05 Nov 2017 22:53:23 +0200 |
parents | a69c48fa4f32 |
children |
rev | line source |
---|---|
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
1 #ifndef IMAP_MSGPART_URL_H |
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
2 #define IMAP_MSGPART_URL_H |
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
3 |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
4 #include "imap-msgpart.h" |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
5 |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
6 struct imap_url; |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
7 struct imap_msgpart; |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
8 struct imap_msgpart_url; |
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
9 |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
10 /* Functions returning int return 1 on success, 0 if URL doesn't point to |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
11 valid mail, -1 on storage error. */ |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
12 |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
13 int imap_msgpart_url_create(struct mail_user *user, const struct imap_url *url, |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
14 struct imap_msgpart_url **url_r, |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
15 const char **error_r); |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
16 int imap_msgpart_url_parse(struct mail_user *user, struct mailbox *selected_box, |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
17 const char *urlstr, struct imap_msgpart_url **url_r, |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
18 const char **error_r); |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
19 |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
20 int imap_msgpart_url_open_mailbox(struct imap_msgpart_url *mpurl, |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
21 struct mailbox **box_r, enum mail_error *error_code_r, |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
22 const char **error_r); |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
23 struct mailbox *imap_msgpart_url_get_mailbox(struct imap_msgpart_url *mpurl); |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
24 int imap_msgpart_url_open_mail(struct imap_msgpart_url *mpurl, |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
25 struct mail **mail_r, const char **error_r); |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
26 |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
27 struct imap_msgpart * |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
28 imap_msgpart_url_get_part(struct imap_msgpart_url *mpurl); |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
29 |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
30 /* Decode MIME parts with Content-Transfer-Encoding: base64/quoted-printable |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
31 to binary data (IMAP BINARY extension). If something can't be decoded, fails |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
32 with storage error set to MAIL_ERROR_CONVERSION. */ |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
33 void imap_msgpart_url_set_decode_to_binary(struct imap_msgpart_url *mpurl); |
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
34 |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
35 /* stream_r is set to NULL when part has zero length, e.g. when partial offset |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
36 is larger than the size of the referenced part */ |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
37 int imap_msgpart_url_read_part(struct imap_msgpart_url *mpurl, |
15047
f82dbf27ba79
lib-imap-storage: Changed imap_msgpart_url API.
Stephan Bosch <stephan@rename-it.nl>
parents:
14594
diff
changeset
|
38 struct imap_msgpart_open_result *result_r, |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
39 const char **error_r); |
15058
a69c48fa4f32
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE
Timo Sirainen <tss@iki.fi>
parents:
15047
diff
changeset
|
40 |
a69c48fa4f32
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE
Timo Sirainen <tss@iki.fi>
parents:
15047
diff
changeset
|
41 int imap_msgpart_url_get_bodypartstructure(struct imap_msgpart_url *mpurl, |
a69c48fa4f32
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE
Timo Sirainen <tss@iki.fi>
parents:
15047
diff
changeset
|
42 const char **bpstruct_r, |
a69c48fa4f32
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE
Timo Sirainen <tss@iki.fi>
parents:
15047
diff
changeset
|
43 const char **error_r); |
a69c48fa4f32
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE
Timo Sirainen <tss@iki.fi>
parents:
15047
diff
changeset
|
44 |
14594
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
45 int imap_msgpart_url_verify(struct imap_msgpart_url *mpurl, |
27c8a6c9088d
Error handling API changes to previous IMAP URL related changes.
Timo Sirainen <tss@iki.fi>
parents:
14591
diff
changeset
|
46 const char **error_r); |
14591
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
47 void imap_msgpart_url_free(struct imap_msgpart_url **mpurl); |
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
48 |
07e6ca397a72
Created lib-imap-storage for IMAP-specific functionality that uses lib-storage.
Stephan Bosch <stephan@rename-it.nl>
parents:
diff
changeset
|
49 #endif |