Top | ![]() |
![]() |
![]() |
![]() |
#define | CAMEL_FOLD_SIZE |
#define | CAMEL_FOLD_MAX_SIZE |
enum | CamelUUDecodeState |
#define | CAMEL_UUDECODE_STATE_MASK |
CamelHeaderParam | |
enum | CamelHeaderAddressType |
time_t camel_mktime_utc (struct tm *tm
);
Like mktime(3), but assumes UTC instead of local timezone.
Since: 3.4
void camel_localtime_with_offset (,
time_t ttstruct tm *tm
,);
gint *offset
Converts the calendar time representation tt
to a broken-down
time representation, stored in tm
, and provides the offset in
seconds from UTC time, stored in offset
.
CamelHeaderAddress * camel_header_address_new_name (const
,gchar *nameconst
);gchar *addr
CamelHeaderAddress * camel_header_address_new_group (const
);gchar *name
CamelHeaderAddress * camel_header_address_ref ();
CamelHeaderAddress *addrlist
void camel_header_address_set_name (,
CamelHeaderAddress *addrlistconst
);gchar *name
void camel_header_address_set_addr (,
CamelHeaderAddress *addrlistconst
);gchar *addr
void camel_header_address_set_members (,
CamelHeaderAddress *addrlist);
CamelHeaderAddress *group
TODO: Document me.
void camel_header_address_add_member (,
CamelHeaderAddress *addrlist);
CamelHeaderAddress *member
void camel_header_address_list_append_list (,
CamelHeaderAddress **addrlistp);
CamelHeaderAddress **addrs
TODO: Document me.
void camel_header_address_list_append (,
CamelHeaderAddress **addrlistp);
CamelHeaderAddress *addr
TODO: Document me.
void camel_header_address_list_clear ();
CamelHeaderAddress **addrlistp
TODO: Document me.
CamelHeaderAddress * camel_header_address_decode (const
,gchar *inconst
);gchar *charset
CamelHeaderAddress * camel_header_mailbox_decode (const
,gchar *inconst
);gchar *charset
gchar * camel_header_address_list_encode ();
CamelHeaderAddress *addrlist
TODO: Document me.
gchar * camel_header_address_list_format ();
CamelHeaderAddress *addrlist
TODO: Document me.
struct _camel_header_param *
camel_header_param_list_decode (const gchar *in
);
Decode list of parameters.
Free with camel_header_param_list_free()
when done with it.
[nullable][transfer full]
gchar * camel_header_param (struct _camel_header_param *params
,const
);gchar *name
Searches params
for a param named name
and gets the value.
struct _camel_header_param * camel_header_set_param (struct _camel_header_param **paramsp
,const
,gchar *nameconst
);gchar *value
Set a parameter in the list.
void camel_header_param_list_format_append (,
GString *outstruct _camel_header_param *params
);
gchar * camel_header_param_list_format (struct _camel_header_param *params
);
void camel_header_param_list_free (struct _camel_header_param *params
);
Free the list of params.
CamelContentType * camel_content_type_new (const
,gchar *typeconst
);gchar *subtype
Create a new
void camel_content_type_unref ();
CamelContentType *content_type
Unrefs, and potentially frees, the content type.
CamelContentType * camel_content_type_ref ();
CamelContentType *content_type
Refs the content type.
constgchar * camel_content_type_param (,
CamelContentType *content_typeconst
);gchar *name
Searches the params on s name
and gets the value.
void camel_content_type_set_param (,
CamelContentType *content_typeconst
,gchar *nameconst
);gchar *value
Set a parameter on content_type
.
gint camel_content_type_is (,
CamelContentType *content_typeconst
,gchar *typeconst
);gchar *subtype
The subtype of "*" will match any subtype. If ct
is NULL
CamelContentDisposition * camel_content_disposition_decode (const
);gchar *in
CamelContentDisposition * camel_content_disposition_ref ();
CamelContentDisposition *disposition
void camel_content_disposition_unref ();
CamelContentDisposition *disposition
gchar * camel_content_disposition_format ();
CamelContentDisposition *disposition
gchar * camel_content_transfer_encoding_decode (const
);gchar *in
gchar * camel_headers_dup_mailing_list (const CamelNameValueArray *headers
);
Searches for a mailing list information among known headers and returns a newly allocated string with its value.
gchar * camel_header_token_decode (const
);gchar *in
Gets the first token in the string according to the rules of rfc0822.
gint camel_header_decode_int (const
);gchar **in
Extracts an integer token from in
and updates the pointer to point
to after the end of the integer token (sort of like strtol).
gchar * camel_header_decode_string (const
,gchar *inconst
);gchar *default_charset
Decodes rfc2047 encoded-word tokens
gchar * camel_header_encode_string (const
);guchar *in
Encodes a 'text' header according to the rules of rfc2047.
gchar * camel_header_format_ctext (const
,gchar *inconst
);gchar *default_charset
Decodes a header which contains rfc2047 encoded-word tokens that may or may not be within a comment.
gchar * camel_header_encode_phrase (const
);guchar *in
Encodes a 'phrase' header according to the rules in rfc2047.
time_t camel_header_decode_date (const
,gchar *str);
gint *tz_offset
Decodes the rfc822 date string and saves the GMT offset into
tz_offset
if non-NULL.
gchar * camel_header_format_date (,
time_t date);
gint tz_offset
Allocates a string buffer containing the rfc822 formatted date
string represented by time
and tz_offset
.
gchar * camel_header_msgid_decode (const
);gchar *in
Extract a message-id token from in
.
gchar * camel_header_contentid_decode (const
);gchar *in
Extract a content-id from in
.
gchar * camel_header_msgid_generate (const
);gchar *domain
Either the domain
is used, or the user's local hostname,
in case it's NULL or empty.
GSList * camel_header_references_decode (const
);gchar *in
Generate a list of references, from most recent up.
constgchar * camel_transfer_encoding_to_string (CamelTransferEncoding encoding
);
CamelTransferEncoding
camel_transfer_encoding_from_string (const gchar *string
);
gsize camel_uudecode_step (,
guchar *in,
gsize inlen,
guchar *out,
gint *state);
guint32 *save
Uudecodes a chunk of data. Performs a 'decode step' on a chunk of uuencoded data. Assumes the "begin mode filename" line has been stripped off.
gsize camel_uuencode_step (,
guchar *in,
gsize len,
guchar *out,
guchar *uubuf,
gint *state);
guint32 *save
Uuencodes a chunk of data. Performs an 'encode step', only encodes
blocks of 45 characters to the output at a time, saves left-over
state in uubuf
, state
and save
(initialize to 0 on first
invocation).
in |
input stream. |
[array length=len] |
len |
input stream length |
|
out |
output stream. |
[inout][array] |
uubuf |
temporary buffer of 60 bytes. |
[inout][array fixed-size=60] |
state |
holds the number of bits that are stored in |
[inout] |
save |
leftover bits that have not yet been encoded. |
[inout][array length=state] |
gsize camel_uuencode_close (,
guchar *in,
gsize len,
guchar *out,
guchar *uubuf,
gint *state);
guint32 *save
Uuencodes a chunk of data. Call this when finished encoding data
with camel_uuencode_step()
to flush off the last little bit.
in |
input stream. |
[array length=len] |
len |
input stream length |
|
out |
output stream. |
[inout][array] |
uubuf |
temporary buffer of 60 bytes. |
[inout][array fixed-size=60] |
state |
holds the number of bits that are stored in |
[inout] |
save |
leftover bits that have not yet been encoded. |
[inout][array length=state] |
gsize camel_quoted_decode_step (,
guchar *in,
gsize len,
guchar *out,
gint *savestate);
gint *saveme
Decodes a block of quoted-printable encoded data. Performs a 'decode step' on a chunk of QP encoded data.
gsize camel_quoted_encode_step (,
guchar *in,
gsize len,
guchar *out,
gint *state);
gint *save
Quoted-printable encodes a block of text. Performs an 'encode step', saves left-over state in state and save (initialise to -1 on first invocation).
gsize camel_quoted_encode_close (,
guchar *in,
gsize len,
guchar *out,
gint *state);
gint *save
Quoted-printable encodes a block of text. Call this when finished
encoding data with camel_quoted_encode_step()
to flush off
the last little bit.
#define camel_mime_is_ctrl(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_CTRL) != 0)
#define camel_mime_is_lwsp(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_LWSP) != 0)
#define camel_mime_is_tspecial(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_TSPECIAL) != 0)
#define camel_mime_is_type(x, t) ((camel_mime_special_table[(guchar)(x)] & (t)) != 0)
#define camel_mime_is_ttoken(x) ((camel_mime_special_table[(guchar)(x)] & (CAMEL_MIME_IS_TSPECIAL|CAMEL_MIME_IS_LWSP|CAMEL_MIME_IS_CTRL)) == 0)
#define camel_mime_is_atom(x) ((camel_mime_special_table[(guchar)(x)] & (CAMEL_MIME_IS_SPECIAL|CAMEL_MIME_IS_SPACE|CAMEL_MIME_IS_CTRL)) == 0)
#define camel_mime_is_dtext(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_DSPECIAL) == 0)
#define camel_mime_is_fieldname(x) ((camel_mime_special_table[(guchar)(x)] & (CAMEL_MIME_IS_CTRL|CAMEL_MIME_IS_SPACE)) == 0)
#define camel_mime_is_qpsafe(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_QPSAFE) != 0)
#define camel_mime_is_especial(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_ESPECIAL) != 0)
#define camel_mime_is_psafe(x) ((camel_mime_special_table[(guchar)(x)] & CAMEL_MIME_IS_PSAFE) != 0)