headers.texi
2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
@example
@code{/* Prefix @emph{header_} is reserve */}
@code{#include <mailutils/header.h>}
@end example
So far we plan support for RFC822 and plan for RFC1522. with RFC1522 non ASCII
characters will be encoded.
@deftypefun int header_create (header_t *@var{hdr}, const char *@var{blurb}, size_t @var{len}, void *@var{owner})
Initialize a @var{hdr} to a supported type. If @var{blurb} is not NULL, it is
parsed.
@end deftypefun
@deftypefun void header_destroy (header_t *@var{hdr}, void *@var{owner})
The resources allocated for @var{hdr} are freed.
@end deftypefun
@deftypefun int header_set_value (header_t @var{hdr}, const char *@var{fn}, const char *@var{fv}, size_t n, int @var{replace})
Set the field-name @var{fn} to field-value @var{fv} of size @var{n} in
@var{hdr}. If @var{replace} is non-zero the initial value is replaced, if zero
it is appended.
Some basic macros are already provided for rfc822.
@table @code
@item MU_HDR_RETURN_PATH
Return-Path
@item MU_HDR_RECEIVED
Received
@item MU_HDR_DATE
Date
@item MU_HDR_FROM
From
@item MU_HDR_RESENT_FROM
Resent-From
@item MU_HDR_SUBJECT
Subject
@item MU_HDR_SENDER
Sender
@item MU_HDR_RESENT_SENDER
Resent-SENDER
@item MU_HDR_TO
To
@item MU_HDR_RESENT_TO
Resent-To
@item MU_HDR_CC
Cc
@item MU_HDR_RESENT_CC
Resent-Cc
@item MU_HDR_BCC
Bcc
@item MU_HDR_RESENT_BCC
Resent-Bcc
@item MU_HDR_REPLY_TO
Reply-To
@item MU_HDR_RESENT_REPLY_TO
Resent-Reply-To
@item MU_HDR_MESSAGE_ID
Message-ID
@item MU_HDR_RESENT_MESSAGE_ID
Resent-Message-ID
@item MU_HDR_IN_REPLY_TO
In-Reply-To
@item MU_HDR_ENCRYPTED
Encrypted
@item MU_HDR_PRECEDENCE
Precedence
@item MU_HDR_STATUS
Status
@item MU_HDR_CONTENT_LENGTH
Content-Length
@item MU_HDR_CONTENT_TYPE
Content-Type
@item MU_HDR_MIME_VERSION
MIME-Version
@end table
@end deftypefun
@deftypefun int header_get_value (header_t @var{hdr}, const char *@var{fn}, char *@var{fv}, size_t @var{len}, size_t *@var{n})
Value of field-name @var{fn} is returned in buffer @var{fv} of size @var{len}.
The number of bytes written is put in @var{n}.
@end deftypefun
@deftypefun int header_aget_value (header_t @var{hdr}, const char *@var{fn}, char **@var{fv})
The value is allocated.
@end deftypefun
@deftypefun int header_get_stream (header_t @var{hdr}, stream_t *@var{pstream})
@end deftypefun
@deftypefun int header_set_size (header_t @var{hdr}, size_t *@var{size})
@end deftypefun
@deftypefun int header_set_lines (header_t @var{hdr}, size_t *@var{lpines})
@end deftypefun