NeoMutt  2024-03-23-147-g885fbc
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
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 <time.h>
28#include "private.h"
29#include "mutt/lib.h"
30
31struct Mailbox;
32struct ImapAccountData;
33
40{
41 char *name;
42 char *munge_name;
43 char *real_name;
44
47 unsigned int new_mail_count;
48
49 // IMAP STATUS information
50 struct ListHead flags;
51 uint32_t uidvalidity;
52 unsigned int uid_next;
53 unsigned long long modseq;
54 unsigned int messages;
55 unsigned int recent;
56 unsigned int unseen;
57
58 // Cached data used only when the mailbox is opened
60 ARRAY_HEAD(MSNArray, struct Email *) msn;
61 struct BodyCache *bcache;
62
64 struct timespec mtime;
65};
66
67void imap_mdata_free(void **ptr);
68struct ImapMboxData *imap_mdata_get (struct Mailbox *m);
69struct ImapMboxData *imap_mdata_new (struct ImapAccountData *adata, const char* name);
70
71#endif /* MUTT_IMAP_MDATA_H */
void imap_mdata_free(void **ptr)
Free the private Mailbox data - Implements Mailbox::mdata_free() -.
Definition: mdata.c:39
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
uint8_t ImapOpenFlags
Flags, e.g. MUTT_THREAD_COLLAPSE.
Definition: private.h:62
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:39
A Hash Table.
Definition: hash.h:97
Header Cache.
Definition: lib.h:86
IMAP-specific Account data -.
Definition: adata.h:40
IMAP-specific Mailbox data -.
Definition: mdata.h:40
ImapOpenFlags reopen
Flags, e.g. IMAP_REOPEN_ALLOW.
Definition: mdata.h:45
ARRAY_HEAD(MSNArray, struct Email *) msn
look up headers by (MSN-1)
unsigned int uid_next
Definition: mdata.h:52
unsigned int messages
Definition: mdata.h:54
struct HeaderCache * hcache
Email header cache.
Definition: mdata.h:63
struct ListHead flags
Definition: mdata.h:50
char * real_name
Original Mailbox name, e.g.: INBOX can be just \0.
Definition: mdata.h:43
struct BodyCache * bcache
Email body cache.
Definition: mdata.h:61
unsigned int recent
Definition: mdata.h:55
unsigned int new_mail_count
Set when EXISTS notifies of new mail.
Definition: mdata.h:47
struct HashTable * uid_hash
Hash Table: "uid" -> Email.
Definition: mdata.h:59
struct timespec mtime
Time Mailbox was last changed.
Definition: mdata.h:64
unsigned long long modseq
Definition: mdata.h:53
ImapOpenFlags check_status
Flags, e.g. IMAP_NEWMAIL_PENDING.
Definition: mdata.h:46
char * munge_name
Munged version of the mailbox name.
Definition: mdata.h:42
uint32_t uidvalidity
Definition: mdata.h:51
char * name
Mailbox name.
Definition: mdata.h:41
unsigned int unseen
Definition: mdata.h:56
A mailbox.
Definition: mailbox.h:79
Time value with nanosecond precision.
Definition: file.h:51