25#ifndef MUTT_EMAIL_EMAIL_H
26#define MUTT_EMAIL_EMAIL_H
#define ARRAY_HEAD(name, type)
Define a named struct for arrays of elements of a certain type.
struct ListNode * header_update(struct ListNode *hdrnode, const char *header)
Update an existing header.
NotifyHeader
Types of Header Event.
@ NT_HEADER_CHANGE
An existing header has been changed.
@ NT_HEADER_ADD
Header has been added.
@ NT_HEADER_DELETE
Header has been removed.
bool email_cmp_strict(const struct Email *e1, const struct Email *e2)
Strictly compare message emails.
void header_free(struct ListHead *hdrlist, struct ListNode *target)
Free and remove a header from a header list.
ExpandoDataEmail
Expando UIDs for Emails.
@ ED_EMA_DATE_STRF_LOCAL
Email.date_sent.
@ ED_EMA_ATTACHMENT_COUNT
Email, mutt_count_body_parts()
@ ED_EMA_DATE_FORMAT_LOCAL
Email.date_sent.
@ ED_EMA_TAGS_TRANSFORMED
Email.tags, driver_tags_get_transformed()
@ ED_EMA_THREAD_HIDDEN_COUNT
Email.collapsed, Email.num_hidden, ...
@ ED_EMA_DATE_FORMAT
Email.date_sent.
@ ED_EMA_THREAD_TAGS
Email.tags.
@ ED_EMA_SIZE
Body.length.
@ ED_EMA_FLAG_CHARS
Email.deleted, Email.attach_del, ...
@ ED_EMA_THREAD_NUMBER
Email, mutt_messages_in_thread()
@ ED_EMA_TO_CHARS
Email, User_is_recipient()
@ ED_EMA_BODY_CHARACTERS
Body.length.
@ ED_EMA_COMBINED_FLAGS
Email.read, Email.old, thread_is_new(), ...
@ ED_EMA_THREAD_COUNT
Email, mutt_messages_in_thread()
@ ED_EMA_STATUS_FLAGS
Email.deleted, Email.attach_del, ...
@ ED_EMA_NUMBER
Email.msgno.
@ ED_EMA_DATE_STRF
Email.date_sent, Email.zhours, Email.zminutes, Email.zoccident.
@ ED_EMA_FROM_LIST
Envelope.to, Envelope.cc.
@ ED_EMA_SCORE
Email.score.
@ ED_EMA_CRYPTO_FLAGS
Email.security, SecurityFlags.
@ ED_EMA_STRF_RECV_LOCAL
Email.received.
@ ED_EMA_LIST_OR_SAVE_FOLDER
Envelope.to, Envelope.cc, check_for_mailing_list()
@ ED_EMA_INDEX_HOOK
Mailbox, Email, mutt_idxfmt_hook()
@ ED_EMA_LINES
Email.lines.
@ ED_EMA_MESSAGE_FLAGS
Email.tagged, Email.flagged.
size_t email_get_size(const struct Email *e)
Compute the size of an email.
struct Email * email_new(void)
Create a new Email.
NotifyEmail
Types of Email Event.
@ NT_EMAIL_ADD
Email has been added.
@ NT_EMAIL_DELETE
Email is about to be deleted.
@ NT_EMAIL_CHANGE_SECURITY
Email's security settings have changed.
@ NT_EMAIL_DELETE_ALL
All the Emails are about to be deleted.
@ NT_EMAIL_CHANGE
Email has changed.
@ NT_EMAIL_CHANGE_ATTACH
Email's Attachments have changed.
@ NT_EMAIL_CHANGE_ENVELOPE
Email's Envelope has changed.
struct ListNode * header_set(struct ListHead *hdrlist, const char *header)
Set a header value in a list.
struct ListNode * header_add(struct ListHead *hdrlist, const char *header)
Add a header to a list.
void email_free(struct Email **ptr)
Free an Email.
struct ListNode * header_find(const struct ListHead *hdrlist, const char *header)
Find a header, matching on its field, in a list of headers.
Convenience wrapper for the library headers.
API for encryption/signing of emails.
uint16_t SecurityFlags
Flags, e.g. SEC_ENCRYPT.
A curses colour and its attributes.
STAILQ_ENTRY(EmailNode) entries
Linked list.
struct Email * email
Email in the list.
The envelope/body of an email.
bool searched
Email has been searched.
unsigned int zminutes
Minutes away from UTC.
bool matched
Search matches this Email.
bool display_subject
Used for threading.
bool visible
Is this message part of the view?
bool purge
Skip trash folder when deleting.
bool recip_valid
Is_recipient is valid.
bool attach_valid
true when the attachment count is valid
struct Envelope * env
Envelope information.
bool limit_visited
Has the limit pattern been applied to this message?
bool mime
Has a MIME-Version header?
void * edata
Driver-specific data.
bool collapsed
Is this message part of a collapsed thread?
int lines
How many lines in the body of this message?
SecurityFlags security
bit 0-10: flags, bit 11,12: application, bit 13: traditional pgp See: ncrypt/lib.h pgplib....
struct Body * body
List of MIME parts.
bool subject_changed
Used for threading.
bool active
Message is not to be removed.
void * nm_edata
Notmuch private data.
char * tree
Character string to print thread tree.
bool old
Email is seen, but unread.
size_t num_hidden
Number of hidden messages in this view (only valid when collapsed is set)
void(* edata_free)(void **ptr)
bool zoccident
True, if west of UTC, False if east.
bool changed
Email has been edited.
LOFF_T offset
Where in the stream does this message begin?
bool attach_del
Has an attachment marked for deletion.
bool flagged
Marked important?
short attach_total
Number of qualifying attachments in message, if attach_valid.
bool threaded
Used for threading.
const struct AttrColor * attr_color
Color-pair to use when displaying in the index.
unsigned int zhours
Hours away from UTC.
time_t date_sent
Time when the message was sent (UTC)
bool replied
Email has been replied to.
int vnum
Virtual message number.
bool expired
Already expired?
struct TagList tags
For drivers that support server tagging.
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
int msgno
Number displayed to the user.
char * path
Path of Email (for local Mailboxes)
size_t sequence
Sequence number assigned on creation.
bool deleted
Email is deleted.
int index
The absolute (unsorted) message number.
bool trash
Message is marked as trashed on disk (used by the maildir_trash option)
short recipient
User_is_recipient()'s return value, cached.
bool quasi_deleted
Deleted from neomutt, but not modified on disk.
bool tagged
Email is tagged.
bool superseded
Got superseded?
time_t received
Time when the message was placed in the mailbox.
struct MuttThread * thread
Thread of Emails.
An Event that happened to an Email.
int num_emails
Number of Emails the event applies to.
struct Email ** emails
Emails affected by the event.