| Top |
| #define | CAMEL_FOLD_SIZE |
| #define | CAMEL_FOLD_MAX_SIZE |
| enum | CamelUUDecodeState |
| #define | CAMEL_UUDECODE_STATE_MASK |
| CamelHeaderParam | |
| struct | camel_header_raw |
| 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 tt,struct 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
.
tt |
the time_t to convert |
|
tm |
the tm to store the result in |
|
offset |
the gint to store the offset in |
CamelHeaderAddress * camel_header_address_new_name (const gchar *name,const 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 *addrlist,const gchar *name);
void camel_header_address_set_addr (CamelHeaderAddress *addrlist,const gchar *addr);
void camel_header_address_set_members (CamelHeaderAddress *addrlist,CamelHeaderAddress *group);
void camel_header_address_add_member (CamelHeaderAddress *addrlist,CamelHeaderAddress *member);
void camel_header_address_list_append_list (CamelHeaderAddress **addrlistp,CamelHeaderAddress **addrs);
void camel_header_address_list_append (CamelHeaderAddress **addrlistp,CamelHeaderAddress *addr);
void
camel_header_address_list_clear (CamelHeaderAddress **addrlistp);
CamelHeaderAddress * camel_header_address_decode (const gchar *in,const gchar *charset);
CamelHeaderAddress * camel_header_mailbox_decode (const gchar *in,const gchar *charset);
gchar *
camel_header_address_list_encode (CamelHeaderAddress *addrlist);
gchar *
camel_header_address_list_format (CamelHeaderAddress *addrlist);
struct _camel_header_param *
camel_header_param_list_decode (const gchar *in);
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 *name,const gchar *value);
Set a parameter in the list.
void camel_header_param_list_format_append (GString *out,struct _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 *type,const gchar *subtype);
Create a new CamelContentType.
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.
const gchar * camel_content_type_param (CamelContentType *content_type,const gchar *name);
Searches the params on s CamelContentType for a param named name
and gets the value.
void camel_content_type_set_param (CamelContentType *content_type,const gchar *name,const gchar *value);
Set a parameter on content_type
.
gint camel_content_type_is (CamelContentType *content_type,const gchar *type,const gchar *subtype);
The subtype of "*" will match any subtype. If ct
is NULL, then
it will match the type "text/plain".
content_type |
A content type specifier, or |
|
type |
A type to check against. |
|
subtype |
A subtype to check against, or "*" to match any subtype. |
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);
void camel_header_raw_append (struct _camel_header_raw **list,const gchar *name,const gchar *value,gint offset);
void camel_header_raw_append_parse (struct _camel_header_raw **list,const gchar *header,gint offset);
const gchar * camel_header_raw_find (struct _camel_header_raw **list,const gchar *name,gint *offset);
const gchar * camel_header_raw_find_next (struct _camel_header_raw **list,const gchar *name,gint *offset,const gchar *last);
void camel_header_raw_replace (struct _camel_header_raw **list,const gchar *name,const gchar *value,gint offset);
void camel_header_raw_remove (struct _camel_header_raw **list,const gchar *name);
gchar *
camel_header_raw_check_mailing_list (struct _camel_header_raw **list);
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 *in,const 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 *in,const 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.
const gchar *
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)
#define CAMEL_UUDECODE_STATE_MASK (CAMEL_UUDECODE_STATE_BEGIN | CAMEL_UUDECODE_STATE_END)
typedef struct {
struct _camel_header_param *next;
gchar *name;
gchar *value;
} CamelHeaderParam;
struct camel_header_raw {
struct _camel_header_raw *next;
gchar *name;
gchar *value;
gint offset; /* in file, if known */
};