1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#ifndef DBOX_MAIL_H
#define DBOX_MAIL_H
#include "index-mail.h"
struct dbox_mail {
struct index_mail imail;
struct dbox_file *open_file;
uoff_t offset;
};
#define DBOX_MAIL(s) container_of(s, struct dbox_mail, imail.mail.mail)
struct mail *
dbox_mail_alloc(struct mailbox_transaction_context *t,
enum mail_fetch_field wanted_fields,
struct mailbox_header_lookup_ctx *wanted_headers);
void dbox_mail_close(struct mail *mail);
int dbox_mail_get_physical_size(struct mail *mail, uoff_t *size_r);
int dbox_mail_get_virtual_size(struct mail *mail, uoff_t *size_r);
int dbox_mail_get_received_date(struct mail *mail, time_t *date_r);
int dbox_mail_get_save_date(struct mail *_mail, time_t *date_r);
int dbox_mail_get_special(struct mail *mail, enum mail_fetch_field field,
const char **value_r);
int dbox_mail_get_stream(struct mail *_mail, bool get_body ATTR_UNUSED,
struct message_size *hdr_size,
struct message_size *body_size,
struct istream **stream_r);
int dbox_mail_metadata_read(struct dbox_mail *mail, struct dbox_file **file_r);
#endif
|