NeoMutt  2023-05-17-16-g61469c
Teaching an old dog new tricks
DOXYGEN
mdata.h
Go to the documentation of this file.
1
23#ifndef MUTT_IMAP_MDATA_H
24#define MUTT_IMAP_MDATA_H
25
26#include <stdint.h>
27#include "private.h"
28#include "mutt/lib.h"
29
30struct Mailbox;
31struct ImapAccountData;
32
39{
40 char *name;
41 char *munge_name;
42 char *real_name;
43
46 unsigned int new_mail_count;
47
48 // IMAP STATUS information
49 struct ListHead flags;
50 uint32_t uidvalidity;
51 unsigned int uid_next;
52 unsigned long long modseq;
53 unsigned int messages;
54 unsigned int recent;
55 unsigned int unseen;
56
57 // Cached data used only when the mailbox is opened
59 ARRAY_HEAD(MSN, struct Email *) msn;
60 struct BodyCache *bcache;
61
63};
64
65void imap_mdata_free(void **ptr);
66struct ImapMboxData *imap_mdata_get (struct Mailbox *m);
67struct ImapMboxData *imap_mdata_new (struct ImapAccountData *adata, const char* name);
68
69#endif /* MUTT_IMAP_MDATA_H */
struct ImapMboxData * imap_mdata_new(struct ImapAccountData *adata, const char *name)
Allocate and initialise a new ImapMboxData structure.
Definition: mdata.c:73
struct ImapMboxData * imap_mdata_get(struct Mailbox *m)
Get the Mailbox data for this mailbox.
Definition: mdata.c:60
void imap_mdata_free(void **ptr)
Free the private Mailbox data - Implements Mailbox::mdata_free()
Definition: mdata.c:40
uint8_t ImapOpenFlags
Flags, e.g. MUTT_THREAD_COLLAPSE.
Definition: private.h:64
Convenience wrapper for the library headers.
GUI display the mailboxes in a side panel.
Local cache of email bodies.
Definition: bcache.c:51
The envelope/body of an email.
Definition: email.h:37
A Hash Table.
Definition: hash.h:98
Header cache structure.
Definition: lib.h:88
IMAP-specific Account data -.
Definition: adata.h:40
IMAP-specific Mailbox data -.
Definition: mdata.h:39
ImapOpenFlags reopen
Flags, e.g. IMAP_REOPEN_ALLOW.
Definition: mdata.h:44
unsigned int uid_next
Definition: mdata.h:51
unsigned int messages
Definition: mdata.h:53
struct HeaderCache * hcache
Email header cache.
Definition: mdata.h:62
struct ListHead flags
Definition: mdata.h:49
char * real_name
Original Mailbox name, e.g.: INBOX can be just \0.
Definition: mdata.h:42
struct BodyCache * bcache
Email body cache.
Definition: mdata.h:60
unsigned int recent
Definition: mdata.h:54
unsigned int new_mail_count
Set when EXISTS notifies of new mail.
Definition: mdata.h:46
struct HashTable * uid_hash
Hash Table: "uid" -> Email.
Definition: mdata.h:58
ARRAY_HEAD(MSN, struct Email *) msn
look up headers by (MSN-1)
unsigned long long modseq
Definition: mdata.h:52
ImapOpenFlags check_status
Flags, e.g. IMAP_NEWMAIL_PENDING.
Definition: mdata.h:45
char * munge_name
Munged version of the mailbox name.
Definition: mdata.h:41
uint32_t uidvalidity
Definition: mdata.h:50
char * name
Mailbox name.
Definition: mdata.h:40
unsigned int unseen
Definition: mdata.h:55
A mailbox.
Definition: mailbox.h:79