#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