3.1.6 Headers
/* Prefix mu_header_ is reserved. */
#include <mailutils/header.h>
So far we plan support for RFC822 and plan for RFC1522. With RFC1522 non-ASCII
characters will be encoded.
— Function: int
mu_header_create (
mu_header_t *hdr, const char *blurb, size_t len, void *owner)
Initialize a hdr to a supported type. If blurb is not NULL,
it is parsed.
— Function: void
mu_header_destroy (
mu_header_t *hdr, void *owner)
The resources allocated for hdr are freed.
— Function: void*
mu_header_get_owner (
mu_header_t *hdr)
— Function: int
mu_header_is_modified (
mu_header_t hdr)
— Function: int
mu_header_clear_modified (
mu_header_t hdr)
— Function: int
mu_header_set_value (
mu_header_t hdr, const char *fn, const char *fv, int n)
Some basic macros are already provided for RFC822.
MU_HEADER_UNIX_FROM- From
MU_HEADER_RETURN_PATH- Return-Path
MU_HEADER_RECEIVED- Received
MU_HEADER_DATE- Date
MU_HEADER_FROM- From
MU_HEADER_SENDER- Sender
MU_HEADER_RESENT_FROM- Resent-From
MU_HEADER_SUBJECT- Subject
MU_HEADER_SENDER- Sender
MU_HEADER_RESENT_SENDER- Resent-SENDER
MU_HEADER_TO- To
MU_HEADER_RESENT_TO- Resent-To
MU_HEADER_CC- Cc
MU_HEADER_RESENT_CC- Resent-Cc
MU_HEADER_BCC- Bcc
MU_HEADER_RESENT_BCC- Resent-Bcc
MU_HEADER_REPLY_TO- Reply-To
MU_HEADER_RESENT_REPLY_TO- Resent-Reply-To
MU_HEADER_MESSAGE_ID- Message-ID
MU_HEADER_RESENT_MESSAGE_ID- Resent-Message-ID
MU_HEADER_IN_REPLY_TO- In-Reply-To
MU_HEADER_REFERENCE- Reference
MU_HEADER_REFERENCES- References
MU_HEADER_ENCRYPTED- Encrypted
MU_HEADER_PRECEDENCE- Precedence
MU_HEADER_STATUS- Status
MU_HEADER_CONTENT_LENGTH- Content-Length
MU_HEADER_CONTENT_LANGUAGE- Content-Language
MU_HEADER_CONTENT_TRANSFER_ENCODING- Content-transfer-encoding
MU_HEADER_CONTENT_ID- Content-ID
MU_HEADER_CONTENT_TYPE- Content-Type
MU_HEADER_CONTENT_DESCRIPTION- Content-Description
MU_HEADER_CONTENT_DISPOSITION- Content-Disposition
MU_HEADER_CONTENT_MD5- Content-MD5
MU_HEADER_MIME_VERSION- MIME-Version
MU_HEADER_X_UIDL- X-UIDL
MU_HEADER_X_UID- X-UID
MU_HEADER_X_IMAPBASE- X-IMAPbase
MU_HEADER_ENV_SENDER- X-Envelope-Sender
MU_HEADER_ENV_DATE- X-Envelope-Date
MU_HEADER_FCC- Fcc
MU_HEADER_DELIVERY_DATE- Delivery-date
MU_HEADER_ENVELOPE_TO- Envelope-to
— Function: int
mu_header_get_value (
mu_header_t hdr, const char *fn, char *fv, size_t len, size_t *n)
Value of field-name fn is returned in buffer fv of size len.
The number of bytes written is put in n.
— Function: int
mu_header_aget_value (
mu_header_t hdr, const char *fn, char **fv)
The value is allocated.
— Function: int
mu_header_get_address (
mu_header_t hdr, const char *buf, address_t *addr)
— Function: int
mu_header_get_stream (
mu_header_t hdr, stream_t *stream)
— Function: int
mu_header_set_stream (
mu_header_t hdr, stream_t stream, void *)
— Function: int
mu_header_get_field_count (
mu_header_t hdr, size_t *count)
— Function: int
mu_header_get_field_value (
mu_header_t hdr, size_t index, char *, size_t, size_t *)
— Function: int
mu_header_get_field_name (
mu_header_t hdr, size_t index, char *, size_t, size_t *)
— Function: int
mu_header_aget_field_value (
mu_header_t hdr, size_t index, char **)
— Function: int
mu_header_aget_field_name (
mu_header_t hdr, size_t index, char **)
— Function: int
mu_header_get_value_unfold (
mu_header_t hdr, const char *name, char *buffer, size_t buflen, size_t *n)
— Function: int
mu_header_aget_value_unfold (
mu_header_t hdr, const char *name, char **value)
— Function: int
mu_header_get_field_value_unfold (
mu_header_t hdr, size_t num, char *buf, size_t buflen, size_t *nwritten)
— Function: int
mu_header_aget_field_value_unfold (
mu_header_t hdr, size_t num, char **value)
;
— Function: int
mu_header_size (
mu_header_t hdr, size_t *)
;
— Function: int
mu_header_lines (
mu_header_t hdr, size_t *)
;
— Function: int
mu_header_set_set_value (
mu_header_t hdr, int (
*_set_value) (
mu_header_t, const char *, const char *, int)
, void *)
;
— Function: int
mu_header_set_get_value (
mu_header_t hdr, int (
*_get_value) (
mu_header_t, const char *, char *, size_t, size_t *)
, void *)
;
— Function: int
mu_header_set_get_fvalue (
mu_header_t hdr, int (
*_get_value) (
mu_header_t, const char *, char *, size_t, size_t *)
, void *)
;
— Function: int
mu_header_set_size (
mu_header_t hdr, int (
*_size) (
mu_header_t, size_t *)
, void *)
;
— Function: int
mu_header_set_lines (
mu_header_t hdr, int (
*_lines) (
mu_header_t, size_t *)
, void *)
;
— Function: int
mu_header_set_fill (
mu_header_t hdr, int (
*_fill) (
mu_header_t, char *, size_t, mu_off_t, size_t *)
, void *owner)
;