<refentry id="camel-camel-mime-utils">
<refmeta>
<refentrytitle role="top_of_page" id="camel-camel-mime-utils.top_of_page">camel-mime-utils</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>CAMEL Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>camel-mime-utils</refname>
<refpurpose></refpurpose>
<!--[<xref linkend="desc" endterm="desc.title"/>]-->
</refnamediv>

<refsynopsisdiv id="camel-camel-mime-utils.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>
#define             <link linkend="CAMEL-FOLD-SIZE:CAPS">CAMEL_FOLD_SIZE</link>
#define             <link linkend="CAMEL-FOLD-MAX-SIZE:CAPS">CAMEL_FOLD_MAX_SIZE</link>
#define             <link linkend="CAMEL-UUDECODE-STATE-INIT:CAPS">CAMEL_UUDECODE_STATE_INIT</link>
#define             <link linkend="CAMEL-UUDECODE-STATE-BEGIN:CAPS">CAMEL_UUDECODE_STATE_BEGIN</link>
#define             <link linkend="CAMEL-UUDECODE-STATE-END:CAPS">CAMEL_UUDECODE_STATE_END</link>
#define             <link linkend="CAMEL-UUDECODE-STATE-MASK:CAPS">CAMEL_UUDECODE_STATE_MASK</link>
enum                <link linkend="CamelTransferEncoding">CamelTransferEncoding</link>;
struct              <link linkend="camel-header-references">camel_header_references</link>;
<link linkend="char">char</link>*               <link linkend="camel-header-param">camel_header_param</link>                  (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params,
                                                         const <link linkend="char">char</link> *name);
                    <link linkend="CamelContentType">CamelContentType</link>;
struct              <link linkend="camel-header-raw">camel_header_raw</link>;
                    <link linkend="CamelContentDisposition">CamelContentDisposition</link>;
enum                <link linkend="camel-header-address-t">camel_header_address_t</link>;
struct              <link linkend="camel-header-address">camel_header_address</link>;
struct              <link linkend="camel-header-newsgroup">camel_header_newsgroup</link>;
struct <link linkend="camel-header-address">_camel_header_address</link>* <link linkend="camel-header-address-new">camel_header_address_new</link>  (void);
struct <link linkend="camel-header-address">_camel_header_address</link>* <link linkend="camel-header-address-new-name">camel_header_address_new_name</link>
                                                        (const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *addr);
struct <link linkend="camel-header-address">_camel_header_address</link>* <link linkend="camel-header-address-new-group">camel_header_address_new_group</link>
                                                        (const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-header-address-ref">camel_header_address_ref</link>            (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);
<link linkend="void">void</link>                <link linkend="camel-header-address-unref">camel_header_address_unref</link>          (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);
<link linkend="void">void</link>                <link linkend="camel-header-address-set-name">camel_header_address_set_name</link>       (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-header-address-set-addr">camel_header_address_set_addr</link>       (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         const <link linkend="char">char</link> *addr);
<link linkend="void">void</link>                <link linkend="camel-header-address-set-members">camel_header_address_set_members</link>    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *group);
<link linkend="void">void</link>                <link linkend="camel-header-address-add-member">camel_header_address_add_member</link>     (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *member);
<link linkend="void">void</link>                <link linkend="camel-header-address-list-append-list">camel_header_address_list_append_list</link>
                                                        (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrs);
<link linkend="void">void</link>                <link linkend="camel-header-address-list-append">camel_header_address_list_append</link>    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *addr);
<link linkend="void">void</link>                <link linkend="camel-header-address-list-clear">camel_header_address_list_clear</link>     (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp);
struct <link linkend="camel-header-address">_camel_header_address</link>* <link linkend="camel-header-address-decode">camel_header_address_decode</link>
                                                        (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *charset);
struct <link linkend="camel-header-address">_camel_header_address</link>* <link linkend="camel-header-mailbox-decode">camel_header_mailbox_decode</link>
                                                        (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *charset);
<link linkend="char">char</link>*               <link linkend="camel-header-address-list-encode">camel_header_address_list_encode</link>    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);
<link linkend="char">char</link>*               <link linkend="camel-header-address-list-format">camel_header_address_list_format</link>    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);
struct <link linkend="camel-header-param">_camel_header_param</link>* <link linkend="camel-header-param-list-decode">camel_header_param_list_decode</link>
                                                        (const <link linkend="char">char</link> *in);
struct <link linkend="camel-header-param">_camel_header_param</link>* <link linkend="camel-header-set-param">camel_header_set_param</link>      (<link linkend="struct--camel-header-param">struct _camel_header_param</link> **paramsp,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);
<link linkend="void">void</link>                <link linkend="camel-header-param-list-format-append">camel_header_param_list_format_append</link>
                                                        (<link linkend="GString">GString</link> *out,
                                                         <link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);
<link linkend="char">char</link>*               <link linkend="camel-header-param-list-format">camel_header_param_list_format</link>      (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);
<link linkend="void">void</link>                <link linkend="camel-header-param-list-free">camel_header_param_list_free</link>        (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);
<link linkend="CamelContentType">CamelContentType</link>*   <link linkend="camel-content-type-new">camel_content_type_new</link>              (const <link linkend="char">char</link> *type,
                                                         const <link linkend="char">char</link> *subtype);
<link linkend="CamelContentType">CamelContentType</link>*   <link linkend="camel-content-type-decode">camel_content_type_decode</link>           (const <link linkend="char">char</link> *in);
<link linkend="void">void</link>                <link linkend="camel-content-type-unref">camel_content_type_unref</link>            (<link linkend="CamelContentType">CamelContentType</link> *content_type);
<link linkend="void">void</link>                <link linkend="camel-content-type-ref">camel_content_type_ref</link>              (<link linkend="CamelContentType">CamelContentType</link> *content_type);
const <link linkend="char">char</link>*         <link linkend="camel-content-type-param">camel_content_type_param</link>            (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-content-type-set-param">camel_content_type_set_param</link>        (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);
<link linkend="int">int</link>                 <link linkend="camel-content-type-is">camel_content_type_is</link>               (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *type,
                                                         const <link linkend="char">char</link> *subtype);
<link linkend="char">char</link>*               <link linkend="camel-content-type-format">camel_content_type_format</link>           (<link linkend="CamelContentType">CamelContentType</link> *content_type);
<link linkend="char">char</link>*               <link linkend="camel-content-type-simple">camel_content_type_simple</link>           (<link linkend="CamelContentType">CamelContentType</link> *content_type);
<link linkend="void">void</link>                <link linkend="camel-content-type-dump">camel_content_type_dump</link>             (<link linkend="CamelContentType">CamelContentType</link> *content_type);
<link linkend="CamelContentDisposition">CamelContentDisposition</link>* <link linkend="camel-content-disposition-decode">camel_content_disposition_decode</link>
                                                        (const <link linkend="char">char</link> *in);
<link linkend="void">void</link>                <link linkend="camel-content-disposition-ref">camel_content_disposition_ref</link>       (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);
<link linkend="void">void</link>                <link linkend="camel-content-disposition-unref">camel_content_disposition_unref</link>     (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);
<link linkend="char">char</link>*               <link linkend="camel-content-disposition-format">camel_content_disposition_format</link>    (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);
<link linkend="char">char</link>*               <link linkend="camel-content-transfer-encoding-decode">camel_content_transfer_encoding_decode</link>
                                                        (const <link linkend="char">char</link> *in);
<link linkend="void">void</link>                <link linkend="camel-header-raw-append">camel_header_raw_append</link>             (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value,
                                                         <link linkend="int">int</link> offset);
<link linkend="void">void</link>                <link linkend="camel-header-raw-append-parse">camel_header_raw_append_parse</link>       (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *header,
                                                         <link linkend="int">int</link> offset);
const <link linkend="char">char</link>*         <link linkend="camel-header-raw-find">camel_header_raw_find</link>               (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="int">int</link> *offset);
const <link linkend="char">char</link>*         <link linkend="camel-header-raw-find-next">camel_header_raw_find_next</link>          (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="int">int</link> *offset,
                                                         const <link linkend="char">char</link> *last);
<link linkend="void">void</link>                <link linkend="camel-header-raw-replace">camel_header_raw_replace</link>            (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value,
                                                         <link linkend="int">int</link> offset);
<link linkend="void">void</link>                <link linkend="camel-header-raw-remove">camel_header_raw_remove</link>             (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name);
<link linkend="void">void</link>                <link linkend="camel-header-raw-fold">camel_header_raw_fold</link>               (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);
<link linkend="void">void</link>                <link linkend="camel-header-raw-clear">camel_header_raw_clear</link>              (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);
<link linkend="char">char</link>*               <link linkend="camel-header-raw-check-mailing-list">camel_header_raw_check_mailing_list</link> (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);
<link linkend="char">char</link>*               <link linkend="camel-header-address-fold">camel_header_address_fold</link>           (const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> headerlen);
<link linkend="char">char</link>*               <link linkend="camel-header-fold">camel_header_fold</link>                   (const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> headerlen);
<link linkend="char">char</link>*               <link linkend="camel-header-unfold">camel_header_unfold</link>                 (const <link linkend="char">char</link> *in);
<link linkend="char">char</link>*               <link linkend="camel-header-token-decode">camel_header_token_decode</link>           (const <link linkend="char">char</link> *in);
<link linkend="int">int</link>                 <link linkend="camel-header-decode-int">camel_header_decode_int</link>             (const <link linkend="char">char</link> **in);
<link linkend="char">char</link>*               <link linkend="camel-header-decode-string">camel_header_decode_string</link>          (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *default_charset);
<link linkend="char">char</link>*               <link linkend="camel-header-encode-string">camel_header_encode_string</link>          (unsigned <link linkend="char">char</link> *in);
<link linkend="char">char</link>*               <link linkend="camel-header-format-ctext">camel_header_format_ctext</link>           (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *default_charset);
<link linkend="char">char</link>*               <link linkend="camel-header-encode-phrase">camel_header_encode_phrase</link>          (unsigned <link linkend="char">char</link> *in);
<link linkend="time-t">time_t</link>              <link linkend="camel-header-decode-date">camel_header_decode_date</link>            (const <link linkend="char">char</link> *in,
                                                         <link linkend="int">int</link> *saveoffset);
<link linkend="char">char</link>*               <link linkend="camel-header-format-date">camel_header_format_date</link>            (<link linkend="time-t">time_t</link> time,
                                                         <link linkend="int">int</link> offset);
<link linkend="char">char</link>*               <link linkend="camel-header-msgid-decode">camel_header_msgid_decode</link>           (const <link linkend="char">char</link> *in);
<link linkend="char">char</link>*               <link linkend="camel-header-contentid-decode">camel_header_contentid_decode</link>       (const <link linkend="char">char</link> *in);
<link linkend="char">char</link>*               <link linkend="camel-header-msgid-generate">camel_header_msgid_generate</link>         (void);
struct <link linkend="camel-header-references">_camel_header_references</link>* <link linkend="camel-header-references-inreplyto-decode">camel_header_references_inreplyto_decode</link>
                                                        (const <link linkend="char">char</link> *in);
struct <link linkend="camel-header-references">_camel_header_references</link>* <link linkend="camel-header-references-decode">camel_header_references_decode</link>
                                                        (const <link linkend="char">char</link> *in);
<link linkend="void">void</link>                <link linkend="camel-header-references-list-clear">camel_header_references_list_clear</link>  (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list);
<link linkend="void">void</link>                <link linkend="camel-header-references-list-append-asis">camel_header_references_list_append_asis</link>
                                                        (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list,
                                                         <link linkend="char">char</link> *ref);
<link linkend="int">int</link>                 <link linkend="camel-header-references-list-size">camel_header_references_list_size</link>   (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list);
struct <link linkend="camel-header-references">_camel_header_references</link>* <link linkend="camel-header-references-dup">camel_header_references_dup</link>
                                                        (const <link linkend="struct--camel-header-references">struct _camel_header_references</link> *list);
<link linkend="char">char</link>*               <link linkend="camel-header-location-decode">camel_header_location_decode</link>        (const <link linkend="char">char</link> *in);
struct <link linkend="camel-header-newsgroup">_camel_header_newsgroup</link>* <link linkend="camel-header-newsgroups-decode">camel_header_newsgroups_decode</link>
                                                        (const <link linkend="char">char</link> *in);
<link linkend="void">void</link>                <link linkend="camel-header-newsgroups-free">camel_header_newsgroups_free</link>        (<link linkend="struct--camel-header-newsgroup">struct _camel_header_newsgroup</link> *ng);
const <link linkend="char">char</link>*         <link linkend="camel-transfer-encoding-to-string">camel_transfer_encoding_to_string</link>   (<link linkend="CamelTransferEncoding">CamelTransferEncoding</link> encoding);
<link linkend="CamelTransferEncoding">CamelTransferEncoding</link> <link linkend="camel-transfer-encoding-from-string">camel_transfer_encoding_from_string</link>
                                                        (const <link linkend="char">char</link> *string);
<link linkend="void">void</link>                <link linkend="camel-header-mime-decode">camel_header_mime_decode</link>            (const <link linkend="char">char</link> *in,
                                                         <link linkend="int">int</link> *maj,
                                                         <link linkend="int">int</link> *min);
<link linkend="size-t">size_t</link>              <link linkend="camel-base64-decode-step">camel_base64_decode_step</link>            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         unsigned <link linkend="int">int</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-base64-encode-step">camel_base64_encode_step</link>            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         <link linkend="gboolean">gboolean</link> break_lines,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-base64-encode-close">camel_base64_encode_close</link>           (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         <link linkend="gboolean">gboolean</link> break_lines,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-uudecode-step">camel_uudecode_step</link>                 (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-uuencode-step">camel_uuencode_step</link>                 (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         unsigned <link linkend="char">char</link> *uubuf,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-uuencode-close">camel_uuencode_close</link>                (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         unsigned <link linkend="char">char</link> *uubuf,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-quoted-decode-step">camel_quoted_decode_step</link>            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *savestate,
                                                         <link linkend="int">int</link> *saveme);
<link linkend="size-t">size_t</link>              <link linkend="camel-quoted-encode-step">camel_quoted_encode_step</link>            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);
<link linkend="size-t">size_t</link>              <link linkend="camel-quoted-encode-close">camel_quoted_encode_close</link>           (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);
<link linkend="char">char</link>*               <link linkend="camel-base64-encode-simple">camel_base64_encode_simple</link>          (const <link linkend="char">char</link> *data,
                                                         <link linkend="size-t">size_t</link> len);
<link linkend="size-t">size_t</link>              <link linkend="camel-base64-decode-simple">camel_base64_decode_simple</link>          (<link linkend="char">char</link> *data,
                                                         <link linkend="size-t">size_t</link> len);
#define             <link linkend="camel-mime-is-ctrl">camel_mime_is_ctrl</link>                  (x)
#define             <link linkend="camel-mime-is-lwsp">camel_mime_is_lwsp</link>                  (x)
#define             <link linkend="camel-mime-is-tspecial">camel_mime_is_tspecial</link>              (x)
#define             <link linkend="camel-mime-is-type">camel_mime_is_type</link>                  (x, t)
#define             <link linkend="camel-mime-is-ttoken">camel_mime_is_ttoken</link>                (x)
#define             <link linkend="camel-mime-is-atom">camel_mime_is_atom</link>                  (x)
#define             <link linkend="camel-mime-is-dtext">camel_mime_is_dtext</link>                 (x)
#define             <link linkend="camel-mime-is-fieldname">camel_mime_is_fieldname</link>             (x)
#define             <link linkend="camel-mime-is-qpsafe">camel_mime_is_qpsafe</link>                (x)
#define             <link linkend="camel-mime-is-especial">camel_mime_is_especial</link>              (x)
#define             <link linkend="camel-mime-is-psafe">camel_mime_is_psafe</link>                 (x)
#define             <link linkend="camel-mime-is-attrchar">camel_mime_is_attrchar</link>              (x)
</synopsis>
</refsynopsisdiv>









<refsect1 id="camel-camel-mime-utils.description" role="desc">
<title role="desc.title">Description</title>
<para>

</para>
</refsect1>

<refsect1 id="camel-camel-mime-utils.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="CAMEL-FOLD-SIZE:CAPS" role="macro">
<title>CAMEL_FOLD_SIZE</title>
<indexterm zone="CAMEL-FOLD-SIZE:CAPS"><primary>CAMEL_FOLD_SIZE</primary></indexterm><programlisting>#define CAMEL_FOLD_SIZE (77)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CAMEL-FOLD-MAX-SIZE:CAPS" role="macro">
<title>CAMEL_FOLD_MAX_SIZE</title>
<indexterm zone="CAMEL-FOLD-MAX-SIZE:CAPS"><primary>CAMEL_FOLD_MAX_SIZE</primary></indexterm><programlisting>#define CAMEL_FOLD_MAX_SIZE (998)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CAMEL-UUDECODE-STATE-INIT:CAPS" role="macro">
<title>CAMEL_UUDECODE_STATE_INIT</title>
<indexterm zone="CAMEL-UUDECODE-STATE-INIT:CAPS"><primary>CAMEL_UUDECODE_STATE_INIT</primary></indexterm><programlisting>#define CAMEL_UUDECODE_STATE_INIT   (0)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CAMEL-UUDECODE-STATE-BEGIN:CAPS" role="macro">
<title>CAMEL_UUDECODE_STATE_BEGIN</title>
<indexterm zone="CAMEL-UUDECODE-STATE-BEGIN:CAPS"><primary>CAMEL_UUDECODE_STATE_BEGIN</primary></indexterm><programlisting>#define CAMEL_UUDECODE_STATE_BEGIN  (1 &lt;&lt; 16)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CAMEL-UUDECODE-STATE-END:CAPS" role="macro">
<title>CAMEL_UUDECODE_STATE_END</title>
<indexterm zone="CAMEL-UUDECODE-STATE-END:CAPS"><primary>CAMEL_UUDECODE_STATE_END</primary></indexterm><programlisting>#define CAMEL_UUDECODE_STATE_END    (1 &lt;&lt; 17)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CAMEL-UUDECODE-STATE-MASK:CAPS" role="macro">
<title>CAMEL_UUDECODE_STATE_MASK</title>
<indexterm zone="CAMEL-UUDECODE-STATE-MASK:CAPS"><primary>CAMEL_UUDECODE_STATE_MASK</primary></indexterm><programlisting>#define CAMEL_UUDECODE_STATE_MASK   (CAMEL_UUDECODE_STATE_BEGIN | CAMEL_UUDECODE_STATE_END)
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CamelTransferEncoding" role="enum">
<title>enum CamelTransferEncoding</title>
<indexterm zone="CamelTransferEncoding"><primary>CamelTransferEncoding</primary></indexterm><programlisting>typedef enum _CamelTransferEncoding {
	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;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-references" role="struct">
<title>struct camel_header_references</title>
<indexterm zone="camel-header-references"><primary>camel_header_references</primary></indexterm><programlisting>struct camel_header_references {
	struct _camel_header_references *next;
	char *id;
};
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-param" role="function">
<title>camel_header_param ()</title>
<indexterm zone="camel-header-param"><primary>camel_header_param</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_param                  (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<para>
Searches <parameter>params</parameter> for a param named <parameter>name</parameter> and gets the value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
<listitem><simpara> parameters
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of param to find
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the value of the <parameter>name</parameter> param
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="CamelContentType" role="struct">
<title>CamelContentType</title>
<indexterm zone="CamelContentType"><primary>CamelContentType</primary></indexterm><programlisting>typedef struct {
	char *type;
	char *subtype;
	struct _camel_header_param *params;
	unsigned int refcount;
} CamelContentType;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-raw" role="struct">
<title>struct camel_header_raw</title>
<indexterm zone="camel-header-raw"><primary>camel_header_raw</primary></indexterm><programlisting>struct camel_header_raw {
	struct _camel_header_raw *next;
	char *name;
	char *value;
	int offset;		/* in file, if known */
};
</programlisting>
<para>

</para></refsect2>
<refsect2 id="CamelContentDisposition" role="struct">
<title>CamelContentDisposition</title>
<indexterm zone="CamelContentDisposition"><primary>CamelContentDisposition</primary></indexterm><programlisting>typedef struct {
	char *disposition;
	struct _camel_header_param *params;
	unsigned int refcount;
} CamelContentDisposition;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-address-t" role="enum">
<title>enum camel_header_address_t</title>
<indexterm zone="camel-header-address-t"><primary>camel_header_address_t</primary></indexterm><programlisting>typedef enum _camel_header_address_t {
	CAMEL_HEADER_ADDRESS_NONE,	/* uninitialised */
	CAMEL_HEADER_ADDRESS_NAME,
	CAMEL_HEADER_ADDRESS_GROUP
} camel_header_address_t;
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-address" role="struct">
<title>struct camel_header_address</title>
<indexterm zone="camel-header-address"><primary>camel_header_address</primary></indexterm><programlisting>struct camel_header_address {
	struct _camel_header_address *next;
	camel_header_address_t type;
	char *name;
	union {
		char *addr;
		struct _camel_header_address *members;
	} v;
	unsigned int refcount;
};
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-newsgroup" role="struct">
<title>struct camel_header_newsgroup</title>
<indexterm zone="camel-header-newsgroup"><primary>camel_header_newsgroup</primary></indexterm><programlisting>struct camel_header_newsgroup {
	struct _camel_header_newsgroup *next;

	char *newsgroup;
};
</programlisting>
<para>

</para></refsect2>
<refsect2 id="camel-header-address-new" role="function">
<title>camel_header_address_new ()</title>
<indexterm zone="camel-header-address-new"><primary>camel_header_address_new</primary></indexterm><programlisting>struct <link linkend="camel-header-address">_camel_header_address</link>* camel_header_address_new  (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-new-name" role="function">
<title>camel_header_address_new_name ()</title>
<indexterm zone="camel-header-address-new-name"><primary>camel_header_address_new_name</primary></indexterm><programlisting>struct <link linkend="camel-header-address">_camel_header_address</link>* camel_header_address_new_name
                                                        (const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *addr);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>addr</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-new-group" role="function">
<title>camel_header_address_new_group ()</title>
<indexterm zone="camel-header-address-new-group"><primary>camel_header_address_new_group</primary></indexterm><programlisting>struct <link linkend="camel-header-address">_camel_header_address</link>* camel_header_address_new_group
                                                        (const <link linkend="char">char</link> *name);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-ref" role="function">
<title>camel_header_address_ref ()</title>
<indexterm zone="camel-header-address-ref"><primary>camel_header_address_ref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_ref            (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-unref" role="function">
<title>camel_header_address_unref ()</title>
<indexterm zone="camel-header-address-unref"><primary>camel_header_address_unref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_unref          (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-set-name" role="function">
<title>camel_header_address_set_name ()</title>
<indexterm zone="camel-header-address-set-name"><primary>camel_header_address_set_name</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_set_name       (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-set-addr" role="function">
<title>camel_header_address_set_addr ()</title>
<indexterm zone="camel-header-address-set-addr"><primary>camel_header_address_set_addr</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_set_addr       (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         const <link linkend="char">char</link> *addr);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>addr</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-set-members" role="function">
<title>camel_header_address_set_members ()</title>
<indexterm zone="camel-header-address-set-members"><primary>camel_header_address_set_members</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_set_members    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *group);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>group</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-add-member" role="function">
<title>camel_header_address_add_member ()</title>
<indexterm zone="camel-header-address-add-member"><primary>camel_header_address_add_member</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_add_member     (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *member);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>member</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-list-append-list" role="function">
<title>camel_header_address_list_append_list ()</title>
<indexterm zone="camel-header-address-list-append-list"><primary>camel_header_address_list_append_list</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_list_append_list
                                                        (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrs);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlistp</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>addrs</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-list-append" role="function">
<title>camel_header_address_list_append ()</title>
<indexterm zone="camel-header-address-list-append"><primary>camel_header_address_list_append</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_list_append    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp,
                                                         <link linkend="struct--camel-header-address">struct _camel_header_address</link> *addr);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlistp</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>addr</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-list-clear" role="function">
<title>camel_header_address_list_clear ()</title>
<indexterm zone="camel-header-address-list-clear"><primary>camel_header_address_list_clear</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_address_list_clear     (<link linkend="struct--camel-header-address">struct _camel_header_address</link> **addrlistp);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlistp</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-decode" role="function">
<title>camel_header_address_decode ()</title>
<indexterm zone="camel-header-address-decode"><primary>camel_header_address_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-address">_camel_header_address</link>* camel_header_address_decode
                                                        (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *charset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>charset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-mailbox-decode" role="function">
<title>camel_header_mailbox_decode ()</title>
<indexterm zone="camel-header-mailbox-decode"><primary>camel_header_mailbox_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-address">_camel_header_address</link>* camel_header_mailbox_decode
                                                        (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *charset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>charset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-list-encode" role="function">
<title>camel_header_address_list_encode ()</title>
<indexterm zone="camel-header-address-list-encode"><primary>camel_header_address_list_encode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_address_list_encode    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-list-format" role="function">
<title>camel_header_address_list_format ()</title>
<indexterm zone="camel-header-address-list-format"><primary>camel_header_address_list_format</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_address_list_format    (<link linkend="struct--camel-header-address">struct _camel_header_address</link> *addrlist);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>addrlist</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-param-list-decode" role="function">
<title>camel_header_param_list_decode ()</title>
<indexterm zone="camel-header-param-list-decode"><primary>camel_header_param_list_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-param">_camel_header_param</link>* camel_header_param_list_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-set-param" role="function">
<title>camel_header_set_param ()</title>
<indexterm zone="camel-header-set-param"><primary>camel_header_set_param</primary></indexterm><programlisting>struct <link linkend="camel-header-param">_camel_header_param</link>* camel_header_set_param      (<link linkend="struct--camel-header-param">struct _camel_header_param</link> **paramsp,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);</programlisting>
<para>
Set a parameter in the list.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>paramsp</parameter>&nbsp;:</term>
<listitem><simpara> poinetr to a list of params
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of param to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> value to set
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the set param
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-param-list-format-append" role="function">
<title>camel_header_param_list_format_append ()</title>
<indexterm zone="camel-header-param-list-format-append"><primary>camel_header_param_list_format_append</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_param_list_format_append
                                                        (<link linkend="GString">GString</link> *out,
                                                         <link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-param-list-format" role="function">
<title>camel_header_param_list_format ()</title>
<indexterm zone="camel-header-param-list-format"><primary>camel_header_param_list_format</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_param_list_format      (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-param-list-free" role="function">
<title>camel_header_param_list_free ()</title>
<indexterm zone="camel-header-param-list-free"><primary>camel_header_param_list_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_param_list_free        (<link linkend="struct--camel-header-param">struct _camel_header_param</link> *params);</programlisting>
<para>
Free the list of params.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>params</parameter>&nbsp;:</term>
<listitem><simpara> a list of params
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-new" role="function">
<title>camel_content_type_new ()</title>
<indexterm zone="camel-content-type-new"><primary>camel_content_type_new</primary></indexterm><programlisting><link linkend="CamelContentType">CamelContentType</link>*   camel_content_type_new              (const <link linkend="char">char</link> *type,
                                                         const <link linkend="char">char</link> *subtype);</programlisting>
<para>
Create a new <link linkend="CamelContentType"><type>CamelContentType</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> the major type of the new content-type
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>subtype</parameter>&nbsp;:</term>
<listitem><simpara> the subtype
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the new <link linkend="CamelContentType"><type>CamelContentType</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-decode" role="function">
<title>camel_content_type_decode ()</title>
<indexterm zone="camel-content-type-decode"><primary>camel_content_type_decode</primary></indexterm><programlisting><link linkend="CamelContentType">CamelContentType</link>*   camel_content_type_decode           (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-unref" role="function">
<title>camel_content_type_unref ()</title>
<indexterm zone="camel-content-type-unref"><primary>camel_content_type_unref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_type_unref            (<link linkend="CamelContentType">CamelContentType</link> *content_type);</programlisting>
<para>
Unrefs, and potentially frees, the content type.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="CamelContentType"><type>CamelContentType</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-ref" role="function">
<title>camel_content_type_ref ()</title>
<indexterm zone="camel-content-type-ref"><primary>camel_content_type_ref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_type_ref              (<link linkend="CamelContentType">CamelContentType</link> *content_type);</programlisting>
<para>
Refs the content type.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="CamelContentType"><type>CamelContentType</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-param" role="function">
<title>camel_content_type_param ()</title>
<indexterm zone="camel-content-type-param"><primary>camel_content_type_param</primary></indexterm><programlisting>const <link linkend="char">char</link>*         camel_content_type_param            (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<para>
Searches the params on s <link linkend="CamelContentType"><type>CamelContentType</type></link> for a param named <parameter>name</parameter>
and gets the value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="CamelContentType"><type>CamelContentType</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of param to find
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the value of the <parameter>name</parameter> param
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-set-param" role="function">
<title>camel_content_type_set_param ()</title>
<indexterm zone="camel-content-type-set-param"><primary>camel_content_type_set_param</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_type_set_param        (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value);</programlisting>
<para>
Set a parameter on <parameter>content_type</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara> a <link linkend="CamelContentType"><type>CamelContentType</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> name of param to set
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> value of param to set
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-is" role="function">
<title>camel_content_type_is ()</title>
<indexterm zone="camel-content-type-is"><primary>camel_content_type_is</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_content_type_is               (<link linkend="CamelContentType">CamelContentType</link> *content_type,
                                                         const <link linkend="char">char</link> *type,
                                                         const <link linkend="char">char</link> *subtype);</programlisting>
<para>
The subtype of "*" will match any subtype.  If <parameter>ct</parameter> is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then
it will match the type "text/plain".</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara> A content type specifier, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>type</parameter>&nbsp;:</term>
<listitem><simpara> A type to check against.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>subtype</parameter>&nbsp;:</term>
<listitem><simpara> A subtype to check against, or "*" to match any subtype.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>%TRUE if the content type <parameter>ct</parameter> is of type <parameter>type</parameter>/<parameter>subtype</parameter> or
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-format" role="function">
<title>camel_content_type_format ()</title>
<indexterm zone="camel-content-type-format"><primary>camel_content_type_format</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_content_type_format           (<link linkend="CamelContentType">CamelContentType</link> *content_type);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-simple" role="function">
<title>camel_content_type_simple ()</title>
<indexterm zone="camel-content-type-simple"><primary>camel_content_type_simple</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_content_type_simple           (<link linkend="CamelContentType">CamelContentType</link> *content_type);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-type-dump" role="function">
<title>camel_content_type_dump ()</title>
<indexterm zone="camel-content-type-dump"><primary>camel_content_type_dump</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_type_dump             (<link linkend="CamelContentType">CamelContentType</link> *content_type);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>content_type</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-disposition-decode" role="function">
<title>camel_content_disposition_decode ()</title>
<indexterm zone="camel-content-disposition-decode"><primary>camel_content_disposition_decode</primary></indexterm><programlisting><link linkend="CamelContentDisposition">CamelContentDisposition</link>* camel_content_disposition_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-disposition-ref" role="function">
<title>camel_content_disposition_ref ()</title>
<indexterm zone="camel-content-disposition-ref"><primary>camel_content_disposition_ref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_disposition_ref       (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>disposition</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-disposition-unref" role="function">
<title>camel_content_disposition_unref ()</title>
<indexterm zone="camel-content-disposition-unref"><primary>camel_content_disposition_unref</primary></indexterm><programlisting><link linkend="void">void</link>                camel_content_disposition_unref     (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>disposition</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-disposition-format" role="function">
<title>camel_content_disposition_format ()</title>
<indexterm zone="camel-content-disposition-format"><primary>camel_content_disposition_format</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_content_disposition_format    (<link linkend="CamelContentDisposition">CamelContentDisposition</link> *disposition);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>disposition</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-content-transfer-encoding-decode" role="function">
<title>camel_content_transfer_encoding_decode ()</title>
<indexterm zone="camel-content-transfer-encoding-decode"><primary>camel_content_transfer_encoding_decode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_content_transfer_encoding_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-append" role="function">
<title>camel_header_raw_append ()</title>
<indexterm zone="camel-header-raw-append"><primary>camel_header_raw_append</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_append             (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value,
                                                         <link linkend="int">int</link> offset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-append-parse" role="function">
<title>camel_header_raw_append_parse ()</title>
<indexterm zone="camel-header-raw-append-parse"><primary>camel_header_raw_append_parse</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_append_parse       (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *header,
                                                         <link linkend="int">int</link> offset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>header</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-find" role="function">
<title>camel_header_raw_find ()</title>
<indexterm zone="camel-header-raw-find"><primary>camel_header_raw_find</primary></indexterm><programlisting>const <link linkend="char">char</link>*         camel_header_raw_find               (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="int">int</link> *offset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-find-next" role="function">
<title>camel_header_raw_find_next ()</title>
<indexterm zone="camel-header-raw-find-next"><primary>camel_header_raw_find_next</primary></indexterm><programlisting>const <link linkend="char">char</link>*         camel_header_raw_find_next          (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         <link linkend="int">int</link> *offset,
                                                         const <link linkend="char">char</link> *last);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>last</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-replace" role="function">
<title>camel_header_raw_replace ()</title>
<indexterm zone="camel-header-raw-replace"><primary>camel_header_raw_replace</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_replace            (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name,
                                                         const <link linkend="char">char</link> *value,
                                                         <link linkend="int">int</link> offset);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-remove" role="function">
<title>camel_header_raw_remove ()</title>
<indexterm zone="camel-header-raw-remove"><primary>camel_header_raw_remove</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_remove             (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list,
                                                         const <link linkend="char">char</link> *name);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-fold" role="function">
<title>camel_header_raw_fold ()</title>
<indexterm zone="camel-header-raw-fold"><primary>camel_header_raw_fold</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_fold               (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-clear" role="function">
<title>camel_header_raw_clear ()</title>
<indexterm zone="camel-header-raw-clear"><primary>camel_header_raw_clear</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_raw_clear              (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-raw-check-mailing-list" role="function">
<title>camel_header_raw_check_mailing_list ()</title>
<indexterm zone="camel-header-raw-check-mailing-list"><primary>camel_header_raw_check_mailing_list</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_raw_check_mailing_list (<link linkend="struct--camel-header-raw">struct _camel_header_raw</link> **list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-address-fold" role="function">
<title>camel_header_address_fold ()</title>
<indexterm zone="camel-header-address-fold"><primary>camel_header_address_fold</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_address_fold           (const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> headerlen);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>headerlen</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-fold" role="function">
<title>camel_header_fold ()</title>
<indexterm zone="camel-header-fold"><primary>camel_header_fold</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_fold                   (const <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> headerlen);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>headerlen</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-unfold" role="function">
<title>camel_header_unfold ()</title>
<indexterm zone="camel-header-unfold"><primary>camel_header_unfold</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_unfold                 (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-token-decode" role="function">
<title>camel_header_token_decode ()</title>
<indexterm zone="camel-header-token-decode"><primary>camel_header_token_decode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_token_decode           (const <link linkend="char">char</link> *in);</programlisting>
<para>
Gets the first token in the string according to the rules of
rfc0822.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a new string containing the first token in <parameter>in</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-decode-int" role="function">
<title>camel_header_decode_int ()</title>
<indexterm zone="camel-header-decode-int"><primary>camel_header_decode_int</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_header_decode_int             (const <link linkend="char">char</link> **in);</programlisting>
<para>
Extracts an integer token from <parameter>in</parameter> and updates the pointer to point
to after the end of the integer token (sort of like strtol).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> pointer to input string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the int value
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-decode-string" role="function">
<title>camel_header_decode_string ()</title>
<indexterm zone="camel-header-decode-string"><primary>camel_header_decode_string</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_decode_string          (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *default_charset);</programlisting>
<para>
Decodes rfc2047 encoded-word tokens</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input header value string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_charset</parameter>&nbsp;:</term>
<listitem><simpara> default charset to use if improperly encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a string containing the UTF-8 version of the decoded header
value
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-encode-string" role="function">
<title>camel_header_encode_string ()</title>
<indexterm zone="camel-header-encode-string"><primary>camel_header_encode_string</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_encode_string          (unsigned <link linkend="char">char</link> *in);</programlisting>
<para>
Encodes a 'text' header according to the rules of rfc2047.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the rfc2047 encoded header
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-format-ctext" role="function">
<title>camel_header_format_ctext ()</title>
<indexterm zone="camel-header-format-ctext"><primary>camel_header_format_ctext</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_format_ctext           (const <link linkend="char">char</link> *in,
                                                         const <link linkend="char">char</link> *default_charset);</programlisting>
<para>
Decodes a header which contains rfc2047 encoded-word tokens that
may or may not be within a comment.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input header value string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>default_charset</parameter>&nbsp;:</term>
<listitem><simpara> default charset to use if improperly encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a string containing the UTF-8 version of the decoded header
value
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-encode-phrase" role="function">
<title>camel_header_encode_phrase ()</title>
<indexterm zone="camel-header-encode-phrase"><primary>camel_header_encode_phrase</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_encode_phrase          (unsigned <link linkend="char">char</link> *in);</programlisting>
<para>
Encodes a 'phrase' header according to the rules in rfc2047.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> header to encode
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the encoded 'phrase'
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-decode-date" role="function">
<title>camel_header_decode_date ()</title>
<indexterm zone="camel-header-decode-date"><primary>camel_header_decode_date</primary></indexterm><programlisting><link linkend="time-t">time_t</link>              camel_header_decode_date            (const <link linkend="char">char</link> *in,
                                                         <link linkend="int">int</link> *saveoffset);</programlisting>
<para>
Decodes the rfc822 date string and saves the GMT offset into
<parameter>tz_offset</parameter> if non-NULL.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>saveoffset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the time_t representation of the date string specified by
<parameter>str</parameter> or (time_t) <link linkend="0:CAPS"><literal>0</literal></link> on error. If <parameter>tz_offset</parameter> is non-NULL, the value
of the timezone offset will be stored.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-format-date" role="function">
<title>camel_header_format_date ()</title>
<indexterm zone="camel-header-format-date"><primary>camel_header_format_date</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_format_date            (<link linkend="time-t">time_t</link> time,
                                                         <link linkend="int">int</link> offset);</programlisting>
<para>
Allocates a string buffer containing the rfc822 formatted date
string represented by <parameter>time</parameter> and <parameter>tz_offset</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>time</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>offset</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> a valid string representation of the date.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-msgid-decode" role="function">
<title>camel_header_msgid_decode ()</title>
<indexterm zone="camel-header-msgid-decode"><primary>camel_header_msgid_decode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_msgid_decode           (const <link linkend="char">char</link> *in);</programlisting>
<para>
Extract a message-id token from <parameter>in</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the msg-id
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-contentid-decode" role="function">
<title>camel_header_contentid_decode ()</title>
<indexterm zone="camel-header-contentid-decode"><primary>camel_header_contentid_decode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_contentid_decode       (const <link linkend="char">char</link> *in);</programlisting>
<para>
Extract a content-id from <parameter>in</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input string
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the extracted content-id
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-msgid-generate" role="function">
<title>camel_header_msgid_generate ()</title>
<indexterm zone="camel-header-msgid-generate"><primary>camel_header_msgid_generate</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_msgid_generate         (void);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-inreplyto-decode" role="function">
<title>camel_header_references_inreplyto_decode ()</title>
<indexterm zone="camel-header-references-inreplyto-decode"><primary>camel_header_references_inreplyto_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-references">_camel_header_references</link>* camel_header_references_inreplyto_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-decode" role="function">
<title>camel_header_references_decode ()</title>
<indexterm zone="camel-header-references-decode"><primary>camel_header_references_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-references">_camel_header_references</link>* camel_header_references_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-list-clear" role="function">
<title>camel_header_references_list_clear ()</title>
<indexterm zone="camel-header-references-list-clear"><primary>camel_header_references_list_clear</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_references_list_clear  (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-list-append-asis" role="function">
<title>camel_header_references_list_append_asis ()</title>
<indexterm zone="camel-header-references-list-append-asis"><primary>camel_header_references_list_append_asis</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_references_list_append_asis
                                                        (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list,
                                                         <link linkend="char">char</link> *ref);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ref</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-list-size" role="function">
<title>camel_header_references_list_size ()</title>
<indexterm zone="camel-header-references-list-size"><primary>camel_header_references_list_size</primary></indexterm><programlisting><link linkend="int">int</link>                 camel_header_references_list_size   (<link linkend="struct--camel-header-references">struct _camel_header_references</link> **list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-references-dup" role="function">
<title>camel_header_references_dup ()</title>
<indexterm zone="camel-header-references-dup"><primary>camel_header_references_dup</primary></indexterm><programlisting>struct <link linkend="camel-header-references">_camel_header_references</link>* camel_header_references_dup
                                                        (const <link linkend="struct--camel-header-references">struct _camel_header_references</link> *list);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>list</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-location-decode" role="function">
<title>camel_header_location_decode ()</title>
<indexterm zone="camel-header-location-decode"><primary>camel_header_location_decode</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_header_location_decode        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-newsgroups-decode" role="function">
<title>camel_header_newsgroups_decode ()</title>
<indexterm zone="camel-header-newsgroups-decode"><primary>camel_header_newsgroups_decode</primary></indexterm><programlisting>struct <link linkend="camel-header-newsgroup">_camel_header_newsgroup</link>* camel_header_newsgroups_decode
                                                        (const <link linkend="char">char</link> *in);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-newsgroups-free" role="function">
<title>camel_header_newsgroups_free ()</title>
<indexterm zone="camel-header-newsgroups-free"><primary>camel_header_newsgroups_free</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_newsgroups_free        (<link linkend="struct--camel-header-newsgroup">struct _camel_header_newsgroup</link> *ng);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>ng</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-transfer-encoding-to-string" role="function">
<title>camel_transfer_encoding_to_string ()</title>
<indexterm zone="camel-transfer-encoding-to-string"><primary>camel_transfer_encoding_to_string</primary></indexterm><programlisting>const <link linkend="char">char</link>*         camel_transfer_encoding_to_string   (<link linkend="CamelTransferEncoding">CamelTransferEncoding</link> encoding);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>encoding</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-transfer-encoding-from-string" role="function">
<title>camel_transfer_encoding_from_string ()</title>
<indexterm zone="camel-transfer-encoding-from-string"><primary>camel_transfer_encoding_from_string</primary></indexterm><programlisting><link linkend="CamelTransferEncoding">CamelTransferEncoding</link> camel_transfer_encoding_from_string
                                                        (const <link linkend="char">char</link> *string);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>string</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-header-mime-decode" role="function">
<title>camel_header_mime_decode ()</title>
<indexterm zone="camel-header-mime-decode"><primary>camel_header_mime_decode</primary></indexterm><programlisting><link linkend="void">void</link>                camel_header_mime_decode            (const <link linkend="char">char</link> *in,
                                                         <link linkend="int">int</link> *maj,
                                                         <link linkend="int">int</link> *min);</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>maj</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>min</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-base64-decode-step" role="function" condition="deprecated:">
<title>camel_base64_decode_step ()</title>
<indexterm zone="camel-base64-decode-step" role="deprecated"><primary>camel_base64_decode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_base64_decode_step            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         unsigned <link linkend="int">int</link> *save);</programlisting>
<warning><para><literal>camel_base64_decode_step</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Decodes a chunk of base64 encoded data</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> max length of data to decode
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been decoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes decoded (which have been dumped in <parameter>out</parameter>)
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-base64-encode-step" role="function" condition="deprecated:">
<title>camel_base64_encode_step ()</title>
<indexterm zone="camel-base64-encode-step" role="deprecated"><primary>camel_base64_encode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_base64_encode_step            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         <link linkend="gboolean">gboolean</link> break_lines,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);</programlisting>
<warning><para><literal>camel_base64_encode_step</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Base64 encodes a chunk of data. Performs an 'encode step', only
encodes blocks of 3 characters to the output at a time, saves
left-over state in state and save (initialise to 0 on first
invocation).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>break_lines</parameter>&nbsp;:</term>
<listitem><simpara> break long lines
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-base64-encode-close" role="function" condition="deprecated:">
<title>camel_base64_encode_close ()</title>
<indexterm zone="camel-base64-encode-close" role="deprecated"><primary>camel_base64_encode_close</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_base64_encode_close           (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         <link linkend="gboolean">gboolean</link> break_lines,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);</programlisting>
<warning><para><literal>camel_base64_encode_close</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Base64 encodes the input stream to the output stream. Call this
when finished encoding data with <link linkend="camel-base64-encode-step"><type>camel_base64_encode_step</type></link>
to flush off the last little bit.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>break_lines</parameter>&nbsp;:</term>
<listitem><simpara> whether or not to break long lines
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-uudecode-step" role="function">
<title>camel_uudecode_step ()</title>
<indexterm zone="camel-uudecode-step"><primary>camel_uudecode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_uudecode_step                 (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);</programlisting>
<para>
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.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been decoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes decoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-uuencode-step" role="function">
<title>camel_uuencode_step ()</title>
<indexterm zone="camel-uuencode-step"><primary>camel_uuencode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_uuencode_step                 (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         unsigned <link linkend="char">char</link> *uubuf,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);</programlisting>
<para>
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 <parameter>uubuf</parameter>, <parameter>state</parameter> and <parameter>save</parameter> (initialize to 0 on first
invocation).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> input stream length
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uubuf</parameter>&nbsp;:</term>
<listitem><simpara> temporary buffer of 60 bytes
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-uuencode-close" role="function">
<title>camel_uuencode_close ()</title>
<indexterm zone="camel-uuencode-close"><primary>camel_uuencode_close</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_uuencode_close                (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         unsigned <link linkend="char">char</link> *uubuf,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="guint32">guint32</link> *save);</programlisting>
<para>
Uuencodes a chunk of data. Call this when finished encoding data
with <link linkend="camel-uuencode-step"><type>camel_uuencode_step</type></link> to flush off the last little bit.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> input stream length
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>uubuf</parameter>&nbsp;:</term>
<listitem><simpara> temporary buffer of 60 bytes
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-quoted-decode-step" role="function">
<title>camel_quoted_decode_step ()</title>
<indexterm zone="camel-quoted-decode-step"><primary>camel_quoted_decode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_quoted_decode_step            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *savestate,
                                                         <link linkend="int">int</link> *saveme);</programlisting>
<para>
Decodes a block of quoted-printable encoded data. Performs a
'decode step' on a chunk of QP encoded data.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> max length of data to decode
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>savestate</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>saveme</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes decoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-quoted-encode-step" role="function">
<title>camel_quoted_encode_step ()</title>
<indexterm zone="camel-quoted-encode-step"><primary>camel_quoted_encode_step</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_quoted_encode_step            (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);</programlisting>
<para>
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).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> length of the input
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-quoted-encode-close" role="function">
<title>camel_quoted_encode_close ()</title>
<indexterm zone="camel-quoted-encode-close"><primary>camel_quoted_encode_close</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_quoted_encode_close           (unsigned <link linkend="char">char</link> *in,
                                                         <link linkend="size-t">size_t</link> len,
                                                         unsigned <link linkend="char">char</link> *out,
                                                         <link linkend="int">int</link> *state,
                                                         <link linkend="int">int</link> *save);</programlisting>
<para>
Quoted-printable encodes a block of text. Call this when finished
encoding data with <link linkend="camel-quoted-encode-step"><type>camel_quoted_encode_step</type></link> to flush off
the last little bit.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>in</parameter>&nbsp;:</term>
<listitem><simpara> input stream
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> length of the input
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>out</parameter>&nbsp;:</term>
<listitem><simpara> output string
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>state</parameter>&nbsp;:</term>
<listitem><simpara> holds the number of bits that are stored in <parameter>save</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>save</parameter>&nbsp;:</term>
<listitem><simpara> leftover bits that have not yet been encoded
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the number of bytes encoded
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-base64-encode-simple" role="function" condition="deprecated:">
<title>camel_base64_encode_simple ()</title>
<indexterm zone="camel-base64-encode-simple" role="deprecated"><primary>camel_base64_encode_simple</primary></indexterm><programlisting><link linkend="char">char</link>*               camel_base64_encode_simple          (const <link linkend="char">char</link> *data,
                                                         <link linkend="size-t">size_t</link> len);</programlisting>
<warning><para><literal>camel_base64_encode_simple</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Base64 encodes a block of memory.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> binary stream of data to encode
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> length of data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>a string containing the base64 encoded data
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-base64-decode-simple" role="function" condition="deprecated:">
<title>camel_base64_decode_simple ()</title>
<indexterm zone="camel-base64-decode-simple" role="deprecated"><primary>camel_base64_decode_simple</primary></indexterm><programlisting><link linkend="size-t">size_t</link>              camel_base64_decode_simple          (<link linkend="char">char</link> *data,
                                                         <link linkend="size-t">size_t</link> len);</programlisting>
<warning><para><literal>camel_base64_decode_simple</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Base64 decodes <parameter>data</parameter> inline (overwrites <parameter>data</parameter> with the decoded version).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data to decode
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>len</parameter>&nbsp;:</term>
<listitem><simpara> length of data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara>the new length of <parameter>data</parameter>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-ctrl" role="macro">
<title>camel_mime_is_ctrl()</title>
<indexterm zone="camel-mime-is-ctrl"><primary>camel_mime_is_ctrl</primary></indexterm><programlisting>#define camel_mime_is_ctrl(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_CTRL) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-lwsp" role="macro">
<title>camel_mime_is_lwsp()</title>
<indexterm zone="camel-mime-is-lwsp"><primary>camel_mime_is_lwsp</primary></indexterm><programlisting>#define camel_mime_is_lwsp(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_LWSP) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-tspecial" role="macro">
<title>camel_mime_is_tspecial()</title>
<indexterm zone="camel-mime-is-tspecial"><primary>camel_mime_is_tspecial</primary></indexterm><programlisting>#define camel_mime_is_tspecial(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_TSPECIAL) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-type" role="macro">
<title>camel_mime_is_type()</title>
<indexterm zone="camel-mime-is-type"><primary>camel_mime_is_type</primary></indexterm><programlisting>#define camel_mime_is_type(x, t) ((camel_mime_special_table[(unsigned char)(x)] &amp; (t)) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>t</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-ttoken" role="macro">
<title>camel_mime_is_ttoken()</title>
<indexterm zone="camel-mime-is-ttoken"><primary>camel_mime_is_ttoken</primary></indexterm><programlisting>#define camel_mime_is_ttoken(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; (CAMEL_MIME_IS_TSPECIAL|CAMEL_MIME_IS_LWSP|CAMEL_MIME_IS_CTRL)) == 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-atom" role="macro">
<title>camel_mime_is_atom()</title>
<indexterm zone="camel-mime-is-atom"><primary>camel_mime_is_atom</primary></indexterm><programlisting>#define camel_mime_is_atom(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; (CAMEL_MIME_IS_SPECIAL|CAMEL_MIME_IS_SPACE|CAMEL_MIME_IS_CTRL)) == 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-dtext" role="macro">
<title>camel_mime_is_dtext()</title>
<indexterm zone="camel-mime-is-dtext"><primary>camel_mime_is_dtext</primary></indexterm><programlisting>#define camel_mime_is_dtext(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_DSPECIAL) == 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-fieldname" role="macro">
<title>camel_mime_is_fieldname()</title>
<indexterm zone="camel-mime-is-fieldname"><primary>camel_mime_is_fieldname</primary></indexterm><programlisting>#define camel_mime_is_fieldname(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; (CAMEL_MIME_IS_CTRL|CAMEL_MIME_IS_SPACE)) == 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-qpsafe" role="macro">
<title>camel_mime_is_qpsafe()</title>
<indexterm zone="camel-mime-is-qpsafe"><primary>camel_mime_is_qpsafe</primary></indexterm><programlisting>#define camel_mime_is_qpsafe(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_QPSAFE) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-especial" role="macro">
<title>camel_mime_is_especial()</title>
<indexterm zone="camel-mime-is-especial"><primary>camel_mime_is_especial</primary></indexterm><programlisting>#define camel_mime_is_especial(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_ESPECIAL) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-psafe" role="macro">
<title>camel_mime_is_psafe()</title>
<indexterm zone="camel-mime-is-psafe"><primary>camel_mime_is_psafe</primary></indexterm><programlisting>#define camel_mime_is_psafe(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_PSAFE) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="camel-mime-is-attrchar" role="macro">
<title>camel_mime_is_attrchar()</title>
<indexterm zone="camel-mime-is-attrchar"><primary>camel_mime_is_attrchar</primary></indexterm><programlisting>#define camel_mime_is_attrchar(x) ((camel_mime_special_table[(unsigned char)(x)] &amp; CAMEL_MIME_IS_ATTRCHAR) != 0)
</programlisting>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>x</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>

</refsect1>




</refentry>
