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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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