Lines Matching refs:mail

7 #include "index-mail.h"
19 static void mbox_prepare_resync(struct mail *mail)
21 struct mbox_transaction_context *t = MBOX_TRANSCTX(mail->transaction);
22 struct mbox_mailbox *mbox = MBOX_MAILBOX(mail->box);
32 static int mbox_mail_seek(struct index_mail *mail)
34 struct mail *_mail = &mail->mail.mail;
110 static int mbox_mail_get_received_date(struct mail *_mail, time_t *date_r)
112 struct index_mail *mail = INDEX_MAIL(_mail);
113 struct index_mail_data *data = &mail->data;
119 if (mbox_mail_seek(mail) < 0)
133 static int mbox_mail_get_save_date(struct mail *_mail, time_t *date_r)
135 struct index_mail *mail = INDEX_MAIL(_mail);
136 struct index_mail_data *data = &mail->data;
150 mbox_mail_get_md5_header(struct index_mail *mail, const char **value_r)
152 struct mail *_mail = &mail->mail.mail;
158 if (mail->data.guid != NULL) {
159 *value_r = mail->data.guid;
166 mail->data.guid = p_strdup(mail->mail.data_pool,
168 *value_r = mail->data.guid;
179 mbox_mail_get_special(struct mail *_mail, enum mail_fetch_field field,
182 struct index_mail *mail = INDEX_MAIL(_mail);
190 if (mbox_mail_seek(mail) < 0)
197 if ((ret = mbox_mail_get_md5_header(mail, value_r)) != 0)
224 if ((ret = mbox_mail_get_md5_header(mail, value_r)) == 0) {
238 mbox_mail_get_next_offset(struct index_mail *mail, uoff_t *next_offset_r)
240 struct mbox_mailbox *mbox = MBOX_MAILBOX(mail->mail.mail.box);
249 hdr = mail_index_get_header(mail->mail.mail.transaction->view);
250 if (mail->mail.mail.seq > hdr->messages_count) {
263 view = mail_index_view_open(mail->mail.mail.box->index);
265 if (!mail_index_lookup_seq(view, mail->mail.mail.uid, &seq))
272 } else if (mail->mail.mail.box->input != NULL) {
286 static int mbox_mail_get_physical_size(struct mail *_mail, uoff_t *size_r)
288 struct index_mail *mail = INDEX_MAIL(_mail);
289 struct index_mail_data *data = &mail->data;
311 if (mbox_mail_get_next_offset(mail, &next_offset) > 0)
330 static int mbox_mail_init_stream(struct index_mail *mail)
332 struct mbox_mailbox *mbox = MBOX_MAILBOX(mail->mail.mail.box);
337 if (mbox_mail_seek(mail) < 0)
340 ret = mbox_mail_get_next_offset(mail, &next_offset);
342 if (mbox_mail_seek(mail) < 0)
344 ret = mbox_mail_get_next_offset(mail, &next_offset);
348 mail->mail.mail.uid);
354 mail_set_critical(&mail->mail.mail,
364 mail->data.stream =
373 static int mbox_mail_get_stream(struct mail *_mail, bool get_body ATTR_UNUSED,
378 struct index_mail *mail = INDEX_MAIL(_mail);
380 if (mail->data.stream == NULL) {
381 if (mbox_mail_init_stream(mail) < 0)
385 return index_mail_init_stream(mail, hdr_size, body_size, stream_r);
388 static void mbox_mail_set_seq(struct mail *_mail, uint32_t seq, bool saving)
390 struct index_mail *mail = INDEX_MAIL(_mail);
393 mail->data.dont_cache_fetch_fields |= MAIL_FETCH_PHYSICAL_SIZE;
396 static bool mbox_mail_set_uid(struct mail *_mail, uint32_t uid)
398 struct index_mail *mail = INDEX_MAIL(_mail);
402 mail->data.dont_cache_fetch_fields |= MAIL_FETCH_PHYSICAL_SIZE;