Lines Matching refs:mail
5 #include "index-mail.h"
12 static const char *cydir_mail_get_path(struct mail *mail)
16 dir = mailbox_get_path(mail->box);
17 return t_strdup_printf("%s/%u.", dir, mail->uid);
20 static int cydir_mail_stat(struct mail *mail, struct stat *st_r)
24 if (mail->lookup_abort == MAIL_LOOKUP_ABORT_NOT_IN_CACHE) {
25 mail_set_aborted(mail);
28 mail->mail_metadata_accessed = TRUE;
30 mail->transaction->stats.stat_lookup_count++;
31 path = cydir_mail_get_path(mail);
34 mail_set_expunged(mail);
36 mail_set_critical(mail, "stat(%s) failed: %m", path);
43 static int cydir_mail_get_received_date(struct mail *_mail, time_t *date_r)
45 struct index_mail *mail = INDEX_MAIL(_mail);
46 struct index_mail_data *data = &mail->data;
60 static int cydir_mail_get_save_date(struct mail *_mail, time_t *date_r)
62 struct index_mail *mail = INDEX_MAIL(_mail);
63 struct index_mail_data *data = &mail->data;
77 static int cydir_mail_get_physical_size(struct mail *_mail, uoff_t *size_r)
79 struct index_mail *mail = INDEX_MAIL(_mail);
80 struct index_mail_data *data = &mail->data;
95 cydir_mail_get_stream(struct mail *_mail, bool get_body ATTR_UNUSED,
100 struct index_mail *mail = INDEX_MAIL(_mail);
105 if (mail->data.stream == NULL) {
121 if (mail->mail.v.istream_opened != NULL) {
122 if (mail->mail.v.istream_opened(_mail, &input) < 0) {
127 mail->data.stream = input;
130 return index_mail_init_stream(mail, hdr_size, body_size, stream_r);