![]() |
![]() |
![]() |
Camel Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#define CAMEL_FOLD_SIZE #define CAMEL_FOLD_MAX_SIZE #define CAMEL_UUDECODE_STATE_INIT #define CAMEL_UUDECODE_STATE_BEGIN #define CAMEL_UUDECODE_STATE_END #define CAMEL_UUDECODE_STATE_MASKtime_t camel_mktime_utc (struct tm *tm
);void camel_localtime_with_offset (,
time_t ttstruct tm *tm
,); enum CamelTransferEncoding; struct camel_header_references; struct camel_header_param; CamelContentType; struct camel_header_raw; CamelContentDisposition; enum camel_header_address_t; struct camel_header_address; struct camel_header_newsgroup; struct _camel_header_address * camel_header_address_new (
gint *offsetvoid
); struct _camel_header_address * camel_header_address_new_name (const
,gchar *nameconst
); struct _camel_header_address * camel_header_address_new_group (gchar *addrconst
);gchar *namevoid camel_header_address_ref (struct _camel_header_address *addrlist
);void camel_header_address_unref (struct _camel_header_address *addrlist
);void camel_header_address_set_name (struct _camel_header_address *addrlist
,const
);gchar *namevoid camel_header_address_set_addr (struct _camel_header_address *addrlist
,const
);gchar *addrvoid camel_header_address_set_members (struct _camel_header_address *addrlist
,struct _camel_header_address *group
);void camel_header_address_add_member (struct _camel_header_address *addrlist
,struct _camel_header_address *member
);void camel_header_address_list_append_list (struct _camel_header_address **addrlistp
,struct _camel_header_address **addrs
);void camel_header_address_list_append (struct _camel_header_address **addrlistp
,struct _camel_header_address *addr
);void camel_header_address_list_clear (struct _camel_header_address **addrlistp
); struct _camel_header_address * camel_header_address_decode (const
,gchar *inconst
); struct _camel_header_address * camel_header_mailbox_decode (gchar *charsetconst
,gchar *inconst
);gchar *charsetgchar * camel_header_address_list_encode (struct _camel_header_address *addrlist
);gchar * camel_header_address_list_format (struct _camel_header_address *addrlist
); struct _camel_header_param * camel_header_param_list_decode (const
); struct _camel_header_param * camel_header_set_param (gchar *instruct _camel_header_param **paramsp
,const
,gchar *nameconst
);gchar *valuevoid 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
); CamelContentType * camel_content_type_new (const
,gchar *typeconst
); CamelContentType * camel_content_type_decode (gchar *subtypeconst
);gchar *invoid camel_content_type_unref (CamelContentType *content_type
);void camel_content_type_ref (CamelContentType *content_type
); constgchar * camel_content_type_param (CamelContentType *content_type
,const
);gchar *namevoid camel_content_type_set_param (CamelContentType *content_type
,const
,gchar *nameconst
);gchar *valuegint camel_content_type_is (CamelContentType *content_type
,const
,gchar *typeconst
);gchar *subtypegchar * camel_content_type_format (CamelContentType *content_type
);gchar * camel_content_type_simple (CamelContentType *content_type
);void camel_content_type_dump (CamelContentType *content_type
); CamelContentDisposition * camel_content_disposition_decode (const
);gchar *invoid 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 *invoid camel_header_raw_append (struct _camel_header_raw **list
,const
,gchar *nameconst
,gchar *value);
gint offsetvoid camel_header_raw_append_parse (struct _camel_header_raw **list
,const
,gchar *header); const
gint offsetgchar * camel_header_raw_find (struct _camel_header_raw **list
,const
,gchar *name); const
gint *offsetgchar * camel_header_raw_find_next (struct _camel_header_raw **list
,const
,gchar *name,
gint *offsetconst
);gchar *lastvoid camel_header_raw_replace (struct _camel_header_raw **list
,const
,gchar *nameconst
,gchar *value);
gint offsetvoid camel_header_raw_remove (struct _camel_header_raw **list
,const
);gchar *namevoid camel_header_raw_fold (struct _camel_header_raw **list
);void camel_header_raw_clear (struct _camel_header_raw **list
);gchar * camel_header_raw_check_mailing_list (struct _camel_header_raw **list
);gchar * camel_header_address_fold (const
,gchar *in);
gsize headerlengchar * camel_header_fold (const
,gchar *in);
gsize headerlengchar * camel_header_unfold (const
);gchar *ingchar * camel_header_token_decode (const
);gchar *ingint camel_header_decode_int (const
);gchar **ingchar * camel_header_decode_string (const
,gchar *inconst
);gchar *default_charsetgchar * camel_header_encode_string (const
);guchar *ingchar * camel_header_format_ctext (const
,gchar *inconst
);gchar *default_charsetgchar * camel_header_encode_phrase (const
);guchar *intime_t camel_header_decode_date (const
,gchar *str);
gint *tz_offsetgchar * camel_header_format_date (,
time_t date);
gint tz_offsetgchar * camel_header_msgid_decode (const
);gchar *ingchar * camel_header_contentid_decode (const
);gchar *ingchar * camel_header_msgid_generate (void
); struct _camel_header_references * camel_header_references_inreplyto_decode (const
); struct _camel_header_references * camel_header_references_decode (gchar *inconst
);gchar *invoid camel_header_references_list_clear (struct _camel_header_references **list
);void camel_header_references_list_append_asis (struct _camel_header_references **list
,);
gchar *refgint camel_header_references_list_size (struct _camel_header_references **list
); struct _camel_header_references * camel_header_references_dup (const struct _camel_header_references *list
);gchar * camel_header_location_decode (const
); struct _camel_header_newsgroup * camel_header_newsgroups_decode (gchar *inconst
);gchar *invoid camel_header_newsgroups_free (struct _camel_header_newsgroup *ng
); constgchar * camel_transfer_encoding_to_string (CamelTransferEncoding encoding
); CamelTransferEncoding camel_transfer_encoding_from_string (const
);gchar *stringvoid camel_header_mime_decode (const
,gchar *in,
gint *maj);
gint *mingsize camel_uudecode_step (,
guchar *in,
gsize inlen,
guchar *out,
gint *state);
guint32 *savegsize camel_uuencode_step (,
guchar *in,
gsize len,
guchar *out,
guchar *uubuf,
gint *state);
guint32 *savegsize camel_uuencode_close (,
guchar *in,
gsize len,
guchar *out,
guchar *uubuf,
gint *state);
guint32 *savegsize camel_quoted_decode_step (,
guchar *in,
gsize len,
guchar *out,
gint *savestate);
gint *savemegsize camel_quoted_encode_step (,
guchar *in,
gsize len,
guchar *out,
gint *state);
gint *savegsize camel_quoted_encode_close (,
guchar *in,
gsize len,
guchar *out,
gint *state); #define camel_mime_is_ctrl (x) #define camel_mime_is_lwsp (x) #define camel_mime_is_tspecial (x) #define camel_mime_is_type (x, t) #define camel_mime_is_ttoken (x) #define camel_mime_is_atom (x) #define camel_mime_is_dtext (x) #define camel_mime_is_fieldname (x) #define camel_mime_is_qpsafe (x) #define camel_mime_is_especial (x) #define camel_mime_is_psafe (x) #define camel_mime_is_attrchar (x)
gint *save
#define CAMEL_UUDECODE_STATE_MASK (CAMEL_UUDECODE_STATE_BEGIN | CAMEL_UUDECODE_STATE_END)
time_t camel_mktime_utc (struct tm *tm
);
Like mktime(3), but assumes UTC instead of local timezone.
|
the |
Returns : |
the calendar time representation of tm
|
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
.
|
the |
|
the |
|
the |
typedef enum { CAMEL_TRANSFER_ENCODING_DEFAULT, CAMEL_TRANSFER_ENCODING_7BIT, CAMEL_TRANSFER_ENCODING_8BIT, CAMEL_TRANSFER_ENCODING_BASE64, CAMEL_TRANSFER_ENCODING_QUOTEDPRINTABLE, CAMEL_TRANSFER_ENCODING_BINARY, CAMEL_TRANSFER_ENCODING_UUENCODE, CAMEL_TRANSFER_NUM_ENCODINGS } CamelTransferEncoding;
struct camel_header_references { struct _camel_header_references *next; gchar *id; };
struct camel_header_param { struct _camel_header_param *next; gchar *name; gchar *value; };
Searches params
for a param named name
and gets the value.
struct _camel_header_param * |
|
name of param to find | |
typedef struct { gchar *type; gchar *subtype; struct _camel_header_param *params; guint refcount; } CamelContentType;
struct camel_header_raw { struct _camel_header_raw *next; gchar *name; gchar *value; gint offset; /* in file, if known */ };
typedef struct { gchar *disposition; struct _camel_header_param *params; guint refcount; } CamelContentDisposition;
typedef enum _camel_header_address_t { CAMEL_HEADER_ADDRESS_NONE, /* uninitialised */ CAMEL_HEADER_ADDRESS_NAME, CAMEL_HEADER_ADDRESS_GROUP } camel_header_address_t;
struct camel_header_address { struct _camel_header_address *next; camel_header_address_t type; gchar *name; union { gchar *addr; struct _camel_header_address *members; } v; guint refcount; };
struct camel_header_newsgroup { struct _camel_header_newsgroup *next; gchar *newsgroup; };
struct _camel_header_address * camel_header_address_new_name (const
,gchar *nameconst
);gchar *addr
struct _camel_header_address * camel_header_address_new_group
(const gchar *name
);
void camel_header_address_unref (struct _camel_header_address *addrlist
);
void camel_header_address_set_name (struct _camel_header_address *addrlist
,const
);gchar *name
void camel_header_address_set_addr (struct _camel_header_address *addrlist
,const
);gchar *addr
void camel_header_address_set_members (struct _camel_header_address *addrlist
,struct _camel_header_address *group
);
void camel_header_address_add_member (struct _camel_header_address *addrlist
,struct _camel_header_address *member
);
void camel_header_address_list_append_list (struct _camel_header_address **addrlistp
,struct _camel_header_address **addrs
);
void camel_header_address_list_append (struct _camel_header_address **addrlistp
,struct _camel_header_address *addr
);
void camel_header_address_list_clear (struct _camel_header_address **addrlistp
);
struct _camel_header_address * camel_header_address_decode (const
,gchar *inconst
);gchar *charset
struct _camel_header_address * camel_header_mailbox_decode (const
,gchar *inconst
);gchar *charset
gchar * camel_header_address_list_encode (struct _camel_header_address *addrlist
);
gchar * camel_header_address_list_format (struct _camel_header_address *addrlist
);
struct _camel_header_param * camel_header_param_list_decode
(const gchar *in
);
struct _camel_header_param * camel_header_set_param (struct _camel_header_param **paramsp
,const
,gchar *nameconst
);gchar *value
Set a parameter in the list.
|
poinetr to a list of params |
|
name of param to set |
|
value to set |
Returns : |
the set param |
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.
|
a list of params |
CamelContentType * camel_content_type_new (const
,gchar *typeconst
);gchar *subtype
Create a new CamelContentType.
|
the major type of the new content-type |
|
the subtype |
Returns : |
the new CamelContentType |
void camel_content_type_unref (CamelContentType *content_type
);
Unrefs, and potentially frees, the content type.
|
a CamelContentType |
void camel_content_type_ref (CamelContentType *content_type
);
Refs the content type.
|
a CamelContentType |
constgchar * 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.
|
a CamelContentType |
|
name of param to find |
Returns : |
the value of the name param |
void camel_content_type_set_param (CamelContentType *content_type
,const
,gchar *nameconst
);gchar *value
Set a parameter on content_type
.
|
a CamelContentType |
|
name of param to set |
|
value of param to set |
gint camel_content_type_is (CamelContentType *content_type
,const
,gchar *typeconst
);gchar *subtype
The subtype of "*" will match any subtype. If ct
is NULL
|
A content type specifier, or NULL |
|
A type to check against. |
|
A subtype to check against, or "*" to match any subtype. |
Returns : |
TRUE ct is of type type /subtype or
FALSE |
CamelContentDisposition * camel_content_disposition_decode
(const gchar *in
);
void 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 *nameconst
,gchar *value);
gint offset
void camel_header_raw_append_parse (struct _camel_header_raw **list
,const
,gchar *header);
gint offset
constgchar * camel_header_raw_find (struct _camel_header_raw **list
,const
,gchar *name);
gint *offset
constgchar * camel_header_raw_find_next (struct _camel_header_raw **list
,const
,gchar *name,
gint *offsetconst
);gchar *last
void camel_header_raw_replace (struct _camel_header_raw **list
,const
,gchar *nameconst
,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.
|
input string |
Returns : |
a new string containing the first token in in
|
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).
|
pointer to input string |
Returns : |
the gint value |
gchar * camel_header_decode_string (const
,gchar *inconst
);gchar *default_charset
Decodes rfc2047 encoded-word tokens
|
input header value string |
|
default charset to use if improperly encoded |
Returns : |
a string containing the UTF-8 version of the decoded header value |
gchar * camel_header_encode_string (const
);guchar *in
Encodes a 'text' header according to the rules of rfc2047.
|
input string |
Returns : |
the rfc2047 encoded header |
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.
|
input header value string |
|
default charset to use if improperly encoded |
Returns : |
a string containing the UTF-8 version of the decoded header value |
gchar * camel_header_encode_phrase (const
);guchar *in
Encodes a 'phrase' header according to the rules in rfc2047.
|
header to encode |
Returns : |
the encoded 'phrase' |
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.
|
input date string |
|
timezone offset |
Returns : |
the time_t representation of the date string specified by
str or (time_t) 0 tz_offset is non-NULL, the value
of the timezone offset will be stored. |
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
.
|
time_t date representation |
|
Timezone offset |
Returns : |
a valid string representation of the date. |
gchar * camel_header_msgid_decode (const
);gchar *in
Extract a message-id token from in
.
|
input string |
Returns : |
the msg-id |
gchar * camel_header_contentid_decode (const
);gchar *in
Extract a content-id from in
.
|
input string |
Returns : |
the extracted content-id |
struct _camel_header_references * camel_header_references_inreplyto_decode
(const gchar *in
);
struct _camel_header_references * camel_header_references_decode
(const gchar *in
);
void camel_header_references_list_clear (struct _camel_header_references **list
);
void camel_header_references_list_append_asis (struct _camel_header_references **list
,);
gchar *ref
gint camel_header_references_list_size (struct _camel_header_references **list
);
struct _camel_header_references * camel_header_references_dup
(const struct _camel_header_references *list
);
struct _camel_header_newsgroup * camel_header_newsgroups_decode
(const gchar *in
);
void camel_header_newsgroups_free (struct _camel_header_newsgroup *ng
);
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.
|
input stream |
|
max length of data to decode |
|
output stream |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been decoded |
Returns : |
the number of bytes decoded |
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).
|
input stream |
|
input stream length |
|
output stream |
|
temporary buffer of 60 bytes |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been encoded |
Returns : |
the number of bytes encoded |
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.
|
input stream |
|
input stream length |
|
output stream |
|
temporary buffer of 60 bytes |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been encoded |
Returns : |
the number of bytes encoded |
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.
|
input stream |
|
max length of data to decode |
|
output stream |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been decoded |
Returns : |
the number of bytes decoded |
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).
|
input stream |
|
length of the input |
|
output string |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been encoded |
Returns : |
the number of bytes encoded |
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.
|
input stream |
|
length of the input |
|
output string |
|
holds the number of bits that are stored in save
|
|
leftover bits that have not yet been encoded |
Returns : |
the number of bytes encoded |
#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)