<?xml version="1.0"?>
<api>
  <!--

        This file was automatically generated.
        Please DO NOT MODIFY THIS FILE, modify .metadata files instead.

-->
  <namespace name="GMime" library="gmime">
    <enum name="CertificateTrust" cname="GMimeCertificateTrust" type="enum">
      <member cname="GMIME_CERTIFICATE_TRUST_NONE" name="None" />
      <member cname="GMIME_CERTIFICATE_TRUST_NEVER" name="Never" />
      <member cname="GMIME_CERTIFICATE_TRUST_UNDEFINED" name="Undefined" />
      <member cname="GMIME_CERTIFICATE_TRUST_MARGINAL" name="Marginal" />
      <member cname="GMIME_CERTIFICATE_TRUST_FULLY" name="Fully" />
      <member cname="GMIME_CERTIFICATE_TRUST_ULTIMATE" name="Ultimate" />
    </enum>
    <enum name="CipherAlgo" cname="GMimeCipherAlgo" type="enum">
      <member cname="GMIME_CIPHER_ALGO_DEFAULT" name="Default" />
      <member cname="GMIME_CIPHER_ALGO_IDEA" name="Idea" value="1" />
      <member cname="GMIME_CIPHER_ALGO_3DES" name="ThreeDes" value="2" />
      <member cname="GMIME_CIPHER_ALGO_CAST5" name="Cast5" value="3" />
      <member cname="GMIME_CIPHER_ALGO_BLOWFISH" name="Blowfish" value="4" />
      <member cname="GMIME_CIPHER_ALGO_AES" name="Aes" value="7" />
      <member cname="GMIME_CIPHER_ALGO_AES192" name="Aes192" value="8" />
      <member cname="GMIME_CIPHER_ALGO_AES256" name="Aes256" value="9" />
      <member cname="GMIME_CIPHER_ALGO_TWOFISH" name="Twofish" value="10" />
      <member cname="GMIME_CIPHER_ALGO_CAMELLIA128" name="Camellia128" value="11" />
      <member cname="GMIME_CIPHER_ALGO_CAMELLIA192" name="Camellia192" value="12" />
      <member cname="GMIME_CIPHER_ALGO_CAMELLIA256" name="Camellia256" value="13" />
    </enum>
    <enum name="ContentEncoding" cname="GMimeContentEncoding" type="enum">
      <member cname="GMIME_CONTENT_ENCODING_DEFAULT" name="Default" />
      <member cname="GMIME_CONTENT_ENCODING_7BIT" name="SevenBit" />
      <member cname="GMIME_CONTENT_ENCODING_8BIT" name="EightBit" />
      <member cname="GMIME_CONTENT_ENCODING_BINARY" name="Binary" />
      <member cname="GMIME_CONTENT_ENCODING_BASE64" name="Base64" />
      <member cname="GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE" name="QuotedPrintable" />
      <member cname="GMIME_CONTENT_ENCODING_UUENCODE" name="UuEncode" />
    </enum>
    <enum name="DigestAlgo" cname="GMimeDigestAlgo" type="enum">
      <member cname="GMIME_DIGEST_ALGO_DEFAULT" name="Default" />
      <member cname="GMIME_DIGEST_ALGO_MD5" name="Md5" value="1" />
      <member cname="GMIME_DIGEST_ALGO_SHA1" name="Sha1" value="2" />
      <member cname="GMIME_DIGEST_ALGO_RIPEMD160" name="Ripemd160" value="3" />
      <member cname="GMIME_DIGEST_ALGO_MD2" name="Md2" value="5" />
      <member cname="GMIME_DIGEST_ALGO_TIGER192" name="Tiger192" value="6" />
      <member cname="GMIME_DIGEST_ALGO_HAVAL5160" name="Haval5160" value="7" />
      <member cname="GMIME_DIGEST_ALGO_SHA256" name="Sha256" value="8" />
      <member cname="GMIME_DIGEST_ALGO_SHA384" name="Sha384" value="9" />
      <member cname="GMIME_DIGEST_ALGO_SHA512" name="Sha512" value="10" />
      <member cname="GMIME_DIGEST_ALGO_SHA224" name="Sha224" value="11" />
      <member cname="GMIME_DIGEST_ALGO_MD4" name="Md4" value="301" />
    </enum>
    <enum name="EncodingConstraint" cname="GMimeEncodingConstraint" type="enum">
      <member cname="GMIME_ENCODING_CONSTRAINT_7BIT" name="SevenBit" />
      <member cname="GMIME_ENCODING_CONSTRAINT_8BIT" name="EightBit" />
      <member cname="GMIME_ENCODING_CONSTRAINT_BINARY" name="Binary" />
    </enum>
    <enum name="FilterBestFlags" cname="GMimeFilterBestFlags" type="flags">
      <member cname="GMIME_FILTER_BEST_CHARSET" name="Charset" value="1 &lt;&lt; 0" />
      <member cname="GMIME_FILTER_BEST_ENCODING" name="Encoding" value="1 &lt;&lt; 1" />
    </enum>
    <enum name="FilterFromMode" cname="GMimeFilterFromMode" type="enum">
      <member cname="GMIME_FILTER_FROM_MODE_DEFAULT" name="Default" />
      <member cname="GMIME_FILTER_FROM_MODE_ESCAPE" name="Escape" />
      <member cname="GMIME_FILTER_FROM_MODE_ARMOR" name="Armor" value="1" />
    </enum>
    <enum name="FilterGZipMode" cname="GMimeFilterGZipMode" type="enum">
      <member cname="GMIME_FILTER_GZIP_MODE_ZIP" name="Zip" />
      <member cname="GMIME_FILTER_GZIP_MODE_UNZIP" name="Unzip" />
    </enum>
    <enum name="PubKeyAlgo" cname="GMimePubKeyAlgo" type="enum">
      <member cname="GMIME_PUBKEY_ALGO_DEFAULT" name="Default" />
      <member cname="GMIME_PUBKEY_ALGO_RSA" name="Rsa" value="1" />
      <member cname="GMIME_PUBKEY_ALGO_RSA_E" name="RsaE" value="2" />
      <member cname="GMIME_PUBKEY_ALGO_RSA_S" name="RsaS" value="3" />
      <member cname="GMIME_PUBKEY_ALGO_ELG_E" name="ElgE" value="16" />
      <member cname="GMIME_PUBKEY_ALGO_DSA" name="Dsa" value="17" />
      <member cname="GMIME_PUBKEY_ALGO_ELG" name="Elg" value="20" />
    </enum>
    <enum name="RecipientType" cname="GMimeRecipientType" type="enum">
      <member cname="GMIME_RECIPIENT_TYPE_TO" name="To" />
      <member cname="GMIME_RECIPIENT_TYPE_CC" name="Cc" />
      <member cname="GMIME_RECIPIENT_TYPE_BCC" name="Bcc" />
    </enum>
    <enum name="SeekWhence" cname="GMimeSeekWhence" type="enum">
      <member cname="GMIME_STREAM_SEEK_SET" name="Set" value="0" />
      <member cname="GMIME_STREAM_SEEK_CUR" name="Cur" value="1" />
      <member cname="GMIME_STREAM_SEEK_END" name="End" value="2" />
    </enum>
    <enum name="SignatureError" cname="GMimeSignatureError" type="flags">
      <member cname="GMIME_SIGNATURE_ERROR_NONE" name="None" />
      <member cname="GMIME_SIGNATURE_ERROR_EXPSIG" name="ExpiredSignature" value="1 &lt;&lt; 0" />
      <member cname="GMIME_SIGNATURE_ERROR_NO_PUBKEY" name="NoPublicKey" value="1 &lt;&lt; 1" />
      <member cname="GMIME_SIGNATURE_ERROR_EXPKEYSIG" name="ExpiredSignatureKey" value="1 &lt;&lt; 2" />
      <member cname="GMIME_SIGNATURE_ERROR_REVKEYSIG" name="RevokedSignatureKey" value="1 &lt;&lt; 3" />
      <member cname="GMIME_SIGNATURE_ERROR_UNSUPP_ALGO" name="UnsupportedAlgorithm" value="1 &lt;&lt; 4" />
    </enum>
    <enum name="SignatureStatus" cname="GMimeSignatureStatus" type="enum">
      <member cname="GMIME_SIGNATURE_STATUS_GOOD" name="Good" />
      <member cname="GMIME_SIGNATURE_STATUS_ERROR" name="Error" />
      <member cname="GMIME_SIGNATURE_STATUS_BAD" name="Bad" />
    </enum>
    <enum name="StreamBufferMode" cname="GMimeStreamBufferMode" type="enum">
      <member cname="GMIME_STREAM_BUFFER_CACHE_READ" name="CacheRead" />
      <member cname="GMIME_STREAM_BUFFER_BLOCK_READ" name="BlockRead" />
      <member cname="GMIME_STREAM_BUFFER_BLOCK_WRITE" name="BlockWrite" />
    </enum>
    <callback name="HeaderWriter" cname="GMimeHeaderWriter">
      <return-type type="ssize_t" />
      <parameters>
        <parameter type="GMimeStream*" name="stream" />
        <parameter type="const-char*" name="name" />
        <parameter type="const-char*" name="value" />
      </parameters>
    </callback>
    <callback name="ObjectForeachFunc" cname="GMimeObjectForeachFunc">
      <return-type type="void" />
      <parameters>
        <parameter type="GMimeObject*" name="parent" />
        <parameter type="GMimeObject*" name="part" />
        <parameter type="gpointer" name="user_data" />
      </parameters>
    </callback>
    <callback name="ParserHeaderRegexFunc" cname="GMimeParserHeaderRegexFunc">
      <return-type type="void" />
      <parameters>
        <parameter type="GMimeParser*" name="parser" />
        <parameter type="const-char*" name="header" />
        <parameter type="const-char*" name="value" />
        <parameter type="gint64" name="offset" />
        <parameter type="gpointer" name="user_data" />
      </parameters>
    </callback>
    <callback name="PasswordRequestFunc" cname="GMimePasswordRequestFunc">
      <return-type type="gboolean" />
      <parameters>
        <parameter type="GMimeCryptoContext*" name="ctx" />
        <parameter type="const-char*" name="user_id" />
        <parameter type="const-char*" name="prompt_ctx" />
        <parameter type="gboolean" name="reprompt" />
        <parameter type="GMimeStream*" name="response" />
        <parameter type="GError**" name="err" />
      </parameters>
    </callback>
    <object name="Certificate" cname="GMimeCertificate" parent="GObject">
      <field name="PubkeyAlgo" cname="pubkey_algo" type="GMimePubKeyAlgo" />
      <field name="DigestAlgo" cname="digest_algo" type="GMimeDigestAlgo" />
      <field name="Trust" cname="trust" type="GMimeCertificateTrust" />
      <field name="IssuerSerial" cname="issuer_serial" type="char*" />
      <field name="IssuerName" cname="issuer_name" type="char*" />
      <field name="Fingerprint" cname="fingerprint" type="char*" />
      <field name="Created" cname="created" type="time_t" />
      <field name="Expires" cname="expires" type="time_t" />
      <field name="Keyid" cname="keyid" type="char*" />
      <field name="Email" cname="email" type="char*" />
      <field name="Name" cname="name" type="char*" />
      <method name="GetCreationDate" cname="g_mime_certificate_get_created">
        <return-type type="time_t" />
      </method>
      <method name="GetDigestAlgo" cname="g_mime_certificate_get_digest_algo">
        <return-type type="GMimeDigestAlgo" />
      </method>
      <method name="GetEmail" cname="g_mime_certificate_get_email">
        <return-type type="const-char*" />
      </method>
      <method name="GetExpirationDate" cname="g_mime_certificate_get_expires">
        <return-type type="time_t" />
      </method>
      <method name="GetFingerprint" cname="g_mime_certificate_get_fingerprint">
        <return-type type="const-char*" />
      </method>
      <method name="GetIssuerName" cname="g_mime_certificate_get_issuer_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetIssuerSerial" cname="g_mime_certificate_get_issuer_serial">
        <return-type type="const-char*" />
      </method>
      <method name="GetKeyId" cname="g_mime_certificate_get_key_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetName" cname="g_mime_certificate_get_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetPubkeyAlgo" cname="g_mime_certificate_get_pubkey_algo">
        <return-type type="GMimePubKeyAlgo" />
      </method>
      <method name="GetTrust" cname="g_mime_certificate_get_trust">
        <return-type type="GMimeCertificateTrust" />
      </method>
      <method name="GetType" cname="g_mime_certificate_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_certificate_new" />
      <method name="SetCreationDate" cname="g_mime_certificate_set_created">
        <return-type type="void" />
        <parameters>
          <parameter type="time_t" name="created" />
        </parameters>
      </method>
      <method name="SetDigestAlgo" cname="g_mime_certificate_set_digest_algo">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeDigestAlgo" name="algo" />
        </parameters>
      </method>
      <method name="SetEmail" cname="g_mime_certificate_set_email">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="email" />
        </parameters>
      </method>
      <method name="SetExpirationDate" cname="g_mime_certificate_set_expires">
        <return-type type="void" />
        <parameters>
          <parameter type="time_t" name="expires" />
        </parameters>
      </method>
      <method name="SetFingerprint" cname="g_mime_certificate_set_fingerprint">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="fingerprint" />
        </parameters>
      </method>
      <method name="SetIssuerName" cname="g_mime_certificate_set_issuer_name">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="issuer_name" />
        </parameters>
      </method>
      <method name="SetIssuerSerial" cname="g_mime_certificate_set_issuer_serial">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="issuer_serial" />
        </parameters>
      </method>
      <method name="SetKeyId" cname="g_mime_certificate_set_key_id">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="key_id" />
        </parameters>
      </method>
      <method name="SetName" cname="g_mime_certificate_set_name">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="SetPubkeyAlgo" cname="g_mime_certificate_set_pubkey_algo">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimePubKeyAlgo" name="algo" />
        </parameters>
      </method>
      <method name="SetTrust" cname="g_mime_certificate_set_trust">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeCertificateTrust" name="trust" />
        </parameters>
      </method>
    </object>
    <object name="CertificateCollection" cname="GMimeCertificateList" parent="GObject">
      <method name="GetType" cname="g_mime_certificate_list_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_certificate_list_new" />
      <implements>
        <interface name="IList" />
      </implements>
    </object>
    <object name="CryptoContext" cname="GMimeCryptoContext" parent="GObject">
      <field name="RequestPasswd" cname="request_passwd" type="GMimePasswordRequestFunc" />
      <virtual_method name="DigestId" cname="digest_id">
        <return-type type="GMimeDigestAlgo" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="const-char*" name="name" />
        </parameters>
      </virtual_method>
      <virtual_method name="Sign" cname="sign">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="Verify" cname="verify">
        <return-type type="GMimeSignatureList*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="sigstream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="Encrypt" cname="encrypt">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="gboolean" name="sign" />
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GPtrArray*" name="recipients" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="Decrypt" cname="decrypt">
        <return-type type="GMimeDecryptResult*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="ImportKeys" cname="import_keys">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="ExportKeys" cname="export_keys">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GPtrArray*" name="keys" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="DecryptSession" cname="decrypt_session">
        <return-type type="GMimeDecryptResult*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="const-char*" name="session_key" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <virtual_method name="GetRetrieveSessionKey" cname="get_retrieve_session_key">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
        </parameters>
      </virtual_method>
      <virtual_method name="SetRetrieveSessionKey" cname="set_retrieve_session_key">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="gboolean" name="retrieve_session_key" />
          <parameter type="GError**" name="err" />
        </parameters>
      </virtual_method>
      <method name="Decrypt" cname="g_mime_crypto_context_decrypt">
        <return-type type="GMimeDecryptResult*" />
        <parameters>
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="DecryptSession" cname="g_mime_crypto_context_decrypt_session">
        <return-type type="GMimeDecryptResult*" />
        <parameters>
          <parameter type="const-char*" name="session_key" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="DigestId" cname="g_mime_crypto_context_digest_id">
        <return-type type="GMimeDigestAlgo" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="DigestName" cname="g_mime_crypto_context_digest_name">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="GMimeDigestAlgo" name="digest" />
        </parameters>
      </method>
      <method name="Encrypt" cname="g_mime_crypto_context_encrypt">
        <return-type type="int" />
        <parameters>
          <parameter type="gboolean" name="sign" />
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GPtrArray*" name="recipients" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="ExportKeys" cname="g_mime_crypto_context_export_keys">
        <return-type type="int" />
        <parameters>
          <parameter type="GPtrArray*" name="keys" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="GetEncryptionProtocol" cname="g_mime_crypto_context_get_encryption_protocol">
        <return-type type="const-char*" />
      </method>
      <method name="GetKeyExchangeProtocol" cname="g_mime_crypto_context_get_key_exchange_protocol">
        <return-type type="const-char*" />
      </method>
      <method name="GetRetrieveSessionKey" cname="g_mime_crypto_context_get_retrieve_session_key">
        <return-type type="gboolean" />
      </method>
      <method name="GetSignatureProtocol" cname="g_mime_crypto_context_get_signature_protocol">
        <return-type type="const-char*" />
      </method>
      <method name="GetType" cname="g_mime_crypto_context_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="ImportKeys" cname="g_mime_crypto_context_import_keys">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="SetRetrieveSessionKey" cname="g_mime_crypto_context_set_retrieve_session_key">
        <return-type type="int" />
        <parameters>
          <parameter type="gboolean" name="retrieve_session_key" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="Sign" cname="g_mime_crypto_context_sign">
        <return-type type="int" />
        <parameters>
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="ostream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="Verify" cname="g_mime_crypto_context_verify">
        <return-type type="GMimeSignatureList*" />
        <parameters>
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GMimeStream*" name="istream" />
          <parameter type="GMimeStream*" name="sigstream" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
    </object>
    <object name="DataWrapper" cname="GMimeDataWrapper" parent="GObject">
      <field name="Encoding" cname="encoding" type="GMimeContentEncoding" />
      <field name="Stream" cname="stream" type="GMimeStream*" />
      <virtual_method name="WriteToStream" cname="write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeDataWrapper*" name="wrapper" />
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <method name="GetEncoding" cname="g_mime_data_wrapper_get_encoding">
        <return-type type="GMimeContentEncoding" />
      </method>
      <method name="GetGMimeStream" cname="g_mime_data_wrapper_get_stream">
        <return-type type="GMimeStream*" />
      </method>
      <method name="GetType" cname="g_mime_data_wrapper_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_data_wrapper_new" />
      <constructor cname="g_mime_data_wrapper_new_with_stream">
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="GMimeContentEncoding" name="encoding" />
        </parameters>
      </constructor>
      <method name="SetEncoding" cname="g_mime_data_wrapper_set_encoding">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentEncoding" name="encoding" />
        </parameters>
      </method>
      <method name="SetGMimeStream" cname="g_mime_data_wrapper_set_stream">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
      <method name="WriteToStream" cname="g_mime_data_wrapper_write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
    </object>
    <object name="DecryptResult" cname="GMimeDecryptResult" parent="GObject">
      <field name="Recipients" cname="recipients" type="GMimeCertificateList*" />
      <field name="Signatures" cname="signatures" type="GMimeSignatureList*" />
      <field name="Cipher" cname="cipher" type="GMimeCipherAlgo" />
      <field name="Mdc" cname="mdc" type="GMimeDigestAlgo" />
      <field name="SessionKey" cname="session_key" type="char*" />
      <method name="GetCipher" cname="g_mime_decrypt_result_get_cipher">
        <return-type type="GMimeCipherAlgo" />
      </method>
      <method name="GetMdc" cname="g_mime_decrypt_result_get_mdc">
        <return-type type="GMimeDigestAlgo" />
      </method>
      <method name="GetRecipients" cname="g_mime_decrypt_result_get_recipients">
        <return-type type="GMimeCertificateList*" />
      </method>
      <method name="GetSessionKey" cname="g_mime_decrypt_result_get_session_key">
        <return-type type="const-char*" />
      </method>
      <method name="GetSignatures" cname="g_mime_decrypt_result_get_signatures">
        <return-type type="GMimeSignatureList*" />
      </method>
      <method name="GetType" cname="g_mime_decrypt_result_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_decrypt_result_new" />
      <method name="SetCipher" cname="g_mime_decrypt_result_set_cipher">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeCipherAlgo" name="cipher" />
        </parameters>
      </method>
      <method name="SetMdc" cname="g_mime_decrypt_result_set_mdc">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeDigestAlgo" name="mdc" />
        </parameters>
      </method>
      <method name="SetRecipients" cname="g_mime_decrypt_result_set_recipients">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeCertificateList*" name="recipients" />
        </parameters>
      </method>
      <method name="SetSessionKey" cname="g_mime_decrypt_result_set_session_key">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="session_key" />
        </parameters>
      </method>
      <method name="SetSignatures" cname="g_mime_decrypt_result_set_signatures">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeSignatureList*" name="signatures" />
        </parameters>
      </method>
    </object>
    <object name="Filter" cname="GMimeFilter" parent="GObject" abstract="1">
      <field name="Priv" cname="priv" type="struct-_GMimeFilterPrivate*" />
      <field name="Outreal" cname="outreal" type="char*" />
      <field name="Outbuf" cname="outbuf" type="char*" />
      <field name="Outptr" cname="outptr" type="char*" />
      <field name="Outsize" cname="outsize" type="guint32" />
      <field name="Outpre" cname="outpre" type="guint32" />
      <field name="Backbuf" cname="backbuf" type="char*" />
      <field name="Backsize" cname="backsize" type="guint32" />
      <field name="Backlen" cname="backlen" type="guint32" />
      <virtual_method name="Copy" cname="copy">
        <return-type type="GMimeFilter*" owned="true" />
        <parameters>
          <parameter type="GMimeFilter*" name="filter" />
        </parameters>
      </virtual_method>
      <virtual_method name="Filter" cname="filter">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeFilter*" name="filter" />
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint32" name="prespace" />
          <parameter type="guint8**" name="outbuf" array="true" />
          <parameter type="guint32*" name="outlen" />
          <parameter type="guint32*" name="outprespace" />
        </parameters>
      </virtual_method>
      <virtual_method name="Complete" cname="complete">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeFilter*" name="filter" />
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint32" name="prespace" />
          <parameter type="guint8**" name="outbuf" array="true" />
          <parameter type="guint32*" name="outlen" />
          <parameter type="guint32*" name="outprespace" />
        </parameters>
      </virtual_method>
      <virtual_method name="Reset" cname="reset">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeFilter*" name="filter" />
        </parameters>
      </virtual_method>
      <method name="Backup" cname="g_mime_filter_backup">
        <return-type type="void" />
        <parameters>
          <parameter type="const-guint8*" name="buf" array="true" />
          <parameter type="guint32" name="n_buf" />
        </parameters>
      </method>
      <method name="Complete" cname="g_mime_filter_complete">
        <return-type type="void" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint32" name="prespace" />
          <parameter type="guint8**" name="outbuf" array="true" />
          <parameter type="guint32*" name="outlen" />
          <parameter type="guint32*" name="outprespace" />
        </parameters>
      </method>
      <method name="Copy" cname="g_mime_filter_copy">
        <return-type type="GMimeFilter*" owned="true" />
      </method>
      <method name="ApplyFilter" cname="g_mime_filter_filter">
        <return-type type="void" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint32" name="prespace" />
          <parameter type="guint8**" name="outbuf" array="true" />
          <parameter type="guint32*" name="outlen" />
          <parameter type="guint32*" name="outprespace" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_filter_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="Reset" cname="g_mime_filter_reset">
        <return-type type="void" />
      </method>
      <method name="SetSize" cname="g_mime_filter_set_size">
        <return-type type="void" />
        <parameters>
          <parameter type="guint32" name="size" />
          <parameter type="gboolean" name="keep" />
        </parameters>
      </method>
    </object>
    <object name="FilterBasic" cname="GMimeFilterBasic" parent="GMimeFilter">
      <field name="Encoder" cname="encoder" type="GMimeEncoding" />
      <method name="GetType" cname="g_mime_filter_basic_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_basic_new">
        <parameters>
          <parameter type="GMimeContentEncoding" name="encoding" />
          <parameter type="gboolean" name="encode" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterBest" cname="GMimeFilterBest" parent="GMimeFilter">
      <field name="Flags" cname="flags" type="GMimeFilterBestFlags" />
      <field name="Charset" cname="charset" type="GMimeCharset" />
      <field name="Count0" cname="count0" type="unsigned int" />
      <field name="Count8" cname="count8" type="unsigned int" />
      <field name="Total" cname="total" type="unsigned int" />
      <field name="Maxline" cname="maxline" type="unsigned int" />
      <field name="Linelen" cname="linelen" type="unsigned int" />
      <field name="Frombuf" cname="frombuf" array_len="6" type="unsigned char" />
      <field name="Fromlen" cname="fromlen" bits="4" type="unsigned int" />
      <field name="Hadfrom" cname="hadfrom" bits="1" type="unsigned int" />
      <field name="Startline" cname="startline" bits="1" type="unsigned int" />
      <field name="Midline" cname="midline" bits="1" type="unsigned int" />
      <method name="GetBestCharset" cname="g_mime_filter_best_charset">
        <return-type type="const-char*" />
      </method>
      <method name="GetBestEncoding" cname="g_mime_filter_best_encoding">
        <return-type type="GMimeContentEncoding" />
        <parameters>
          <parameter type="GMimeEncodingConstraint" name="constraint" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_filter_best_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_best_new">
        <parameters>
          <parameter type="GMimeFilterBestFlags" name="flags" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterCharset" cname="GMimeFilterCharset" parent="GMimeFilter">
      <field name="FromCharset" cname="from_charset" type="char*" />
      <field name="ToCharset" cname="to_charset" type="char*" />
      <field name="Cd" cname="cd" type="iconv_t" />
      <method name="GetType" cname="g_mime_filter_charset_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_charset_new">
        <parameters>
          <parameter type="const-char*" name="from_charset" />
          <parameter type="const-char*" name="to_charset" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterCRLF" cname="GMimeFilterCRLF" parent="GMimeFilter">
      <field name="Encode" cname="encode" type="gboolean" />
      <field name="Dots" cname="dots" type="gboolean" />
      <field name="SawCr" cname="saw_cr" type="gboolean" />
      <field name="SawLf" cname="saw_lf" type="gboolean" />
      <field name="SawDot" cname="saw_dot" type="gboolean" />
      <method name="GetType" cname="g_mime_filter_crlf_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_crlf_new">
        <parameters>
          <parameter type="gboolean" name="encode" />
          <parameter type="gboolean" name="dots" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterEnriched" cname="GMimeFilterEnriched" parent="GMimeFilter">
      <field name="Flags" cname="flags" type="guint32" />
      <field name="Nofill" cname="nofill" type="int" />
      <method name="GetType" cname="g_mime_filter_enriched_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_enriched_new">
        <parameters>
          <parameter type="guint32" name="flags" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterFrom" cname="GMimeFilterFrom" parent="GMimeFilter">
      <field name="Mode" cname="mode" type="GMimeFilterFromMode" />
      <field name="Midline" cname="midline" type="gboolean" />
      <method name="GetType" cname="g_mime_filter_from_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_from_new">
        <parameters>
          <parameter type="GMimeFilterFromMode" name="mode" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterGZip" cname="GMimeFilterGZip" parent="GMimeFilter">
      <field name="Priv" cname="priv" type="struct-_GMimeFilterGZipPrivate*" />
      <field name="Mode" cname="mode" type="GMimeFilterGZipMode" />
      <field name="Level" cname="level" type="int" />
      <method name="GetType" cname="g_mime_filter_gzip_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_gzip_new">
        <parameters>
          <parameter type="GMimeFilterGZipMode" name="mode" />
          <parameter type="int" name="level" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterHTML" cname="GMimeFilterHTML" parent="GMimeFilter">
      <field name="Scanner" cname="scanner" type="struct-_UrlScanner*" />
      <field name="Flags" cname="flags" type="guint32" />
      <field name="Colour" cname="colour" type="guint32" />
      <field name="Column" cname="column" bits="31" type="guint32" />
      <field name="PreOpen" cname="pre_open" bits="1" type="guint32" />
      <method name="GetType" cname="g_mime_filter_html_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_html_new">
        <parameters>
          <parameter type="guint32" name="flags" />
          <parameter type="guint32" name="colour" />
        </parameters>
      </constructor>
    </object>
    <object name="FilterMd5" cname="GMimeFilterMd5" parent="GMimeFilter">
      <field name="Priv" cname="priv" type="struct-_GMimeFilterMd5Private*" />
      <method name="GetDigest" cname="g_mime_filter_md5_get_digest">
        <return-type type="void" />
        <parameters>
          <parameter type="unsigned-char" array="true" name="digest" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_filter_md5_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_md5_new" />
    </object>
    <object name="FilterStrip" cname="GMimeFilterStrip" parent="GMimeFilter">
      <method name="GetType" cname="g_mime_filter_strip_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_strip_new" />
    </object>
    <object name="FilterWindows" cname="GMimeFilterWindows" parent="GMimeFilter">
      <field name="IsWindows" cname="is_windows" type="gboolean" />
      <field name="ClaimedCharset" cname="claimed_charset" type="char*" />
      <method name="GetType" cname="g_mime_filter_windows_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="IsWindowsCharset" cname="g_mime_filter_windows_is_windows_charset">
        <return-type type="gboolean" />
      </method>
      <constructor cname="g_mime_filter_windows_new">
        <parameters>
          <parameter type="const-char*" name="claimed_charset" />
        </parameters>
      </constructor>
      <method name="RealCharset" cname="g_mime_filter_windows_real_charset">
        <return-type type="const-char*" />
      </method>
    </object>
    <object name="FilterYenc" cname="GMimeFilterYenc" parent="GMimeFilter">
      <field name="Encode" cname="encode" type="gboolean" />
      <field name="Part" cname="part" type="int" />
      <field name="State" cname="state" type="int" />
      <field name="Pcrc" cname="pcrc" type="guint32" />
      <field name="Crc" cname="crc" type="guint32" />
      <method name="GetCrc" cname="g_mime_filter_yenc_get_crc">
        <return-type type="guint32" />
      </method>
      <method name="GetPcrc" cname="g_mime_filter_yenc_get_pcrc">
        <return-type type="guint32" />
      </method>
      <method name="GetType" cname="g_mime_filter_yenc_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_filter_yenc_new">
        <parameters>
          <parameter type="gboolean" name="encode" />
        </parameters>
      </constructor>
      <method name="SetCrc" cname="g_mime_filter_yenc_set_crc">
        <return-type type="void" />
        <parameters>
          <parameter type="guint32" name="crc" />
        </parameters>
      </method>
      <method name="SetState" cname="g_mime_filter_yenc_set_state">
        <return-type type="void" />
        <parameters>
          <parameter type="int" name="state" />
        </parameters>
      </method>
    </object>
    <object name="GpgContext" cname="GMimeGpgContext" parent="GMimeCryptoContext">
      <field name="AutoKeyRetrieve" cname="auto_key_retrieve" type="gboolean" />
      <field name="AlwaysTrust" cname="always_trust" type="gboolean" />
      <field name="UseAgent" cname="use_agent" type="gboolean" />
      <field name="Path" cname="path" type="char*" />
      <field name="RetrieveSessionKey" cname="retrieve_session_key" type="gboolean" />
      <field name="Version" cname="version" type="int" />
      <method name="GetAlwaysTrust" cname="g_mime_gpg_context_get_always_trust">
        <return-type type="gboolean" />
      </method>
      <method name="GetAutoKeyRetrieve" cname="g_mime_gpg_context_get_auto_key_retrieve">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_gpg_context_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="GetUseAgent" cname="g_mime_gpg_context_get_use_agent">
        <return-type type="gboolean" />
      </method>
      <constructor cname="g_mime_gpg_context_new">
        <parameters>
          <parameter type="GMimePasswordRequestFunc" name="request_passwd" scope="call" />
          <parameter type="const-char*" name="path" />
        </parameters>
      </constructor>
      <method name="SetAlwaysTrust" cname="g_mime_gpg_context_set_always_trust">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="always_trust" />
        </parameters>
      </method>
      <method name="SetAutoKeyRetrieve" cname="g_mime_gpg_context_set_auto_key_retrieve">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="auto_key_retrieve" />
        </parameters>
      </method>
      <method name="SetUseAgent" cname="g_mime_gpg_context_set_use_agent">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="use_agent" />
        </parameters>
      </method>
    </object>
    <object name="Message" cname="GMimeMessage" parent="GMimeObject">
      <field name="Recipients" cname="recipients" type="InternetAddressList**" />
      <field name="MimePart" cname="mime_part" type="GMimeObject*" />
      <field name="MessageId" cname="message_id" type="char*" />
      <field name="ReplyTo" cname="reply_to" type="char*" />
      <field name="Subject" cname="subject" type="char*" />
      <field name="From" cname="from" type="char*" />
      <field name="Date" cname="date" type="time_t" />
      <field name="TzOffset" cname="tz_offset" type="int" />
      <method name="AddRecipient" cname="g_mime_message_add_recipient">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeRecipientType" name="type" />
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="addr" />
        </parameters>
      </method>
      <method name="GetAllRecipients" cname="g_mime_message_get_all_recipients">
        <return-type type="InternetAddressList*" owned="true" />
      </method>
      <method name="GetBody" cname="g_mime_message_get_body">
        <return-type type="GMimeObject*" />
      </method>
      <method name="GetDateAsString" cname="g_mime_message_get_date_as_string">
        <return-type type="char*" />
      </method>
      <method name="GetMessageId" cname="g_mime_message_get_message_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetMimePart" cname="g_mime_message_get_mime_part">
        <return-type type="GMimeObject*" />
      </method>
      <method name="GetReplyTo" cname="g_mime_message_get_reply_to">
        <return-type type="const-char*" />
      </method>
      <method name="GetSender" cname="g_mime_message_get_sender">
        <return-type type="const-char*" />
      </method>
      <method name="GetSubject" cname="g_mime_message_get_subject">
        <return-type type="const-char*" />
      </method>
      <method name="GetType" cname="g_mime_message_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_message_new">
        <parameters>
          <parameter type="gboolean" name="pretty_headers" />
        </parameters>
      </constructor>
      <method name="SetDateAsString" cname="g_mime_message_set_date_as_string">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </method>
      <method name="SetMessageId" cname="g_mime_message_set_message_id">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="message_id" />
        </parameters>
      </method>
      <method name="SetMimePart" cname="g_mime_message_set_mime_part">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="mime_part" />
        </parameters>
      </method>
      <method name="SetReplyTo" cname="g_mime_message_set_reply_to">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="reply_to" />
        </parameters>
      </method>
      <method name="SetSender" cname="g_mime_message_set_sender">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="sender" />
        </parameters>
      </method>
      <method name="SetSubject" cname="g_mime_message_set_subject">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="subject" />
        </parameters>
      </method>
    </object>
    <object name="MessagePart" cname="GMimeMessagePart" parent="GMimeObject">
      <field name="Message" cname="message" type="GMimeMessage*" />
      <method name="GetMessage" cname="g_mime_message_part_get_message">
        <return-type type="GMimeMessage*" />
      </method>
      <method name="GetType" cname="g_mime_message_part_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_message_part_new">
        <parameters>
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_message_part_new_with_message">
        <parameters>
          <parameter type="const-char*" name="subtype" />
          <parameter type="GMimeMessage*" name="message" />
        </parameters>
      </constructor>
      <method name="SetMessage" cname="g_mime_message_part_set_message">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeMessage*" name="message" />
        </parameters>
      </method>
    </object>
    <object name="MessagePartial" cname="GMimeMessagePartial" parent="GMimePart">
      <field name="Number" cname="number" type="int" />
      <field name="Total" cname="total" type="int" />
      <field name="Id" cname="id" type="char*" />
      <method name="GetId" cname="g_mime_message_partial_get_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetNumber" cname="g_mime_message_partial_get_number">
        <return-type type="int" />
      </method>
      <method name="GetTotal" cname="g_mime_message_partial_get_total">
        <return-type type="int" />
      </method>
      <method name="GetType" cname="g_mime_message_partial_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_message_partial_new">
        <parameters>
          <parameter type="const-char*" name="id" />
          <parameter type="int" name="number" />
          <parameter type="int" name="total" />
        </parameters>
      </constructor>
      <method name="ReconstructMessage" cname="g_mime_message_partial_reconstruct_message" shared="true">
        <return-type type="GMimeMessage*" />
        <parameters>
          <parameter type="guint32" name="n_partials" />
          <parameter name="partials" type="GMimeMessagePartial**" array="true" />
        </parameters>
      </method>
      <method name="SplitMessage" cname="g_mime_message_partial_split_message" shared="true">
        <return-type type="GMimeMessage**" />
        <parameters>
          <parameter type="GMimeMessage*" name="message" />
          <parameter type="guint32" name="max_size" />
          <parameter type="guint32*" name="nparts" />
        </parameters>
      </method>
    </object>
    <object name="Multipart" cname="GMimeMultipart" parent="GMimeObject">
      <field name="Children" cname="children" type="GPtrArray*" />
      <field name="Boundary" cname="boundary" type="char*" />
      <field name="Preface" cname="preface" type="char*" />
      <field name="Postface" cname="postface" type="char*" />
      <virtual_method name="Clear" cname="clear">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
        </parameters>
      </virtual_method>
      <virtual_method name="Add" cname="add">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="GMimeObject*" name="part" />
        </parameters>
      </virtual_method>
      <virtual_method name="Insert" cname="insert">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="int" name="index" />
          <parameter type="GMimeObject*" name="part" />
        </parameters>
      </virtual_method>
      <virtual_method name="Remove" cname="remove">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="GMimeObject*" name="part" />
        </parameters>
      </virtual_method>
      <virtual_method name="RemoveAt" cname="remove_at">
        <return-type type="GMimeObject*" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="int" name="index" />
        </parameters>
      </virtual_method>
      <virtual_method name="GetPart" cname="get_part">
        <return-type type="GMimeObject*" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="int" name="index" />
        </parameters>
      </virtual_method>
      <virtual_method name="Contains" cname="contains">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="GMimeObject*" name="part" />
        </parameters>
      </virtual_method>
      <virtual_method name="IndexOf" cname="index_of">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="GMimeObject*" name="part" />
        </parameters>
      </virtual_method>
      <virtual_method name="GetCount" cname="get_count">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
        </parameters>
      </virtual_method>
      <virtual_method name="SetBoundary" cname="set_boundary">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeMultipart*" name="multipart" />
          <parameter type="const-char*" name="boundary" />
        </parameters>
      </virtual_method>
      <method name="GetBoundary" cname="g_mime_multipart_get_boundary">
        <return-type type="const-char*" />
      </method>
      <method name="GetPostface" cname="g_mime_multipart_get_postface">
        <return-type type="const-char*" />
      </method>
      <method name="GetPreface" cname="g_mime_multipart_get_preface">
        <return-type type="const-char*" />
      </method>
      <method name="GetSubpartFromContentId" cname="g_mime_multipart_get_subpart_from_content_id">
        <return-type type="GMimeObject*" />
        <parameters>
          <parameter type="const-char*" name="content_id" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_multipart_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_multipart_new" />
      <constructor cname="g_mime_multipart_new_with_subtype">
        <parameters>
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </constructor>
      <method name="SetBoundary" cname="g_mime_multipart_set_boundary">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="boundary" />
        </parameters>
      </method>
      <method name="SetPostface" cname="g_mime_multipart_set_postface">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="postface" />
        </parameters>
      </method>
      <method name="SetPreface" cname="g_mime_multipart_set_preface">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="preface" />
        </parameters>
      </method>
      <implements>
        <interface name="IList" />
      </implements>
    </object>
    <object name="MultipartEncrypted" cname="GMimeMultipartEncrypted" parent="GMimeMultipart">
      <method name="Decrypt" cname="g_mime_multipart_encrypted_decrypt">
        <return-type type="GMimeObject*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GMimeDecryptResult**" name="result" pass_as="out" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="DecryptSession" cname="g_mime_multipart_encrypted_decrypt_session">
        <return-type type="GMimeObject*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="const-char*" name="session_key" />
          <parameter type="GMimeDecryptResult**" name="result" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="Encrypt" cname="g_mime_multipart_encrypted_encrypt">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeObject*" name="content" />
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="gboolean" name="sign" />
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GPtrArray*" name="recipients" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_multipart_encrypted_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_multipart_encrypted_new" />
    </object>
    <object name="MultipartSigned" cname="GMimeMultipartSigned" parent="GMimeMultipart">
      <method name="GetType" cname="g_mime_multipart_signed_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_multipart_signed_new" />
      <method name="Sign" cname="g_mime_multipart_signed_sign">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeObject*" name="content" />
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="const-char*" name="userid" />
          <parameter type="GMimeDigestAlgo" name="digest" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
      <method name="Verify" cname="g_mime_multipart_signed_verify">
        <return-type type="GMimeSignatureList*" />
        <parameters>
          <parameter type="GMimeCryptoContext*" name="ctx" />
          <parameter type="GError**" name="err" />
        </parameters>
      </method>
    </object>
    <object name="Entity" cname="GMimeObject" parent="GObject">
      <field name="Disposition" cname="disposition" type="GMimeContentDisposition*" />
      <field name="ContentType" cname="content_type" type="GMimeContentType*" />
      <field name="Headers" cname="headers" type="GMimeHeaderList*" />
      <field name="ContentId" cname="content_id" type="char*" />
      <virtual_method name="PrependHeader" cname="prepend_header">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="const-char*" name="header" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </virtual_method>
      <virtual_method name="AppendHeader" cname="append_header">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="const-char*" name="header" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </virtual_method>
      <virtual_method name="SetHeader" cname="set_header">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="const-char*" name="header" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </virtual_method>
      <virtual_method name="RemoveHeader" cname="remove_header">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="const-char*" name="header" />
        </parameters>
      </virtual_method>
      <virtual_method name="SetContentType" cname="set_content_type">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="GMimeContentType*" name="content_type" />
        </parameters>
      </virtual_method>
      <virtual_method name="GetHeaders" cname="get_headers">
        <return-type type="char*" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
        </parameters>
      </virtual_method>
      <virtual_method name="WriteToStream" cname="write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Encode" cname="encode">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeObject*" name="object" />
          <parameter type="GMimeEncodingConstraint" name="constraint" />
        </parameters>
      </virtual_method>
      <method name="Encode" cname="g_mime_object_encode">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeEncodingConstraint" name="constraint" />
        </parameters>
      </method>
      <method name="GetContentDisposition" cname="g_mime_object_get_content_disposition">
        <return-type type="GMimeContentDisposition*" />
      </method>
      <method name="GetContentId" cname="g_mime_object_get_content_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetContentType" cname="g_mime_object_get_content_type">
        <return-type type="GMimeContentType*" />
      </method>
      <method name="GetHeaderList" cname="g_mime_object_get_header_list">
        <return-type type="GMimeHeaderList*" />
      </method>
      <method name="GetHeaders" cname="g_mime_object_get_headers">
        <return-type type="char*" />
      </method>
      <method name="GetType" cname="g_mime_object_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="RegisterType" cname="g_mime_object_register_type" shared="true">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="type" />
          <parameter type="const-char*" name="subtype" />
          <parameter type="GType" name="object_type" />
        </parameters>
      </method>
      <method name="SetContentDisposition" cname="g_mime_object_set_content_disposition">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentDisposition*" name="disposition" />
        </parameters>
      </method>
      <method name="SetContentId" cname="g_mime_object_set_content_id">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="content_id" />
        </parameters>
      </method>
      <method name="SetContentType" cname="g_mime_object_set_content_type">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentType*" name="content_type" />
        </parameters>
      </method>
      <method name="ToString" cname="g_mime_object_to_string">
        <return-type type="char*" />
      </method>
      <method name="WriteToStream" cname="g_mime_object_write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
    </object>
    <object name="Parser" cname="GMimeParser" parent="GObject">
      <field name="Priv" cname="priv" type="struct-_GMimeParserPrivate*" />
      <method name="ConstructMessage" cname="g_mime_parser_construct_message">
        <return-type type="GMimeMessage*" owned="true" />
      </method>
      <method name="ConstructPart" cname="g_mime_parser_construct_part">
        <return-type type="GMimeObject*" owned="true" />
      </method>
      <method name="Eos" cname="g_mime_parser_eos">
        <return-type type="gboolean" />
      </method>
      <method name="GetFrom" cname="g_mime_parser_get_from">
        <return-type type="char*" />
      </method>
      <method name="GetFromOffset" cname="g_mime_parser_get_from_offset">
        <return-type type="gint64" />
      </method>
      <method name="GetHeadersBegin" cname="g_mime_parser_get_headers_begin">
        <return-type type="gint64" />
      </method>
      <method name="GetHeadersEnd" cname="g_mime_parser_get_headers_end">
        <return-type type="gint64" />
      </method>
      <method name="GetPersistStream" cname="g_mime_parser_get_persist_stream">
        <return-type type="gboolean" />
      </method>
      <method name="GetRespectContentLength" cname="g_mime_parser_get_respect_content_length">
        <return-type type="gboolean" />
      </method>
      <method name="GetScanFrom" cname="g_mime_parser_get_scan_from">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_parser_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="InitWithStream" cname="g_mime_parser_init_with_stream">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
      <constructor cname="g_mime_parser_new" />
      <constructor cname="g_mime_parser_new_with_stream">
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </constructor>
      <method name="SetHeaderRegex" cname="g_mime_parser_set_header_regex">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="regex" />
          <parameter type="GMimeParserHeaderRegexFunc" name="header_cb" scope="call" />
          <parameter type="gpointer" name="user_data" />
        </parameters>
      </method>
      <method name="SetPersistStream" cname="g_mime_parser_set_persist_stream">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="persist" />
        </parameters>
      </method>
      <method name="SetRespectContentLength" cname="g_mime_parser_set_respect_content_length">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="respect_content_length" />
        </parameters>
      </method>
      <method name="SetScanFrom" cname="g_mime_parser_set_scan_from">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="scan_from" />
        </parameters>
      </method>
      <method name="Tell" cname="g_mime_parser_tell">
        <return-type type="gint64" />
      </method>
    </object>
    <object name="Part" cname="GMimePart" parent="GMimeObject">
      <field name="Encoding" cname="encoding" type="GMimeContentEncoding" />
      <field name="ContentDescription" cname="content_description" type="char*" />
      <field name="ContentLocation" cname="content_location" type="char*" />
      <field name="ContentMd5" cname="content_md5" type="char*" />
      <field name="Content" cname="content" type="GMimeDataWrapper*" />
      <virtual_method name="SetContentObject" cname="set_content_object">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimePart*" name="mime_part" />
          <parameter type="GMimeDataWrapper*" name="content" />
        </parameters>
      </virtual_method>
      <method name="GetBestContentEncoding" cname="g_mime_part_get_best_content_encoding">
        <return-type type="GMimeContentEncoding" />
        <parameters>
          <parameter type="GMimeEncodingConstraint" name="constraint" />
        </parameters>
      </method>
      <method name="GetContentDescription" cname="g_mime_part_get_content_description">
        <return-type type="const-char*" />
      </method>
      <method name="GetContentEncoding" cname="g_mime_part_get_content_encoding">
        <return-type type="GMimeContentEncoding" />
      </method>
      <method name="GetContentId" cname="g_mime_part_get_content_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetContentLocation" cname="g_mime_part_get_content_location">
        <return-type type="const-char*" />
      </method>
      <method name="GetContentMd5" cname="g_mime_part_get_content_md5">
        <return-type type="const-char*" />
      </method>
      <method name="GetContentObject" cname="g_mime_part_get_content_object">
        <return-type type="GMimeDataWrapper*" />
      </method>
      <method name="GetFilename" cname="g_mime_part_get_filename">
        <return-type type="const-char*" />
      </method>
      <method name="GetType" cname="g_mime_part_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="IsAttachment" cname="g_mime_part_is_attachment">
        <return-type type="gboolean" />
      </method>
      <constructor cname="g_mime_part_new" />
      <constructor cname="g_mime_part_new_with_type">
        <parameters>
          <parameter type="const-char*" name="type" />
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </constructor>
      <method name="SetContentDescription" cname="g_mime_part_set_content_description">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="description" />
        </parameters>
      </method>
      <method name="SetContentEncoding" cname="g_mime_part_set_content_encoding">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentEncoding" name="encoding" />
        </parameters>
      </method>
      <method name="SetContentId" cname="g_mime_part_set_content_id">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="content_id" />
        </parameters>
      </method>
      <method name="SetContentLocation" cname="g_mime_part_set_content_location">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="content_location" />
        </parameters>
      </method>
      <method name="SetContentMd5" cname="g_mime_part_set_content_md5">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="content_md5" />
        </parameters>
      </method>
      <method name="SetContentObject" cname="g_mime_part_set_content_object">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeDataWrapper*" name="content" />
        </parameters>
      </method>
      <method name="SetFilename" cname="g_mime_part_set_filename">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="filename" />
        </parameters>
      </method>
      <method name="VerifyContentMd5" cname="g_mime_part_verify_content_md5">
        <return-type type="gboolean" />
      </method>
    </object>
    <object name="Pkcs7Context" cname="GMimePkcs7Context" parent="GMimeCryptoContext">
      <field name="Priv" cname="priv" type="struct-_GMimePkcs7ContextPrivate*" />
      <method name="GetAlwaysTrust" cname="g_mime_pkcs7_context_get_always_trust">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_pkcs7_context_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_pkcs7_context_new">
        <parameters>
          <parameter type="GMimePasswordRequestFunc" name="request_passwd" scope="call" />
        </parameters>
      </constructor>
      <method name="SetAlwaysTrust" cname="g_mime_pkcs7_context_set_always_trust">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="always_trust" />
        </parameters>
      </method>
    </object>
    <object name="Signature" cname="GMimeSignature" parent="GObject">
      <field name="Status" cname="status" type="GMimeSignatureStatus" />
      <field name="Errors" cname="errors" type="GMimeSignatureError" />
      <field name="Cert" cname="cert" type="GMimeCertificate*" />
      <field name="Created" cname="created" type="time_t" />
      <field name="Expires" cname="expires" type="time_t" />
      <method name="GetCertificate" cname="g_mime_signature_get_certificate">
        <return-type type="GMimeCertificate*" />
      </method>
      <method name="GetCreationDate" cname="g_mime_signature_get_created">
        <return-type type="time_t" />
      </method>
      <method name="GetErrors" cname="g_mime_signature_get_errors">
        <return-type type="GMimeSignatureError" />
      </method>
      <method name="GetExpirationDate" cname="g_mime_signature_get_expires">
        <return-type type="time_t" />
      </method>
      <method name="GetStatus" cname="g_mime_signature_get_status">
        <return-type type="GMimeSignatureStatus" />
      </method>
      <method name="GetType" cname="g_mime_signature_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_signature_new" />
      <method name="SetCertificate" cname="g_mime_signature_set_certificate">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeCertificate*" name="cert" />
        </parameters>
      </method>
      <method name="SetCreationDate" cname="g_mime_signature_set_created">
        <return-type type="void" />
        <parameters>
          <parameter type="time_t" name="created" />
        </parameters>
      </method>
      <method name="SetErrors" cname="g_mime_signature_set_errors">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeSignatureError" name="errors" />
        </parameters>
      </method>
      <method name="SetExpirationDate" cname="g_mime_signature_set_expires">
        <return-type type="void" />
        <parameters>
          <parameter type="time_t" name="expires" />
        </parameters>
      </method>
      <method name="SetStatus" cname="g_mime_signature_set_status">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeSignatureStatus" name="status" />
        </parameters>
      </method>
    </object>
    <object name="SignatureCollection" cname="GMimeSignatureList" parent="GObject">
      <method name="GetType" cname="g_mime_signature_list_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_signature_list_new" />
      <implements>
        <interface name="IList" />
      </implements>
    </object>
    <object name="Stream" cname="GMimeStream" parent="GObject" abstract="1">
      <field name="SuperStream" cname="super_stream" type="GMimeStream*" />
      <field name="Position" cname="position" type="gint64" />
      <field name="BoundStart" cname="bound_start" type="gint64" />
      <field name="BoundEnd" cname="bound_end" type="gint64" />
      <virtual_method name="Read" cname="read">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="char*" name="buf" />
          <parameter type="guint32" name="len" />
        </parameters>
      </virtual_method>
      <virtual_method name="Write" cname="write">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="const-char*" name="buf" />
          <parameter type="guint32" name="len" />
        </parameters>
      </virtual_method>
      <virtual_method name="Flush" cname="flush">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Close" cname="close">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Eos" cname="eos">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Reset" cname="reset">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Seek" cname="seek">
        <return-type type="gint64" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="gint64" name="offset" />
          <parameter type="GMimeSeekWhence" name="whence" />
        </parameters>
      </virtual_method>
      <virtual_method name="Tell" cname="tell">
        <return-type type="gint64" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Length" cname="length">
        <return-type type="gint64" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </virtual_method>
      <virtual_method name="Substream" cname="substream">
        <return-type type="GMimeStream*" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </virtual_method>
      <method name="Close" cname="g_mime_stream_close">
        <return-type type="int" />
      </method>
      <method name="Construct" cname="g_mime_stream_construct">
        <return-type type="void" />
        <parameters>
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </method>
      <method name="Eos" cname="g_mime_stream_eos">
        <return-type type="gboolean" />
      </method>
      <method name="Flush" cname="g_mime_stream_flush">
        <return-type type="int" />
      </method>
      <method name="GetType" cname="g_mime_stream_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="GetLength" cname="g_mime_stream_length">
        <return-type type="gint64" />
      </method>
      <method name="Read" cname="g_mime_stream_read">
        <return-type type="gint32" />
        <parameters>
          <parameter type="const-guint8*" name="buf" array="true" />
          <parameter type="guint32" name="len" />
        </parameters>
      </method>
      <method name="Reset" cname="g_mime_stream_reset">
        <return-type type="int" />
      </method>
      <method name="Seek" cname="g_mime_stream_seek">
        <return-type type="gint64" />
        <parameters>
          <parameter type="gint64" name="offset" />
          <parameter type="GMimeSeekWhence" name="whence" />
        </parameters>
      </method>
      <method name="SetBounds" cname="g_mime_stream_set_bounds">
        <return-type type="void" />
        <parameters>
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </method>
      <method name="Substream" cname="g_mime_stream_substream">
        <return-type type="GMimeStream*" />
        <parameters>
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </method>
      <method name="Tell" cname="g_mime_stream_tell">
        <return-type type="gint64" />
      </method>
      <method name="Write" cname="g_mime_stream_write">
        <return-type type="gint32" />
        <parameters>
          <parameter type="const-guint8*" name="buf" array="true" />
          <parameter type="guint32" name="len" />
        </parameters>
      </method>
      <method name="Write" cname="g_mime_stream_write_string">
        <return-type type="gint32" />
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </method>
      <method name="WriteToStream" cname="g_mime_stream_write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="dest" />
        </parameters>
      </method>
    </object>
    <object name="StreamBuffer" cname="GMimeStreamBuffer" parent="GMimeStream">
      <field name="Mode" cname="mode" type="GMimeStreamBufferMode" />
      <field name="Source" cname="source" type="GMimeStream*" />
      <field name="Buffer" cname="buffer" type="char*" />
      <field name="Bufptr" cname="bufptr" type="char*" />
      <field name="Bufend" cname="bufend" type="char*" />
      <field name="Buflen" cname="buflen" type="guint32" />
      <method name="GetType" cname="g_mime_stream_buffer_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="Gets" cname="g_mime_stream_buffer_gets" shared="true">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="char*" name="buf" />
          <parameter type="guint32" name="max" />
        </parameters>
      </method>
      <constructor cname="g_mime_stream_buffer_new">
        <parameters>
          <parameter type="GMimeStream*" name="source" />
          <parameter type="GMimeStreamBufferMode" name="mode" />
        </parameters>
      </constructor>
      <method name="Readln" cname="g_mime_stream_buffer_readln" shared="true">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
          <parameter type="GByteArray*" name="buffer" />
        </parameters>
      </method>
    </object>
    <object name="StreamCat" cname="GMimeStreamCat" parent="GMimeStream">
      <field name="Sources" cname="sources" type="struct-_cat_node*" />
      <field name="Current" cname="current" type="struct-_cat_node*" />
      <method name="AddSource" cname="g_mime_stream_cat_add_source">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeStream*" name="source" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_stream_cat_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_cat_new" />
    </object>
    <object name="StreamFile" cname="GMimeStreamFile" parent="GMimeStream" hidden="true">
      <field name="Owner" cname="owner" type="gboolean" />
      <field name="Fp" cname="fp" type="FILE*" />
      <method name="GetOwner" cname="g_mime_stream_file_get_owner">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_stream_file_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_file_new">
        <parameters>
          <parameter type="FILE*" name="fp" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_file_new_for_path">
        <parameters>
          <parameter type="const-char*" name="path" />
          <parameter type="const-char*" name="mode" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_file_new_with_bounds">
        <parameters>
          <parameter type="FILE*" name="fp" />
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </constructor>
      <method name="SetOwner" cname="g_mime_stream_file_set_owner">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="owner" />
        </parameters>
      </method>
    </object>
    <object name="StreamFilter" cname="GMimeStreamFilter" parent="GMimeStream">
      <field name="Priv" cname="priv" type="struct-_GMimeStreamFilterPrivate*" />
      <field name="Source" cname="source" type="GMimeStream*" />
      <method name="Add" cname="g_mime_stream_filter_add">
        <return-type type="int" />
        <parameters>
          <parameter type="GMimeFilter*" name="filter" />
        </parameters>
      </method>
      <method name="GetType" cname="g_mime_stream_filter_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_filter_new">
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </constructor>
      <method name="Remove" cname="g_mime_stream_filter_remove">
        <return-type type="void" />
        <parameters>
          <parameter type="int" name="id" />
        </parameters>
      </method>
    </object>
    <object name="StreamFs" cname="GMimeStreamFs" parent="GMimeStream">
      <field name="Owner" cname="owner" type="gboolean" />
      <field name="Eos" cname="eos" type="gboolean" />
      <field name="Fd" cname="fd" type="int" />
      <method name="GetOwner" cname="g_mime_stream_fs_get_owner">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_stream_fs_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_fs_new">
        <parameters>
          <parameter type="int" name="fd" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_fs_new_for_path">
        <parameters>
          <parameter type="const-char*" name="path" />
          <parameter type="int" name="flags" />
          <parameter type="int" name="mode" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_fs_new_with_bounds">
        <parameters>
          <parameter type="int" name="fd" />
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </constructor>
      <method name="SetOwner" cname="g_mime_stream_fs_set_owner">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="owner" />
        </parameters>
      </method>
    </object>
    <object name="StreamMem" cname="GMimeStreamMem" parent="GMimeStream">
      <field name="Buffer" cname="buffer" type="GByteArray*" />
      <field name="Owner" cname="owner" type="gboolean" />
      <method name="GetByteArray" cname="g_mime_stream_mem_get_byte_array">
        <return-type type="GByteArray*" />
      </method>
      <method name="GetOwner" cname="g_mime_stream_mem_get_owner">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_stream_mem_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_mem_new" />
      <constructor cname="g_mime_stream_mem_new_with_buffer">
        <parameters>
          <parameter type="const-char*" name="buffer" />
          <parameter type="guint32" name="len" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_mem_new_with_byte_array" hidden="true">
        <parameters>
          <parameter type="GByteArray*" name="array" />
        </parameters>
      </constructor>
      <method name="SetByteArray" cname="g_mime_stream_mem_set_byte_array">
        <return-type type="void" />
        <parameters>
          <parameter type="GByteArray*" name="array" />
        </parameters>
      </method>
      <method name="SetOwner" cname="g_mime_stream_mem_set_owner">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="owner" />
        </parameters>
      </method>
    </object>
    <object name="StreamMmap" cname="GMimeStreamMmap" parent="GMimeStream">
      <field name="Owner" cname="owner" type="gboolean" />
      <field name="Eos" cname="eos" type="gboolean" />
      <field name="Fd" cname="fd" type="int" />
      <field name="Map" cname="map" type="char*" />
      <field name="Maplen" cname="maplen" type="guint32" />
      <method name="GetType" cname="g_mime_stream_mmap_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_mmap_new">
        <parameters>
          <parameter type="int" name="fd" />
          <parameter type="int" name="prot" />
          <parameter type="int" name="flags" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_stream_mmap_new_with_bounds">
        <parameters>
          <parameter type="int" name="fd" />
          <parameter type="int" name="prot" />
          <parameter type="int" name="flags" />
          <parameter type="gint64" name="start" />
          <parameter type="gint64" name="end" />
        </parameters>
      </constructor>
    </object>
    <object name="StreamNull" cname="GMimeStreamNull" parent="GMimeStream">
      <field name="Written" cname="written" type="guint32" />
      <field name="Newlines" cname="newlines" type="guint32" />
      <method name="GetType" cname="g_mime_stream_null_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_null_new" />
    </object>
    <object name="StreamPipe" cname="GMimeStreamPipe" parent="GMimeStream">
      <field name="Owner" cname="owner" type="gboolean" />
      <field name="Eos" cname="eos" type="gboolean" />
      <field name="Fd" cname="fd" type="int" />
      <method name="GetOwner" cname="g_mime_stream_pipe_get_owner">
        <return-type type="gboolean" />
      </method>
      <method name="GetType" cname="g_mime_stream_pipe_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="g_mime_stream_pipe_new">
        <parameters>
          <parameter type="int" name="fd" />
        </parameters>
      </constructor>
      <method name="SetOwner" cname="g_mime_stream_pipe_set_owner">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="owner" />
        </parameters>
      </method>
    </object>
    <object name="ContentDisposition" cname="GMimeContentDisposition" parent="GObject">
      <field name="Priv" cname="priv" type="gpointer" />
      <field name="Disposition" cname="disposition" type="char*" />
      <method name="GetDisposition" cname="g_mime_content_disposition_get_disposition">
        <return-type type="const-char*" />
      </method>
      <method name="GetParameter" cname="g_mime_content_disposition_get_parameter">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="GetParams" cname="g_mime_content_disposition_get_params">
        <return-type type="const-GMimeParam*" />
      </method>
      <method name="GetType" cname="g_mime_content_disposition_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="IsAttachment" cname="g_mime_content_disposition_is_attachment">
        <return-type type="gboolean" />
      </method>
      <constructor cname="g_mime_content_disposition_new" />
      <constructor cname="g_mime_content_disposition_new_from_string">
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </constructor>
      <method name="SetDisposition" cname="g_mime_content_disposition_set_disposition">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="SetParameter" cname="g_mime_content_disposition_set_parameter">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="SetParams" cname="g_mime_content_disposition_set_params">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeParam*" name="params" />
        </parameters>
      </method>
      <method name="ToString" cname="g_mime_content_disposition_to_string">
        <return-type type="char*" />
        <parameters>
          <parameter type="gboolean" name="fold" />
        </parameters>
      </method>
    </object>
    <object name="ContentType" cname="GMimeContentType" parent="GObject">
      <field name="Priv" cname="priv" type="gpointer" />
      <method name="GetMediaSubtype" cname="g_mime_content_type_get_media_subtype">
        <return-type type="const-char*" />
      </method>
      <method name="GetMediaType" cname="g_mime_content_type_get_media_type">
        <return-type type="const-char*" />
      </method>
      <method name="GetParameter" cname="g_mime_content_type_get_parameter">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="GetParams" cname="g_mime_content_type_get_params">
        <return-type type="const-GMimeParam*" />
      </method>
      <method name="GetType" cname="g_mime_content_type_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="IsType" cname="g_mime_content_type_is_type">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="const-char*" name="type" />
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </method>
      <constructor cname="g_mime_content_type_new">
        <parameters>
          <parameter type="const-char*" name="type" />
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_content_type_new_from_string">
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </constructor>
      <method name="SetMediaSubtype" cname="g_mime_content_type_set_media_subtype">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="subtype" />
        </parameters>
      </method>
      <method name="SetMediaType" cname="g_mime_content_type_set_media_type">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="type" />
        </parameters>
      </method>
      <method name="SetParameter" cname="g_mime_content_type_set_parameter">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="SetParams" cname="g_mime_content_type_set_params">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeParam*" name="params" />
        </parameters>
      </method>
      <method name="ToString" cname="g_mime_content_type_to_string">
        <return-type type="char*" />
      </method>
    </object>
    <object name="InternetAddressList" cname="InternetAddressList" parent="GObject">
      <method name="GetType" cname="internet_address_list_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="internet_address_list_new" />
      <implements>
        <interface name="IList" />
      </implements>
    </object>
    <object name="InternetAddressGroup" cname="InternetAddressGroup" parent="InternetAddress">
      <field name="Members" cname="members" type="InternetAddressList*" />
      <method name="GetMembers" cname="internet_address_group_get_members">
        <return-type type="InternetAddressList*" />
      </method>
      <method name="GetType" cname="internet_address_group_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="internet_address_group_new">
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </constructor>
      <method name="SetMembers" cname="internet_address_group_set_members">
        <return-type type="void" />
        <parameters>
          <parameter type="InternetAddressList*" name="members" />
        </parameters>
      </method>
    </object>
    <object name="InternetAddressMailbox" cname="InternetAddressMailbox" parent="InternetAddress">
      <field name="Addr" cname="addr" type="char*" />
      <method name="GetAddress" cname="internet_address_mailbox_get_addr">
        <return-type type="const-char*" />
      </method>
      <method name="GetType" cname="internet_address_mailbox_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <constructor cname="internet_address_mailbox_new">
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="addr" />
        </parameters>
      </constructor>
      <method name="SetAddress" cname="internet_address_mailbox_set_addr">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="addr" />
        </parameters>
      </method>
    </object>
    <object name="InternetAddress" cname="InternetAddress" parent="GObject" abstract="1">
      <field name="Name" cname="name" type="char*" />
      <virtual_method name="ToString" cname="to_string">
        <return-type type="void" />
        <parameters>
          <parameter type="InternetAddress*" name="ia" />
          <parameter type="guint32" name="flags" />
          <parameter type="guint32*" name="linelen" />
          <parameter type="GString*" name="out" />
        </parameters>
      </virtual_method>
      <method name="GetName" cname="internet_address_get_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetType" cname="internet_address_get_type" shared="true">
        <return-type type="GType" />
      </method>
      <method name="SetName" cname="internet_address_set_name">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="ToString" cname="internet_address_to_string">
        <return-type type="char*" />
        <parameters>
          <parameter type="gboolean" name="encode" />
        </parameters>
      </method>
    </object>
    <struct name="Charset" cname="GMimeCharset">
      <method name="Best" cname="g_mime_charset_best" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="inbuf" />
          <parameter type="guint32" name="inlen" />
        </parameters>
      </method>
      <method name="BestName" cname="g_mime_charset_best_name">
        <return-type type="const-char*" />
      </method>
      <method name="CanEncode" cname="g_mime_charset_can_encode">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="const-char*" name="charset" />
          <parameter type="const-char*" name="text" />
          <parameter type="guint32" name="len" />
        </parameters>
      </method>
      <method name="CanonName" cname="g_mime_charset_canon_name" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="charset" />
        </parameters>
      </method>
      <method name="IconvName" cname="g_mime_charset_iconv_name" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="charset" />
        </parameters>
      </method>
      <method name="Init" cname="g_mime_charset_init">
        <return-type type="void" />
      </method>
      <method name="IsoToWindows" cname="g_mime_charset_iso_to_windows" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="isocharset" />
        </parameters>
      </method>
      <method name="Language" cname="g_mime_charset_language" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="charset" />
        </parameters>
      </method>
      <method name="LocaleName" cname="g_mime_charset_locale_name" deprecated="1" shared="true">
        <return-type type="const-char*" />
      </method>
      <method name="MapInit" cname="g_mime_charset_map_init" shared="true">
        <return-type type="void" />
      </method>
      <method name="MapShutdown" cname="g_mime_charset_map_shutdown" shared="true">
        <return-type type="void" />
      </method>
      <method name="Name" cname="g_mime_charset_name" deprecated="1" shared="true">
        <return-type type="const-char*" />
        <parameters>
          <parameter type="const-char*" name="charset" />
        </parameters>
      </method>
      <method name="Step" cname="g_mime_charset_step">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="inbuf" />
          <parameter type="guint32" name="inlen" />
        </parameters>
      </method>
    </struct>
    <struct name="Encoding" cname="GMimeEncoding">
      <method name="Base64DecodeStep" cname="g_mime_encoding_base64_decode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="Base64EncodeClose" cname="g_mime_encoding_base64_encode_close" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="Base64EncodeStep" cname="g_mime_encoding_base64_encode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="Flush" cname="g_mime_encoding_flush">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
        </parameters>
      </method>
      <method name="InitDecode" cname="g_mime_encoding_init_decode">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentEncoding" name="encoding" />
        </parameters>
      </method>
      <method name="InitEncode" cname="g_mime_encoding_init_encode">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeContentEncoding" name="encoding" />
        </parameters>
      </method>
      <method name="Outlen" cname="g_mime_encoding_outlen">
        <return-type type="guint32" />
        <parameters>
          <parameter type="guint32" name="n_inbuf" />
        </parameters>
      </method>
      <method name="QuotedDecodeStep" cname="g_mime_encoding_quoted_decode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="QuotedEncodeClose" cname="g_mime_encoding_quoted_encode_close" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="QuotedEncodeStep" cname="g_mime_encoding_quoted_encode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="Reset" cname="g_mime_encoding_reset">
        <return-type type="void" />
      </method>
      <method name="Step" cname="g_mime_encoding_step">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
        </parameters>
      </method>
      <method name="UudecodeStep" cname="g_mime_encoding_uudecode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="UuencodeClose" cname="g_mime_encoding_uuencode_close" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="guint8*" name="uubuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="UuencodeStep" cname="g_mime_encoding_uuencode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="guint8*" name="uubuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="save" pass_as="ref" />
        </parameters>
      </method>
      <method name="yEncodeClose" cname="g_mime_yencode_close" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="pcrc" pass_as="ref" />
          <parameter type="guint32*" name="crc" pass_as="ref" />
        </parameters>
      </method>
      <method name="yEncodeStep" cname="g_mime_yencode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="pcrc" pass_as="ref" />
          <parameter type="guint32*" name="crc" pass_as="ref" />
        </parameters>
      </method>
      <method name="yDecodeStep" cname="g_mime_ydecode_step" shared="true">
        <return-type type="guint32" />
        <parameters>
          <parameter type="const-guint8*" name="inbuf" array="true" />
          <parameter type="guint32" name="n_inbuf" />
          <parameter type="guint8*" name="outbuf" array="true" />
          <parameter type="int*" name="state" pass_as="ref" />
          <parameter type="guint32*" name="pcrc" pass_as="ref" />
          <parameter type="guint32*" name="crc" pass_as="ref" />
        </parameters>
      </method>
    </struct>
    <struct name="HeaderIter" cname="GMimeHeaderIter" opaque="true">
      <method name="Copy" cname="g_mime_header_iter_copy">
        <return-type type="GMimeHeaderIter*" owned="true" />
      </method>
      <method name="CopyTo" cname="g_mime_header_iter_copy_to">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeHeaderIter*" name="dest" />
        </parameters>
      </method>
      <method name="Equal" cname="g_mime_header_iter_equal">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="GMimeHeaderIter*" name="iter2" />
        </parameters>
      </method>
      <method name="MoveFirst" cname="g_mime_header_iter_first">
        <return-type type="gboolean" />
      </method>
      <method name="Free" cname="g_mime_header_iter_free">
        <return-type type="void" />
      </method>
      <method name="GetName" cname="g_mime_header_iter_get_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetValue" cname="g_mime_header_iter_get_value">
        <return-type type="const-char*" />
      </method>
      <method name="IsValid" cname="g_mime_header_iter_is_valid">
        <return-type type="gboolean" />
      </method>
      <method name="MoveLast" cname="g_mime_header_iter_last">
        <return-type type="gboolean" />
      </method>
      <constructor cname="g_mime_header_iter_new" />
      <method name="MoveNext" cname="g_mime_header_iter_next">
        <return-type type="gboolean" />
      </method>
      <method name="MovePrev" cname="g_mime_header_iter_prev">
        <return-type type="gboolean" />
      </method>
      <method name="Remove" cname="g_mime_header_iter_remove">
        <return-type type="gboolean" />
      </method>
      <method name="SetValue" cname="g_mime_header_iter_set_value">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
    </struct>
    <struct name="HeaderList" cname="GMimeHeaderList" opaque="true">
      <method name="Append" cname="g_mime_header_list_append">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="Clear" cname="g_mime_header_list_clear">
        <return-type type="void" />
      </method>
      <method name="Contains" cname="g_mime_header_list_contains">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="Destroy" cname="g_mime_header_list_destroy">
        <return-type type="void" />
      </method>
      <method name="GetStream" cname="g_mime_header_list_get_stream" hidden="true">
        <return-type type="GMimeStream*" />
      </method>
      <constructor cname="g_mime_header_list_new" />
      <method name="Prepend" cname="g_mime_header_list_prepend">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="RegisterWriter" cname="g_mime_header_list_register_writer">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="GMimeHeaderWriter" name="writer" scope="call" />
        </parameters>
      </method>
      <method name="Remove" cname="g_mime_header_list_remove">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="const-char*" name="name" />
        </parameters>
      </method>
      <method name="SetStream" cname="g_mime_header_list_set_stream" hidden="true">
        <return-type type="void" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
      <method name="ToString" cname="g_mime_header_list_to_string">
        <return-type type="char*" />
      </method>
      <method name="WriteToStream" cname="g_mime_header_list_write_to_stream">
        <return-type type="gint32" />
        <parameters>
          <parameter type="GMimeStream*" name="stream" />
        </parameters>
      </method>
      <implements>
        <interface name="IEnumerable" />
      </implements>
    </struct>
    <struct name="Param" cname="GMimeParam" opaque="true">
      <method name="Append" cname="g_mime_param_append">
        <return-type type="GMimeParam*" />
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </method>
      <method name="AppendParam" cname="g_mime_param_append_param">
        <return-type type="GMimeParam*" />
        <parameters>
          <parameter type="GMimeParam*" name="param" />
        </parameters>
      </method>
      <method name="Destroy" cname="g_mime_param_destroy">
        <return-type type="void" />
      </method>
      <method name="GetName" cname="g_mime_param_get_name">
        <return-type type="const-char*" />
      </method>
      <method name="GetValue" cname="g_mime_param_get_value">
        <return-type type="const-char*" />
      </method>
      <constructor cname="g_mime_param_new">
        <parameters>
          <parameter type="const-char*" name="name" />
          <parameter type="const-char*" name="value" />
        </parameters>
      </constructor>
      <constructor cname="g_mime_param_new_from_string">
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </constructor>
      <method name="Next" cname="g_mime_param_next">
        <return-type type="const-GMimeParam*" />
      </method>
      <method name="WriteToString" cname="g_mime_param_write_to_string">
        <return-type type="void" />
        <parameters>
          <parameter type="gboolean" name="fold" />
          <parameter type="GString*" name="str" />
        </parameters>
      </method>
    </struct>
    <struct name="References" cname="GMimeReferences" opaque="true">
      <field name="Next" cname="next" type="GMimeReferences*" />
      <field name="Msgid" cname="msgid" type="char*" />
      <method name="Append" cname="g_mime_references_append">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char*" name="msgid" />
        </parameters>
      </method>
      <method name="Parse" cname="g_mime_references_decode" shared="true">
        <return-type type="GMimeReferences*" />
        <parameters>
          <parameter type="const-char*" name="text" />
        </parameters>
      </method>
      <method name="Free" cname="g_mime_references_free">
        <return-type type="void" />
      </method>
      <method name="GetMessageId" cname="g_mime_references_get_message_id">
        <return-type type="const-char*" />
      </method>
      <method name="GetNext" cname="g_mime_references_get_next">
        <return-type type="const-GMimeReferences*" />
      </method>
    </struct>
    <class name="Global" cname="GMimeGlobal">
      <method name="CheckVersion" cname="g_mime_check_version" shared="true">
        <return-type type="gboolean" />
        <parameters>
          <parameter type="guint" name="major" />
          <parameter type="guint" name="minor" />
          <parameter type="guint" name="micro" />
        </parameters>
      </method>
      <method name="SetUserCharsets" cname="g_mime_set_user_charsets" shared="true">
        <return-type type="void" />
        <parameters>
          <parameter type="const-char**" name="charsets" />
        </parameters>
      </method>
      <method name="GetUserCharsets" cname="g_mime_user_charsets" shared="true">
        <return-type type="const-char**" />
      </method>
    </class>
    <class name="Iconv" cname="GMimeIconv_">
      <method name="LocaleToUtf8" cname="g_mime_iconv_locale_to_utf8" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </method>
      <method name="LocaleToUtf8" cname="g_mime_iconv_locale_to_utf8_length" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="str" />
          <parameter type="guint32" name="n" />
        </parameters>
      </method>
      <method name="Utf8ToLocale" cname="g_mime_iconv_utf8_to_locale" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </method>
      <method name="Utf8ToLocale" cname="g_mime_iconv_utf8_to_locale_length" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="str" />
          <parameter type="guint32" name="n" />
        </parameters>
      </method>
    </class>
    <class name="Locale" cname="GMimeLocale_">
      <method name="GetCharset" cname="g_mime_locale_charset" shared="true">
        <return-type type="const-char*" />
      </method>
      <method name="GetLanguage" cname="g_mime_locale_language" shared="true">
        <return-type type="const-char*" />
      </method>
    </class>
    <class name="Utils" cname="GMimeUtils_">
      <method name="BestEncoding" cname="g_mime_utils_best_encoding" shared="true">
        <return-type type="GMimeContentEncoding" />
        <parameters>
          <parameter type="const-guint8*" name="text" array="true" />
          <parameter type="guint32" name="n_text" />
        </parameters>
      </method>
      <method name="DecodeMessageId" cname="g_mime_utils_decode_message_id" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="message_id" />
        </parameters>
      </method>
      <method name="GenerateMessageId" cname="g_mime_utils_generate_message_id" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="fqdn" />
        </parameters>
      </method>
      <method name="HeaderDecodeDate" cname="g_mime_utils_header_decode_date" shared="true">
        <return-type type="time_t" />
        <parameters>
          <parameter type="const-char*" name="str" />
          <parameter type="int*" name="tz_offset" />
        </parameters>
      </method>
      <method name="HeaderDecodePhrase" cname="g_mime_utils_header_decode_phrase" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="phrase" />
        </parameters>
      </method>
      <method name="HeaderDecodeText" cname="g_mime_utils_header_decode_text" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="text" />
        </parameters>
      </method>
      <method name="HeaderEncodePhrase" cname="g_mime_utils_header_encode_phrase" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="phrase" />
        </parameters>
      </method>
      <method name="HeaderEncodeText" cname="g_mime_utils_header_encode_text" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="text" />
        </parameters>
      </method>
      <method name="HeaderFold" cname="g_mime_utils_header_fold" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="header" />
        </parameters>
      </method>
      <method name="HeaderFormatDate" cname="g_mime_utils_header_format_date" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="time_t" name="date" />
          <parameter type="int" name="tz_offset" />
        </parameters>
      </method>
      <method name="QuoteString" cname="g_mime_utils_quote_string" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="str" />
        </parameters>
      </method>
      <method name="StructuredHeaderFold" cname="g_mime_utils_structured_header_fold" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="header" />
        </parameters>
      </method>
      <method name="UnquoteString" cname="g_mime_utils_unquote_string" shared="true">
        <return-type type="void" />
        <parameters>
          <parameter type="char*" name="str" />
        </parameters>
      </method>
      <method name="UnstructuredHeaderFold" cname="g_mime_utils_unstructured_header_fold" shared="true">
        <return-type type="char*" />
        <parameters>
          <parameter type="const-char*" name="header" />
        </parameters>
      </method>
    </class>
    <class name="Yencode" cname="GMimeYencode_" hidden="true">
    </class>
  </namespace>
</api>