51 struct Email *e = *ptr;
139 const char *key_end = strchr(header,
':');
143 const int keylen = key_end - header + 1;
void mutt_body_free(struct Body **ptr)
Free a Body.
bool mutt_body_cmp_strict(const struct Body *b1, const struct Body *b2)
Strictly compare two email Body's.
void nm_edata_free(void **ptr)
Free data attached to an Email.
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.
size_t email_size(const struct Email *e)
Compute the size of an email.
struct Email * email_new(void)
Create a new Email.
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.
struct ListNode * header_update(struct ListNode *hdr, const char *header)
Update an existing header.
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.
Representation of an email.
@ NT_EMAIL_DELETE
Email is about to be deleted.
void mutt_env_free(struct Envelope **ptr)
Free an Envelope.
bool mutt_env_cmp_strict(const struct Envelope *e1, const struct Envelope *e2)
Strictly compare two Envelopes.
Representation of an email header (envelope)
#define mutt_debug(LEVEL,...)
struct ListNode * mutt_list_insert_tail(struct ListHead *h, char *s)
Append a string to the end of a List.
@ LL_NOTIFY
Log of notifications.
void * mutt_mem_calloc(size_t nmemb, size_t size)
Allocate zeroed memory on the heap.
Convenience wrapper for the library headers.
struct Notify * notify_new(void)
Create a new notifications handler.
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
void notify_free(struct Notify **ptr)
Free a notification handler.
char * mutt_str_dup(const char *str)
Copy a string, safely.
bool mutt_istrn_equal(const char *a, const char *b, size_t num)
Check for equality of two strings ignoring case (to a maximum), safely.
@ NT_EMAIL
Email has changed, NotifyEmail, EventEmail.
#define STAILQ_REMOVE(head, elm, type, field)
#define STAILQ_INIT(head)
#define STAILQ_FOREACH(var, head, field)
Convenience wrapper for the send headers.
LOFF_T offset
offset where the actual data begins
LOFF_T length
length (in bytes) of attachment
long hdr_offset
Offset in stream where the headers begin.
The envelope/body of an email.
unsigned int zminutes
Minutes away from UTC.
bool visible
Is this message part of the view?
struct Envelope * env
Envelope information.
bool mime
Has a MIME-Version header?
void * edata
Driver-specific data.
int lines
How many lines in the body of this message?
struct Body * body
List of MIME parts.
void * nm_edata
Notmuch private data.
char * tree
Character string to print thread tree.
void(* edata_free)(void **ptr)
bool zoccident
True, if west of UTC, False if east.
unsigned int zhours
Hours away from UTC.
time_t date_sent
Time when the message was sent (UTC)
struct TagList tags
For drivers that support server tagging.
struct Notify * notify
Notifications: NotifyEmail, EventEmail.
char * path
Path of Email (for local Mailboxes)
size_t sequence
Sequence number assigned on creation.
time_t received
Time when the message was placed in the mailbox.
An Event that happened to an Email.