![]() |
![]() |
![]() |
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_MASK 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 (void
); struct _camel_header_address * camel_header_address_new_name (const gchar *name
,const gchar *addr
); struct _camel_header_address * camel_header_address_new_group (const gchar *name
); void 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 *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 *in
,const gchar *charset
); struct _camel_header_address * camel_header_mailbox_decode (const gchar *in
,const 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 *name
,const gchar *value
); 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
); CamelContentType * camel_content_type_new (const gchar *type
,const gchar *subtype
); CamelContentType * camel_content_type_decode (const gchar *in
); void camel_content_type_unref (CamelContentType *content_type
); void camel_content_type_ref (CamelContentType *content_type
); const gchar * camel_content_type_param (CamelContentType *content_type
,const gchar *name
); void camel_content_type_set_param (CamelContentType *content_type
,const gchar *name
,const gchar *value
); gint camel_content_type_is (CamelContentType *content_type
,const gchar *type
,const gchar *subtype
); gchar * 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 *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 *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
); void 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 headerlen
); gchar * camel_header_fold (const gchar *in
,gsize headerlen
); gchar * camel_header_unfold (const gchar *in
); gchar * camel_header_token_decode (const gchar *in
); gint camel_header_decode_int (const gchar **in
); gchar * camel_header_decode_string (const gchar *in
,const gchar *default_charset
); gchar * camel_header_encode_string (const guchar *in
); gchar * camel_header_format_ctext (const gchar *in
,const gchar *default_charset
); gchar * camel_header_encode_phrase (const guchar *in
); time_t camel_header_decode_date (const gchar *str
,gint *tz_offset
); gchar * camel_header_format_date (time_t date
,gint tz_offset
); gchar * camel_header_msgid_decode (const gchar *in
); gchar * camel_header_contentid_decode (const gchar *in
); gchar * camel_header_msgid_generate (void
); 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
); gchar * camel_header_location_decode (const gchar *in
); struct _camel_header_newsgroup * camel_header_newsgroups_decode (const gchar *in
); void camel_header_newsgroups_free (struct _camel_header_newsgroup *ng
); const gchar * camel_transfer_encoding_to_string (CamelTransferEncoding encoding
); CamelTransferEncoding camel_transfer_encoding_from_string (const gchar *string
); void camel_header_mime_decode (const gchar *in
,gint *maj
,gint *min
); gsize camel_uudecode_step (guchar *in
,gsize inlen
,guchar *out
,gint *state
,guint32 *save
); gsize camel_uuencode_step (guchar *in
,gsize len
,guchar *out
,guchar *uubuf
,gint *state
,guint32 *save
); gsize camel_uuencode_close (guchar *in
,gsize len
,guchar *out
,guchar *uubuf
,gint *state
,guint32 *save
); gsize camel_quoted_decode_step (guchar *in
,gsize len
,guchar *out
,gint *savestate
,gint *saveme
); gsize camel_quoted_encode_step (guchar *in
,gsize len
,guchar *out
,gint *state
,gint *save
); gsize camel_quoted_encode_close (guchar *in
,gsize len
,guchar *out
,gint *state
,gint *save
); #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)
#define CAMEL_UUDECODE_STATE_MASK (CAMEL_UUDECODE_STATE_BEGIN | CAMEL_UUDECODE_STATE_END)
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_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 *name
,const 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 *in
,const gchar *charset
);
struct _camel_header_address * camel_header_mailbox_decode (const gchar *in
,const 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 *name
,const 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 *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.
|
a list of params |
CamelContentType * camel_content_type_new (const gchar *type
,const 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 |
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.
|
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 *name
,const 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 *type
,const gchar *subtype
);
The subtype of "*" will match any subtype. If ct
is NULL
, then
it will match the type "text/plain".
|
A content type specifier, or NULL . |
|
A type to check against. |
|
A subtype to check against, or "*" to match any subtype. |
Returns : |
TRUE if the content type ct is of type type /subtype or
FALSE otherwise |
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 *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.
|
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 *in
,const 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 *in
,const 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 on error. If 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
);
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.
|
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)