diff options
Diffstat (limited to 'vapi')
-rw-r--r-- | vapi/gmime-2.6.deps | 1 | ||||
-rw-r--r-- | vapi/gmime-2.6.vapi | 1446 | ||||
-rw-r--r-- | vapi/libesmtp.vapi | 392 |
3 files changed, 1839 insertions, 0 deletions
diff --git a/vapi/gmime-2.6.deps b/vapi/gmime-2.6.deps new file mode 100644 index 0000000..cd10dfd --- /dev/null +++ b/vapi/gmime-2.6.deps @@ -0,0 +1 @@ +gio-2.0 diff --git a/vapi/gmime-2.6.vapi b/vapi/gmime-2.6.vapi new file mode 100644 index 0000000..eaf3468 --- /dev/null +++ b/vapi/gmime-2.6.vapi @@ -0,0 +1,1446 @@ +/* gmime-2.6.vapi generated by vapigen, do not modify. */ + +[CCode (lower_case_cprefix = "gmime_")] +namespace GMime { + [CCode (cheader_filename = "gmime/gmime.h")] + public class Certificate : GLib.Object { + public ulong created; + public GMime.DigestAlgo digest_algo; + public weak string email; + public ulong expires; + public weak string fingerprint; + public weak string issuer_name; + public weak string issuer_serial; + public weak string keyid; + public weak string name; + public GMime.PubKeyAlgo pubkey_algo; + public GMime.CertificateTrust trust; + [CCode (cname = "g_mime_certificate_new", has_construct_function = false)] + public Certificate (); + [CCode (cname = "g_mime_certificate_get_created")] + public ulong get_created (); + [CCode (cname = "g_mime_certificate_get_digest_algo")] + public GMime.DigestAlgo get_digest_algo (); + [CCode (cname = "g_mime_certificate_get_email")] + public unowned string get_email (); + [CCode (cname = "g_mime_certificate_get_expires")] + public ulong get_expires (); + [CCode (cname = "g_mime_certificate_get_fingerprint")] + public unowned string get_fingerprint (); + [CCode (cname = "g_mime_certificate_get_issuer_name")] + public unowned string get_issuer_name (); + [CCode (cname = "g_mime_certificate_get_issuer_serial")] + public unowned string get_issuer_serial (); + [CCode (cname = "g_mime_certificate_get_key_id")] + public unowned string get_key_id (); + [CCode (cname = "g_mime_certificate_get_name")] + public unowned string get_name (); + [CCode (cname = "g_mime_certificate_get_pubkey_algo")] + public GMime.PubKeyAlgo get_pubkey_algo (); + [CCode (cname = "g_mime_certificate_get_trust")] + public GMime.CertificateTrust get_trust (); + [CCode (cname = "g_mime_certificate_set_created")] + public void set_created (ulong created); + [CCode (cname = "g_mime_certificate_set_digest_algo")] + public void set_digest_algo (GMime.DigestAlgo algo); + [CCode (cname = "g_mime_certificate_set_email")] + public void set_email (string email); + [CCode (cname = "g_mime_certificate_set_expires")] + public void set_expires (ulong expires); + [CCode (cname = "g_mime_certificate_set_fingerprint")] + public void set_fingerprint (string fingerprint); + [CCode (cname = "g_mime_certificate_set_issuer_name")] + public void set_issuer_name (string issuer_name); + [CCode (cname = "g_mime_certificate_set_issuer_serial")] + public void set_issuer_serial (string issuer_serial); + [CCode (cname = "g_mime_certificate_set_key_id")] + public void set_key_id (string key_id); + [CCode (cname = "g_mime_certificate_set_name")] + public void set_name (string name); + [CCode (cname = "g_mime_certificate_set_pubkey_algo")] + public void set_pubkey_algo (GMime.PubKeyAlgo algo); + [CCode (cname = "g_mime_certificate_set_trust")] + public void set_trust (GMime.CertificateTrust trust); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class CertificateList : GLib.Object { + public weak GLib.PtrArray array; + [CCode (cname = "g_mime_certificate_list_new", has_construct_function = false)] + public CertificateList (); + [CCode (cname = "g_mime_certificate_list_add")] + public int add (GMime.Certificate cert); + [CCode (cname = "g_mime_certificate_list_clear")] + public void clear (); + [CCode (cname = "g_mime_certificate_list_contains")] + public bool contains (GMime.Certificate cert); + [CCode (cname = "g_mime_certificate_list_get_certificate")] + public unowned GMime.Certificate get_certificate (int index); + [CCode (cname = "g_mime_certificate_list_index_of")] + public int index_of (GMime.Certificate cert); + [CCode (cname = "g_mime_certificate_list_insert")] + public void insert (int index, GMime.Certificate cert); + [CCode (cname = "g_mime_certificate_list_length")] + public int length (); + [CCode (cname = "g_mime_certificate_list_remove")] + public bool remove (GMime.Certificate cert); + [CCode (cname = "g_mime_certificate_list_remove_at")] + public bool remove_at (int index); + [CCode (cname = "g_mime_certificate_list_set_certificate")] + public void set_certificate (int index, GMime.Certificate cert); + } + [CCode (cheader_filename = "gmime/gmime.h")] + [Compact] + public class Charset { + public uint level; + public uint mask; + [CCode (cname = "g_mime_charset_best")] + public static unowned string best (string inbuf, size_t inlen); + [CCode (cname = "g_mime_charset_best_name")] + public unowned string best_name (); + [CCode (cname = "g_mime_charset_can_encode")] + public bool can_encode (string charset, string text, size_t len); + [CCode (cname = "g_mime_charset_canon_name")] + public static unowned string canon_name (string charset); + [CCode (cname = "g_mime_charset_iconv_name")] + public static unowned string iconv_name (string charset); + [CCode (cname = "g_mime_charset_init")] + public void init (); + [CCode (cname = "g_mime_charset_iso_to_windows")] + public static unowned string iso_to_windows (string isocharset); + [CCode (cname = "g_mime_charset_language")] + public static unowned string language (string charset); + [CCode (cname = "g_mime_charset_locale_name")] + public static unowned string locale_name (); + [CCode (cname = "g_mime_charset_map_init")] + public static void map_init (); + [CCode (cname = "g_mime_charset_map_shutdown")] + public static void map_shutdown (); + [CCode (cname = "g_mime_charset_name")] + public static unowned string name (string charset); + [CCode (cname = "g_mime_charset_step")] + public void step (string inbuf, size_t inlen); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class ContentDisposition : GLib.Object { + public weak string disposition; + public weak GLib.HashTable param_hash; + public weak GMime.Param @params; + [CCode (cname = "g_mime_content_disposition_new", has_construct_function = false)] + public ContentDisposition (); + [CCode (cname = "g_mime_content_disposition_new_from_string", has_construct_function = false)] + public ContentDisposition.from_string (string str); + [CCode (cname = "g_mime_content_disposition_get_disposition")] + public unowned string get_disposition (); + [CCode (cname = "g_mime_content_disposition_get_parameter")] + public unowned string get_parameter (string attribute); + [CCode (cname = "g_mime_content_disposition_get_params")] + public unowned GMime.Param get_params (); + [CCode (cname = "g_mime_content_disposition_set_disposition")] + public void set_disposition (string value); + [CCode (cname = "g_mime_content_disposition_set_parameter")] + public void set_parameter (string attribute, string value); + [CCode (cname = "g_mime_content_disposition_set_params")] + public void set_params (GMime.Param @params); + [CCode (cname = "g_mime_content_disposition_to_string")] + public unowned string to_string (bool fold); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class ContentType : GLib.Object { + public weak GLib.HashTable param_hash; + public weak GMime.Param @params; + public weak string subtype; + public weak string type; + [CCode (cname = "g_mime_content_type_new", has_construct_function = false)] + public ContentType (string type, string subtype); + [CCode (cname = "g_mime_content_type_new_from_string", has_construct_function = false)] + public ContentType.from_string (string str); + [CCode (cname = "g_mime_content_type_get_media_subtype")] + public unowned string get_media_subtype (); + [CCode (cname = "g_mime_content_type_get_media_type")] + public unowned string get_media_type (); + [CCode (cname = "g_mime_content_type_get_parameter")] + public unowned string get_parameter (string attribute); + [CCode (cname = "g_mime_content_type_get_params")] + public unowned GMime.Param get_params (); + [CCode (cname = "g_mime_content_type_is_type")] + public bool is_type (string type, string subtype); + [CCode (cname = "g_mime_content_type_set_media_subtype")] + public void set_media_subtype (string subtype); + [CCode (cname = "g_mime_content_type_set_media_type")] + public void set_media_type (string type); + [CCode (cname = "g_mime_content_type_set_parameter")] + public void set_parameter (string attribute, string value); + [CCode (cname = "g_mime_content_type_set_params")] + public void set_params (GMime.Param @params); + [CCode (cname = "g_mime_content_type_to_string")] + public unowned string to_string (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class CryptoContext : GLib.Object { + public weak GMime.PasswordRequestFunc request_passwd; + [CCode (has_construct_function = false)] + protected CryptoContext (); + [CCode (cname = "g_mime_crypto_context_decrypt")] + public virtual unowned GMime.DecryptResult decrypt (GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; + [CCode (cname = "g_mime_crypto_context_digest_id")] + public virtual GMime.DigestAlgo digest_id (string name); + [CCode (cname = "g_mime_crypto_context_digest_name")] + public virtual unowned string digest_name (GMime.DigestAlgo digest); + [CCode (cname = "g_mime_crypto_context_encrypt")] + public virtual int encrypt (bool sign, string userid, GMime.DigestAlgo digest, GLib.PtrArray recipients, GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; + [CCode (cname = "g_mime_crypto_context_export_keys")] + public virtual int export_keys (GLib.PtrArray keys, GMime.Stream ostream) throws GLib.Error; + [CCode (cname = "g_mime_crypto_context_get_encryption_protocol")] + public virtual unowned string get_encryption_protocol (); + [CCode (cname = "g_mime_crypto_context_get_key_exchange_protocol")] + public virtual unowned string get_key_exchange_protocol (); + [CCode (cname = "g_mime_crypto_context_get_signature_protocol")] + public virtual unowned string get_signature_protocol (); + [CCode (cname = "g_mime_crypto_context_import_keys")] + public virtual int import_keys (GMime.Stream istream) throws GLib.Error; + [CCode (cname = "g_mime_crypto_context_set_request_password")] + public void set_request_password (GMime.PasswordRequestFunc request_passwd); + [CCode (cname = "g_mime_crypto_context_sign")] + public virtual int sign (string userid, GMime.DigestAlgo digest, GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; + [CCode (cname = "g_mime_crypto_context_verify")] + public virtual unowned GMime.SignatureList verify (GMime.DigestAlgo digest, GMime.Stream istream, GMime.Stream sigstream) throws GLib.Error; + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class DataWrapper : GLib.Object { + public GMime.ContentEncoding encoding; + public weak GMime.Stream stream; + [CCode (cname = "g_mime_data_wrapper_new", has_construct_function = false)] + public DataWrapper (); + [CCode (cname = "g_mime_data_wrapper_get_encoding")] + public GMime.ContentEncoding get_encoding (); + [CCode (cname = "g_mime_data_wrapper_get_stream")] + public unowned GMime.Stream get_stream (); + [CCode (cname = "g_mime_data_wrapper_set_encoding")] + public void set_encoding (GMime.ContentEncoding encoding); + [CCode (cname = "g_mime_data_wrapper_set_stream")] + public void set_stream (GMime.Stream stream); + [CCode (cname = "g_mime_data_wrapper_new_with_stream", has_construct_function = false)] + public DataWrapper.with_stream (GMime.Stream stream, GMime.ContentEncoding encoding); + [CCode (cname = "g_mime_data_wrapper_write_to_stream")] + public virtual ssize_t write_to_stream (GMime.Stream stream); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class DecryptResult : GLib.Object { + public GMime.CipherAlgo cipher; + public GMime.DigestAlgo mdc; + public weak GMime.CertificateList recipients; + public weak GMime.SignatureList signatures; + [CCode (cname = "g_mime_decrypt_result_new", has_construct_function = false)] + public DecryptResult (); + [CCode (cname = "g_mime_decrypt_result_get_cipher")] + public GMime.CipherAlgo get_cipher (); + [CCode (cname = "g_mime_decrypt_result_get_mdc")] + public GMime.DigestAlgo get_mdc (); + [CCode (cname = "g_mime_decrypt_result_get_recipients")] + public unowned GMime.CertificateList get_recipients (); + [CCode (cname = "g_mime_decrypt_result_get_signatures")] + public unowned GMime.SignatureList get_signatures (); + [CCode (cname = "g_mime_decrypt_result_set_cipher")] + public void set_cipher (GMime.CipherAlgo cipher); + [CCode (cname = "g_mime_decrypt_result_set_mdc")] + public void set_mdc (GMime.DigestAlgo mdc); + [CCode (cname = "g_mime_decrypt_result_set_recipients")] + public void set_recipients (GMime.CertificateList recipients); + [CCode (cname = "g_mime_decrypt_result_set_signatures")] + public void set_signatures (GMime.SignatureList signatures); + } + [CCode (cheader_filename = "gmime/gmime.h")] + [Compact] + public class Encoding { + public bool encode; + public GMime.ContentEncoding encoding; + public uint32 save; + public int state; + [CCode (array_length = false)] + public weak uint[] uubuf; + [CCode (cname = "g_mime_encoding_base64_decode_step")] + public static size_t base64_decode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_base64_encode_close")] + public static size_t base64_encode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_base64_encode_step")] + public static size_t base64_encode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_flush")] + public size_t flush (string inbuf, size_t inlen, string outbuf); + [CCode (cname = "g_mime_encoding_init_decode")] + public void init_decode (GMime.ContentEncoding encoding); + [CCode (cname = "g_mime_encoding_init_encode")] + public void init_encode (GMime.ContentEncoding encoding); + [CCode (cname = "g_mime_encoding_outlen")] + public size_t outlen (size_t inlen); + [CCode (cname = "g_mime_encoding_quoted_decode_step")] + public static size_t quoted_decode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_quoted_encode_close")] + public static size_t quoted_encode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_quoted_encode_step")] + public static size_t quoted_encode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_reset")] + public void reset (); + [CCode (cname = "g_mime_encoding_step")] + public size_t step (string inbuf, size_t inlen, string outbuf); + [CCode (cname = "g_mime_encoding_uudecode_step")] + public static size_t uudecode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_uuencode_close")] + public static size_t uuencode_close (uint inbuf, size_t inlen, uint outbuf, uint uubuf, int state, uint32 save); + [CCode (cname = "g_mime_encoding_uuencode_step")] + public static size_t uuencode_step (uint inbuf, size_t inlen, uint outbuf, uint uubuf, int state, uint32 save); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Filter : GLib.Object { + public char* backbuf; + public size_t backlen; + public size_t backsize; + [CCode (array_length_cname = "outsize", array_length_type = "size_t")] + public uint8[] outbuf; + public size_t outpre; + public char* outptr; + public char* outreal; + [CCode (has_construct_function = false)] + protected Filter (); + [CCode (cname = "g_mime_filter_backup")] + public void backup ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] uint8[] data); + [CCode (cname = "g_mime_filter_complete")] + public virtual void complete ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] uint8[] inbuf, size_t prespace, [CCode (array_length_pos = 3.1, array_length_type = "size_t")] out unowned uint8[] outbuf, out size_t outprespace); + [CCode (cname = "g_mime_filter_copy")] + public virtual GMime.Filter copy (); + [CCode (cname = "g_mime_filter_filter")] + public virtual void filter ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] uint8[] inbuf, size_t prespace, [CCode (array_length_pos = 3.1, array_length_type = "size_t", type = "char **")] out unowned uint8[] outbuf, out size_t outprespace); + [CCode (cname = "g_mime_filter_reset")] + public virtual void reset (); + [CCode (cname = "g_mime_filter_set_size")] + public void set_size (size_t size, bool keep); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterBasic : GMime.Filter { + public weak GMime.Encoding encoder; + [CCode (cname = "g_mime_filter_basic_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterBasic (GMime.ContentEncoding encoding, bool encode); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterBest : GMime.Filter { + public uint count0; + public uint count8; + public GMime.FilterBestFlags flags; + [CCode (array_length = false)] + public weak uint[] frombuf; + public uint fromlen; + public uint hadfrom; + public uint linelen; + public uint maxline; + public uint midline; + public uint startline; + public uint total; + [CCode (cname = "g_mime_filter_best_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterBest (GMime.FilterBestFlags flags); + [CCode (cname = "g_mime_filter_best_charset")] + public unowned string charset (); + [CCode (cname = "g_mime_filter_best_encoding")] + public GMime.ContentEncoding encoding (GMime.EncodingConstraint constraint); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterCRLF : GMime.Filter { + public bool dots; + public bool encode; + public bool saw_cr; + public bool saw_dot; + public bool saw_lf; + [CCode (cname = "g_mime_filter_crlf_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterCRLF (bool encode, bool dots); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterCharset : GMime.Filter { + public void* cd; + public weak string from_charset; + public weak string to_charset; + [CCode (cname = "g_mime_filter_charset_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterCharset (string from_charset, string to_charset); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterEnriched : GMime.Filter { + public uint32 flags; + public int nofill; + [CCode (cname = "g_mime_filter_enriched_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterEnriched (uint32 flags); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterFrom : GMime.Filter { + public bool midline; + public GMime.FilterFromMode mode; + [CCode (cname = "g_mime_filter_from_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterFrom (GMime.FilterFromMode mode); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterGZip : GMime.Filter { + public int level; + public GMime.FilterGZipMode mode; + [CCode (cname = "g_mime_filter_gzip_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterGZip (GMime.FilterGZipMode mode, int level); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterHTML : GMime.Filter { + public uint32 colour; + public uint32 column; + public uint32 flags; + public uint32 pre_open; + public void* scanner; + [CCode (cname = "g_mime_filter_html_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterHTML (uint32 flags, uint32 colour); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterMd5 : GMime.Filter { + [CCode (cname = "g_mime_filter_md5_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterMd5 (); + [CCode (cname = "g_mime_filter_md5_get_digest")] + public void get_digest (uint[] digest); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterStrip : GMime.Filter { + [CCode (cname = "g_mime_filter_strip_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterStrip (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterWindows : GMime.Filter { + public weak string claimed_charset; + public bool is_windows; + [CCode (cname = "g_mime_filter_windows_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterWindows (string claimed_charset); + [CCode (cname = "g_mime_filter_windows_is_windows_charset")] + public bool is_windows_charset (); + [CCode (cname = "g_mime_filter_windows_real_charset")] + public unowned string real_charset (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class FilterYenc : GMime.Filter { + public uint32 crc; + public bool encode; + public int part; + public uint32 pcrc; + public int state; + [CCode (cname = "g_mime_filter_yenc_new", has_construct_function = false, type = "GMimeFilter*")] + public FilterYenc (bool encode); + [CCode (cname = "g_mime_filter_yenc_get_crc")] + public uint32 get_crc (); + [CCode (cname = "g_mime_filter_yenc_get_pcrc")] + public uint32 get_pcrc (); + [CCode (cname = "g_mime_filter_yenc_set_crc")] + public void set_crc (uint32 crc); + [CCode (cname = "g_mime_filter_yenc_set_state")] + public void set_state (int state); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class GpgContext : GMime.CryptoContext { + public bool always_trust; + public bool auto_key_retrieve; + public weak string path; + public bool use_agent; + [CCode (cname = "g_mime_gpg_context_new", has_construct_function = false, type = "GMimeCryptoContext*")] + public GpgContext (GMime.PasswordRequestFunc request_passwd, string path); + [CCode (cname = "g_mime_gpg_context_get_always_trust")] + public bool get_always_trust (); + [CCode (cname = "g_mime_gpg_context_get_auto_key_retrieve")] + public bool get_auto_key_retrieve (); + [CCode (cname = "g_mime_gpg_context_get_use_agent")] + public bool get_use_agent (); + [CCode (cname = "g_mime_gpg_context_set_always_trust")] + public void set_always_trust (bool always_trust); + [CCode (cname = "g_mime_gpg_context_set_auto_key_retrieve")] + public void set_auto_key_retrieve (bool auto_key_retrieve); + [CCode (cname = "g_mime_gpg_context_set_use_agent")] + public void set_use_agent (bool use_agent); + } + [CCode (cheader_filename = "gmime/gmime.h")] + [Compact] + public class Header { + } + [CCode (cheader_filename = "gmime/gmime.h", copy_function = "g_mime_header_iter_copy", free_function = "g_mime_header_iter_free")] + [Compact] + public class HeaderIter { + public weak GMime.Header cursor; + public weak GMime.HeaderList hdrlist; + public uint32 version; + [CCode (cname = "g_mime_header_iter_new", has_construct_function = false)] + public HeaderIter (); + [CCode (cname = "g_mime_header_iter_copy")] + public unowned GMime.HeaderIter copy (); + [CCode (cname = "g_mime_header_iter_copy_to")] + public void copy_to (GMime.HeaderIter dest); + [CCode (cname = "g_mime_header_iter_equal")] + public bool equal (GMime.HeaderIter iter2); + [CCode (cname = "g_mime_header_iter_first")] + public bool first (); + [CCode (cname = "g_mime_header_iter_get_name")] + public unowned string get_name (); + [CCode (cname = "g_mime_header_iter_get_value")] + public unowned string get_value (); + [CCode (cname = "g_mime_header_iter_is_valid")] + public bool is_valid (); + [CCode (cname = "g_mime_header_iter_last")] + public bool last (); + [CCode (cname = "g_mime_header_iter_next")] + public bool next (); + [CCode (cname = "g_mime_header_iter_prev")] + public bool prev (); + [CCode (cname = "g_mime_header_iter_remove")] + public bool remove (); + [CCode (cname = "g_mime_header_iter_set_value")] + public bool set_value (string value); + } + [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_header_list_destroy")] + [Compact] + public class HeaderList { + [CCode (cname = "g_mime_header_list_new", has_construct_function = false)] + public HeaderList (); + [CCode (cname = "g_mime_header_list_append")] + public void append (string name, string value); + [CCode (cname = "g_mime_header_list_clear")] + public void clear (); + [CCode (cname = "g_mime_header_list_contains")] + public bool contains (string name); + [CCode (cname = "g_mime_header_list_foreach")] + public void @foreach (GMime.HeaderForeachFunc func); + [CCode (cname = "g_mime_header_list_get")] + public unowned string @get (string name); + [CCode (cname = "g_mime_header_list_get_iter")] + public bool get_iter (out unowned GMime.HeaderIter iter); + [CCode (cname = "g_mime_header_list_get_stream")] + public unowned GMime.Stream get_stream (); + [CCode (cname = "g_mime_header_list_prepend")] + public void prepend (string name, string value); + [CCode (cname = "g_mime_header_list_register_writer")] + public void register_writer (string name, GMime.HeaderWriter writer); + [CCode (cname = "g_mime_header_list_remove")] + public bool remove (string name); + [CCode (cname = "g_mime_header_list_set")] + public void @set (string name, string value); + [CCode (cname = "g_mime_header_list_set_stream")] + public void set_stream (GMime.Stream stream); + [CCode (cname = "g_mime_header_list_to_string")] + public unowned string to_string (); + [CCode (cname = "g_mime_header_list_write_to_stream")] + public ssize_t write_to_stream (GMime.Stream stream); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Message : GMime.Object { + public ulong date; + public weak string from; + public weak string message_id; + public weak GMime.Object mime_part; + public weak InternetAddressList recipients; + public weak string reply_to; + public weak string subject; + public int tz_offset; + [CCode (cname = "g_mime_message_new", has_construct_function = false)] + public Message (bool pretty_headers); + [CCode (cname = "g_mime_message_add_recipient")] + public void add_recipient (GMime.RecipientType type, string name, string addr); + [CCode (cname = "g_mime_message_foreach")] + public void @foreach (GMime.ObjectForeachFunc callback); + [CCode (cname = "g_mime_message_get_all_recipients")] + public unowned InternetAddressList get_all_recipients (); + [CCode (cname = "g_mime_message_get_body")] + public unowned GMime.Object get_body (); + [CCode (cname = "g_mime_message_get_date")] + public void get_date (out ulong date, out int tz_offset); + [CCode (cname = "g_mime_message_get_date_as_string")] + public unowned string get_date_as_string (); + [CCode (cname = "g_mime_message_get_message_id")] + public unowned string get_message_id (); + [CCode (cname = "g_mime_message_get_mime_part")] + public unowned GMime.Object get_mime_part (); + [CCode (cname = "g_mime_message_get_recipients")] + public unowned InternetAddressList get_recipients (GMime.RecipientType type); + [CCode (cname = "g_mime_message_get_reply_to")] + public unowned string get_reply_to (); + [CCode (cname = "g_mime_message_get_sender")] + public unowned string get_sender (); + [CCode (cname = "g_mime_message_get_subject")] + public unowned string get_subject (); + [CCode (cname = "g_mime_message_set_date")] + public void set_date (ulong date, int tz_offset); + [CCode (cname = "g_mime_message_set_date_as_string")] + public void set_date_as_string (string str); + [CCode (cname = "g_mime_message_set_message_id")] + public void set_message_id (string message_id); + [CCode (cname = "g_mime_message_set_mime_part")] + public void set_mime_part (GMime.Object mime_part); + [CCode (cname = "g_mime_message_set_reply_to")] + public void set_reply_to (string reply_to); + [CCode (cname = "g_mime_message_set_sender")] + public void set_sender (string sender); + [CCode (cname = "g_mime_message_set_subject")] + public void set_subject (string subject); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class MessagePart : GMime.Object { + public weak GMime.Message message; + [CCode (cname = "g_mime_message_part_new", has_construct_function = false)] + public MessagePart (string subtype); + [CCode (cname = "g_mime_message_part_get_message")] + public unowned GMime.Message get_message (); + [CCode (cname = "g_mime_message_part_set_message")] + public void set_message (GMime.Message message); + [CCode (cname = "g_mime_message_part_new_with_message", has_construct_function = false)] + public MessagePart.with_message (string subtype, GMime.Message message); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class MessagePartial : GMime.Part { + public weak string id; + public int number; + public int total; + [CCode (cname = "g_mime_message_partial_new", has_construct_function = false)] + public MessagePartial (string id, int number, int total); + [CCode (cname = "g_mime_message_partial_get_id")] + public unowned string get_id (); + [CCode (cname = "g_mime_message_partial_get_number")] + public int get_number (); + [CCode (cname = "g_mime_message_partial_get_total")] + public int get_total (); + [CCode (cname = "g_mime_message_partial_reconstruct_message")] + public unowned GMime.Message reconstruct_message (size_t num); + [CCode (cname = "g_mime_message_partial_split_message")] + public static unowned GMime.Message split_message (GMime.Message message, size_t max_size, size_t nparts); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Multipart : GMime.Object { + public weak string boundary; + public weak GLib.PtrArray children; + public weak string postface; + public weak string preface; + [CCode (cname = "g_mime_multipart_new", has_construct_function = false)] + public Multipart (); + [CCode (cname = "g_mime_multipart_add")] + public virtual void add (GMime.Object part); + [CCode (cname = "g_mime_multipart_clear")] + public virtual void clear (); + [CCode (cname = "g_mime_multipart_contains")] + public virtual bool contains (GMime.Object part); + [CCode (cname = "g_mime_multipart_foreach")] + public void @foreach (GMime.ObjectForeachFunc callback); + [CCode (cname = "g_mime_multipart_get_boundary")] + public virtual unowned string get_boundary (); + [CCode (cname = "g_mime_multipart_get_count")] + public virtual int get_count (); + [CCode (cname = "g_mime_multipart_get_part")] + public virtual unowned GMime.Object get_part (int index); + [CCode (cname = "g_mime_multipart_get_postface")] + public unowned string get_postface (); + [CCode (cname = "g_mime_multipart_get_preface")] + public unowned string get_preface (); + [CCode (cname = "g_mime_multipart_get_subpart_from_content_id")] + public unowned GMime.Object get_subpart_from_content_id (string content_id); + [CCode (cname = "g_mime_multipart_index_of")] + public virtual int index_of (GMime.Object part); + [CCode (cname = "g_mime_multipart_insert")] + public virtual void insert (int index, GMime.Object part); + [CCode (cname = "g_mime_multipart_remove")] + public virtual bool remove (GMime.Object part); + [CCode (cname = "g_mime_multipart_remove_at")] + public virtual unowned GMime.Object remove_at (int index); + [CCode (cname = "g_mime_multipart_replace")] + public unowned GMime.Object replace (int index, GMime.Object replacement); + [CCode (cname = "g_mime_multipart_set_boundary")] + public virtual void set_boundary (string boundary); + [CCode (cname = "g_mime_multipart_set_postface")] + public void set_postface (string postface); + [CCode (cname = "g_mime_multipart_set_preface")] + public void set_preface (string preface); + [CCode (cname = "g_mime_multipart_new_with_subtype", has_construct_function = false)] + public Multipart.with_subtype (string subtype); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class MultipartEncrypted : GMime.Multipart { + [CCode (cname = "g_mime_multipart_encrypted_new", has_construct_function = false)] + public MultipartEncrypted (); + [CCode (cname = "g_mime_multipart_encrypted_decrypt")] + public unowned GMime.Object decrypt (GMime.CryptoContext ctx, out unowned GMime.DecryptResult _result) throws GLib.Error; + [CCode (cname = "g_mime_multipart_encrypted_encrypt")] + public int encrypt (GMime.Object content, GMime.CryptoContext ctx, bool sign, string userid, GMime.DigestAlgo digest, GLib.PtrArray recipients) throws GLib.Error; + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class MultipartSigned : GMime.Multipart { + [CCode (cname = "g_mime_multipart_signed_new", has_construct_function = false)] + public MultipartSigned (); + [CCode (cname = "g_mime_multipart_signed_sign")] + public int sign (GMime.Object content, GMime.CryptoContext ctx, string userid, GMime.DigestAlgo digest) throws GLib.Error; + [CCode (cname = "g_mime_multipart_signed_verify")] + public unowned GMime.SignatureList verify (GMime.CryptoContext ctx) throws GLib.Error; + } + [CCode (cheader_filename = "gmime/gmime.h")] + public abstract class Object : GLib.Object { + public weak string content_id; + public weak GMime.ContentType content_type; + public weak GMime.ContentDisposition disposition; + public weak GMime.HeaderList headers; + [CCode (cname = "g_mime_object_new", has_construct_function = false)] + public Object (GMime.ContentType content_type); + [CCode (cname = "g_mime_object_append_header")] + public virtual void append_header (string header, string value); + [CCode (cname = "g_mime_object_encode")] + public virtual void encode (GMime.EncodingConstraint constraint); + [CCode (cname = "g_mime_object_get_content_disposition")] + public unowned GMime.ContentDisposition get_content_disposition (); + [CCode (cname = "g_mime_object_get_content_disposition_parameter")] + public unowned string get_content_disposition_parameter (string attribute); + [CCode (cname = "g_mime_object_get_content_id")] + public unowned string get_content_id (); + [CCode (cname = "g_mime_object_get_content_type")] + public unowned GMime.ContentType get_content_type (); + [CCode (cname = "g_mime_object_get_content_type_parameter")] + public unowned string? get_content_type_parameter (string name); + [CCode (cname = "g_mime_object_get_disposition")] + public unowned string get_disposition (); + [CCode (cname = "g_mime_object_get_header")] + public virtual unowned string get_header (string header); + [CCode (cname = "g_mime_object_get_header_list")] + public unowned GMime.HeaderList get_header_list (); + [CCode (cname = "g_mime_object_get_headers")] + public virtual unowned string get_headers (); + [CCode (cname = "g_mime_object_prepend_header")] + public virtual void prepend_header (string header, string value); + [CCode (cname = "g_mime_object_register_type")] + public static void register_type (string type, string subtype, GLib.Type object_type); + [CCode (cname = "g_mime_object_remove_header")] + public virtual bool remove_header (string header); + [CCode (cname = "g_mime_object_set_content_disposition")] + public void set_content_disposition (GMime.ContentDisposition disposition); + [CCode (cname = "g_mime_object_set_content_disposition_parameter")] + public void set_content_disposition_parameter (string attribute, string value); + [CCode (cname = "g_mime_object_set_content_id")] + public void set_content_id (string content_id); + [CCode (cname = "g_mime_object_set_content_type")] + public virtual void set_content_type (GMime.ContentType content_type); + [CCode (cname = "g_mime_object_set_content_type_parameter")] + public void set_content_type_parameter (string name, string value); + [CCode (cname = "g_mime_object_set_disposition")] + public void set_disposition (string disposition); + [CCode (cname = "g_mime_object_set_header")] + public virtual void set_header (string header, string value); + [CCode (cname = "g_mime_object_to_string")] + public string to_string (); + [CCode (cname = "g_mime_object_new_type", has_construct_function = false)] + public Object.type (string type, string subtype); + [CCode (cname = "g_mime_object_type_registry_init")] + public static void type_registry_init (); + [CCode (cname = "g_mime_object_type_registry_shutdown")] + public static void type_registry_shutdown (); + [CCode (cname = "g_mime_object_write_to_stream")] + public virtual ssize_t write_to_stream (GMime.Stream stream); + } + [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_param_destroy")] + [Compact] + public class Param { + public weak string name; + public weak GMime.Param next; + public weak string value; + [CCode (cname = "g_mime_param_new", has_construct_function = false)] + public Param (string name, string value); + [CCode (cname = "g_mime_param_append")] + public unowned GMime.Param append (string name, string value); + [CCode (cname = "g_mime_param_append_param")] + public unowned GMime.Param append_param (GMime.Param param); + [CCode (cname = "g_mime_param_new_from_string", has_construct_function = false)] + public Param.from_string (string str); + [CCode (cname = "g_mime_param_get_name")] + public unowned string get_name (); + [CCode (cname = "g_mime_param_next")] + public unowned GMime.Param get_next (); + [CCode (cname = "g_mime_param_get_value")] + public unowned string get_value (); + [CCode (cname = "g_mime_param_write_to_string")] + public void write_to_string (bool fold, GLib.StringBuilder str); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Parser : GLib.Object { + [CCode (cname = "g_mime_parser_new", has_construct_function = false)] + public Parser (); + [CCode (cname = "g_mime_parser_construct_message")] + public unowned GMime.Message? construct_message (); + [CCode (cname = "g_mime_parser_construct_part")] + public unowned GMime.Object construct_part (); + [CCode (cname = "g_mime_parser_eos")] + public bool eos (); + [CCode (cname = "g_mime_parser_get_from")] + public unowned string get_from (); + [CCode (cname = "g_mime_parser_get_from_offset")] + public int64 get_from_offset (); + [CCode (cname = "g_mime_parser_get_headers_begin")] + public int64 get_headers_begin (); + [CCode (cname = "g_mime_parser_get_headers_end")] + public int64 get_headers_end (); + [CCode (cname = "g_mime_parser_get_persist_stream")] + public bool get_persist_stream (); + [CCode (cname = "g_mime_parser_get_respect_content_length")] + public bool get_respect_content_length (); + [CCode (cname = "g_mime_parser_get_scan_from")] + public bool get_scan_from (); + [CCode (cname = "g_mime_parser_init_with_stream")] + public void init_with_stream (GMime.Stream stream); + [CCode (cname = "g_mime_parser_set_header_regex")] + public void set_header_regex (string regex, GMime.ParserHeaderRegexFunc header_cb); + [CCode (cname = "g_mime_parser_set_persist_stream")] + public void set_persist_stream (bool persist); + [CCode (cname = "g_mime_parser_set_respect_content_length")] + public void set_respect_content_length (bool respect_content_length); + [CCode (cname = "g_mime_parser_set_scan_from")] + public void set_scan_from (bool scan_from); + [CCode (cname = "g_mime_parser_tell")] + public int64 tell (); + [CCode (cname = "g_mime_parser_new_with_stream", has_construct_function = false)] + public Parser.with_stream (GMime.Stream stream); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Part : GMime.Object { + public weak GMime.DataWrapper content; + public weak string content_description; + public weak string content_location; + public weak string content_md5; + public GMime.ContentEncoding encoding; + [CCode (cname = "g_mime_part_new", has_construct_function = false)] + public Part (); + [CCode (cname = "g_mime_part_get_best_content_encoding")] + public GMime.ContentEncoding get_best_content_encoding (GMime.EncodingConstraint constraint); + [CCode (cname = "g_mime_part_get_content_description")] + public unowned string get_content_description (); + [CCode (cname = "g_mime_part_get_content_encoding")] + public GMime.ContentEncoding get_content_encoding (); + [CCode (cname = "g_mime_part_get_content_id")] + public unowned string get_content_id (); + [CCode (cname = "g_mime_part_get_content_location")] + public unowned string get_content_location (); + [CCode (cname = "g_mime_part_get_content_md5")] + public unowned string get_content_md5 (); + [CCode (cname = "g_mime_part_get_content_object")] + public unowned GMime.DataWrapper get_content_object (); + [CCode (cname = "g_mime_part_get_filename")] + public unowned string get_filename (); + [CCode (cname = "g_mime_part_set_content_description")] + public void set_content_description (string description); + [CCode (cname = "g_mime_part_set_content_encoding")] + public void set_content_encoding (GMime.ContentEncoding encoding); + [CCode (cname = "g_mime_part_set_content_id")] + public void set_content_id (string content_id); + [CCode (cname = "g_mime_part_set_content_location")] + public void set_content_location (string content_location); + [CCode (cname = "g_mime_part_set_content_md5")] + public void set_content_md5 (string content_md5); + [CCode (cname = "g_mime_part_set_content_object")] + public virtual void set_content_object (GMime.DataWrapper content); + [CCode (cname = "g_mime_part_set_filename")] + public void set_filename (string filename); + [CCode (cname = "g_mime_part_verify_content_md5")] + public bool verify_content_md5 (); + [CCode (cname = "g_mime_part_new_with_type", has_construct_function = false)] + public Part.with_type (string type, string subtype); + } + [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_part_iter_free")] + [Compact] + public class PartIter { + [CCode (cname = "g_mime_part_iter_new", has_construct_function = false)] + public PartIter (GMime.Object toplevel); + [CCode (cname = "g_mime_part_iter_get_current")] + public unowned GMime.Object get_current (); + [CCode (cname = "g_mime_part_iter_get_parent")] + public unowned GMime.Object get_parent (); + [CCode (cname = "g_mime_part_iter_get_path")] + public unowned string get_path (); + [CCode (cname = "g_mime_part_iter_get_toplevel")] + public unowned GMime.Object get_toplevel (); + [CCode (cname = "g_mime_part_iter_is_valid")] + public bool is_valid (); + [CCode (cname = "g_mime_part_iter_jump_to")] + public bool jump_to (string path); + [CCode (cname = "g_mime_part_iter_next")] + public bool next (); + [CCode (cname = "g_mime_part_iter_prev")] + public bool prev (); + [CCode (cname = "g_mime_part_iter_remove")] + public bool remove (); + [CCode (cname = "g_mime_part_iter_replace")] + public bool replace (GMime.Object replacement); + [CCode (cname = "g_mime_part_iter_reset")] + public void reset (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Pkcs7Context : GMime.CryptoContext { + [CCode (cname = "g_mime_pkcs7_context_new", has_construct_function = false, type = "GMimeCryptoContext*")] + public Pkcs7Context (GMime.PasswordRequestFunc request_passwd); + [CCode (cname = "g_mime_pkcs7_context_get_always_trust")] + public bool get_always_trust (); + [CCode (cname = "g_mime_pkcs7_context_set_always_trust")] + public void set_always_trust (bool always_trust); + } + [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_references_free")] + [Compact] + public class References { + public weak string msgid; + public weak GMime.References next; + [CCode (cname = "g_mime_references_append")] + public void append (string msgid); + [CCode (cname = "g_mime_references_clear")] + public void clear (); + [CCode (cname = "g_mime_references_decode")] + public static unowned GMime.References decode (string text); + [CCode (cname = "g_mime_references_get_message_id")] + public unowned string get_message_id (); + [CCode (cname = "g_mime_references_get_next")] + public unowned GMime.References get_next (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class Signature : GLib.Object { + public weak GMime.Certificate cert; + public ulong created; + public GMime.SignatureError errors; + public ulong expires; + public GMime.SignatureStatus status; + [CCode (cname = "g_mime_signature_new", has_construct_function = false)] + public Signature (); + [CCode (cname = "g_mime_signature_get_certificate")] + public unowned GMime.Certificate get_certificate (); + [CCode (cname = "g_mime_signature_get_created")] + public ulong get_created (); + [CCode (cname = "g_mime_signature_get_errors")] + public GMime.SignatureError get_errors (); + [CCode (cname = "g_mime_signature_get_expires")] + public ulong get_expires (); + [CCode (cname = "g_mime_signature_get_status")] + public GMime.SignatureStatus get_status (); + [CCode (cname = "g_mime_signature_set_certificate")] + public void set_certificate (GMime.Certificate cert); + [CCode (cname = "g_mime_signature_set_created")] + public void set_created (ulong created); + [CCode (cname = "g_mime_signature_set_errors")] + public void set_errors (GMime.SignatureError errors); + [CCode (cname = "g_mime_signature_set_expires")] + public void set_expires (ulong expires); + [CCode (cname = "g_mime_signature_set_status")] + public void set_status (GMime.SignatureStatus status); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class SignatureList : GLib.Object { + public weak GLib.PtrArray array; + [CCode (cname = "g_mime_signature_list_new", has_construct_function = false)] + public SignatureList (); + [CCode (cname = "g_mime_signature_list_add")] + public int add (GMime.Signature sig); + [CCode (cname = "g_mime_signature_list_clear")] + public void clear (); + [CCode (cname = "g_mime_signature_list_contains")] + public bool contains (GMime.Signature sig); + [CCode (cname = "g_mime_signature_list_get_signature")] + public unowned GMime.Signature get_signature (int index); + [CCode (cname = "g_mime_signature_list_index_of")] + public int index_of (GMime.Signature sig); + [CCode (cname = "g_mime_signature_list_insert")] + public void insert (int index, GMime.Signature sig); + [CCode (cname = "g_mime_signature_list_length")] + public int length (); + [CCode (cname = "g_mime_signature_list_remove")] + public bool remove (GMime.Signature sig); + [CCode (cname = "g_mime_signature_list_remove_at")] + public bool remove_at (int index); + [CCode (cname = "g_mime_signature_list_set_signature")] + public void set_signature (int index, GMime.Signature sig); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public abstract class Stream : GLib.Object { + public int64 bound_end; + public int64 bound_start; + public int64 position; + public weak GMime.Stream super_stream; + [CCode (has_construct_function = false)] + protected Stream (); + [CCode (cname = "g_mime_stream_close")] + public virtual int close (); + [CCode (cname = "g_mime_stream_construct")] + public void @construct (int64 start, int64 end); + [CCode (cname = "g_mime_stream_eos")] + public virtual bool eos (); + [CCode (cname = "g_mime_stream_flush")] + public virtual int flush (); + [CCode (cname = "g_mime_stream_length")] + public virtual int64 length (); + [CCode (cname = "g_mime_stream_printf")] + public ssize_t printf (string fmt); + [CCode (cname = "g_mime_stream_read")] + public virtual ssize_t read (string buf, size_t len); + [CCode (cname = "g_mime_stream_reset")] + public virtual int reset (); + [CCode (cname = "g_mime_stream_seek")] + public virtual int64 seek (int64 offset, GMime.SeekWhence whence); + [CCode (cname = "g_mime_stream_set_bounds")] + public void set_bounds (int64 start, int64 end); + [CCode (cname = "g_mime_stream_substream")] + public virtual unowned GMime.Stream substream (int64 start, int64 end); + [CCode (cname = "g_mime_stream_tell")] + public virtual int64 tell (); + [CCode (cname = "g_mime_stream_write")] + public virtual ssize_t write (string buf, size_t len); + [CCode (cname = "g_mime_stream_write_string")] + public ssize_t write_string (string str); + [CCode (cname = "g_mime_stream_write_to_stream")] + public ssize_t write_to_stream (GMime.Stream dest); + [CCode (cname = "g_mime_stream_writev")] + public ssize_t writev (GMime.StreamIOVector vector, size_t count); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamBuffer : GMime.Stream { + public weak string bufend; + public weak string buffer; + public size_t buflen; + public weak string bufptr; + public GMime.StreamBufferMode mode; + public weak GMime.Stream source; + [CCode (cname = "g_mime_stream_buffer_new", has_construct_function = false, type = "GMimeStream*")] + public StreamBuffer (GMime.Stream source, GMime.StreamBufferMode mode); + [CCode (cname = "g_mime_stream_buffer_gets")] + public static ssize_t gets (GMime.Stream stream, string buf, size_t max); + [CCode (cname = "g_mime_stream_buffer_readln")] + public static void readln (GMime.Stream stream, GLib.ByteArray buffer); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamCat : GMime.Stream { + public void* current; + public void* sources; + [CCode (cname = "g_mime_stream_cat_new", has_construct_function = false, type = "GMimeStream*")] + public StreamCat (); + [CCode (cname = "g_mime_stream_cat_add_source")] + public int add_source (GMime.Stream source); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamFile : GMime.Stream { + public weak GLib.FileStream fp; + public bool owner; + [CCode (cname = "g_mime_stream_file_new", has_construct_function = false, type = "GMimeStream*")] + public StreamFile (GLib.FileStream fp); + [CCode (cname = "g_mime_stream_file_get_owner")] + public bool get_owner (); + [CCode (cname = "g_mime_stream_file_set_owner")] + public void set_owner (bool owner); + [CCode (cname = "g_mime_stream_file_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] + public StreamFile.with_bounds (GLib.FileStream fp, int64 start, int64 end); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamFilter : GMime.Stream { + public weak GMime.Stream source; + [CCode (cname = "g_mime_stream_filter_new", has_construct_function = false, type = "GMimeStream*")] + public StreamFilter (GMime.Stream stream); + [CCode (cname = "g_mime_stream_filter_add")] + public int add (GMime.Filter filter); + [CCode (cname = "g_mime_stream_filter_remove")] + public void remove (int id); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamFs : GMime.Stream { + public bool eos; + public int fd; + public bool owner; + [CCode (cname = "g_mime_stream_fs_new", has_construct_function = false, type = "GMimeStream*")] + public StreamFs (int fd); + [CCode (cname = "g_mime_stream_fs_get_owner")] + public bool get_owner (); + [CCode (cname = "g_mime_stream_fs_set_owner")] + public void set_owner (bool owner); + [CCode (cname = "g_mime_stream_fs_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] + public StreamFs.with_bounds (int fd, int64 start, int64 end); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamGIO : GMime.Stream { + public bool eos; + public weak GLib.File file; + public weak GLib.InputStream istream; + public weak GLib.OutputStream ostream; + public bool owner; + [CCode (cname = "g_mime_stream_gio_new", has_construct_function = false, type = "GMimeStream*")] + public StreamGIO (GLib.File file); + [CCode (cname = "g_mime_stream_gio_get_owner")] + public bool get_owner (); + [CCode (cname = "g_mime_stream_gio_set_owner")] + public void set_owner (bool owner); + [CCode (cname = "g_mime_stream_gio_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] + public StreamGIO.with_bounds (GLib.File file, int64 start, int64 end); + } + [CCode (cheader_filename = "gmime/gmime.h")] + [Compact] + public class StreamIOVector { + public void* data; + public size_t len; + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamMem : GMime.Stream { + public weak GLib.ByteArray buffer; + public bool owner; + [CCode (cname = "g_mime_stream_mem_new", has_construct_function = false, type = "GMimeStream*")] + public StreamMem (); + [CCode (cname = "g_mime_stream_mem_get_byte_array")] + public unowned GLib.ByteArray get_byte_array (); + [CCode (cname = "g_mime_stream_mem_get_owner")] + public bool get_owner (); + [CCode (cname = "g_mime_stream_mem_set_byte_array")] + public void set_byte_array (GLib.ByteArray array); + [CCode (cname = "g_mime_stream_mem_set_owner")] + public void set_owner (bool owner); + [CCode (cname = "g_mime_stream_mem_new_with_buffer", has_construct_function = false, type = "GMimeStream*")] + public StreamMem.with_buffer ([CCode (array_length_pos = 1)] uint8[] buffer); + [CCode (cname = "g_mime_stream_mem_new_with_byte_array", has_construct_function = false, type = "GMimeStream*")] + public StreamMem.with_byte_array (GLib.ByteArray array); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamMmap : GMime.Stream { + public bool eos; + public int fd; + public weak string map; + public size_t maplen; + public bool owner; + [CCode (cname = "g_mime_stream_mmap_new", has_construct_function = false, type = "GMimeStream*")] + public StreamMmap (int fd, int prot, int flags); + [CCode (cname = "g_mime_stream_mmap_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] + public StreamMmap.with_bounds (int fd, int prot, int flags, int64 start, int64 end); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamNull : GMime.Stream { + public size_t newlines; + public size_t written; + [CCode (cname = "g_mime_stream_null_new", has_construct_function = false, type = "GMimeStream*")] + public StreamNull (); + } + [CCode (cheader_filename = "gmime/gmime.h")] + public class StreamPipe : GMime.Stream { + public bool eos; + public int fd; + public bool owner; + [CCode (cname = "g_mime_stream_pipe_new", has_construct_function = false, type = "GMimeStream*")] + public StreamPipe (int fd); + [CCode (cname = "g_mime_stream_pipe_get_owner")] + public bool get_owner (); + [CCode (cname = "g_mime_stream_pipe_set_owner")] + public void set_owner (bool owner); + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CERTIFICATE_TRUST_", has_type_id = false)] + public enum CertificateTrust { + NONE, + NEVER, + UNDEFINED, + MARGINAL, + FULLY, + ULTIMATE + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CIPHER_ALGO_", has_type_id = false)] + public enum CipherAlgo { + DEFAULT, + IDEA, + @3DES, + CAST5, + BLOWFISH, + AES, + AES192, + AES256, + TWOFISH, + CAMELLIA128, + CAMELLIA192, + CAMELLIA256 + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CONTENT_ENCODING_", has_type_id = false)] + public enum ContentEncoding { + DEFAULT, + @7BIT, + @8BIT, + BINARY, + BASE64, + QUOTEDPRINTABLE, + UUENCODE + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_DIGEST_ALGO_", has_type_id = false)] + public enum DigestAlgo { + DEFAULT, + MD5, + SHA1, + RIPEMD160, + MD2, + TIGER192, + HAVAL5160, + SHA256, + SHA384, + SHA512, + SHA224, + MD4 + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_ENCODING_CONSTRAINT_", has_type_id = false)] + public enum EncodingConstraint { + @7BIT, + @8BIT, + BINARY + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_BEST_", has_type_id = false)] + public enum FilterBestFlags { + CHARSET, + ENCODING + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_FROM_MODE_", has_type_id = false)] + public enum FilterFromMode { + DEFAULT, + ESCAPE, + ARMOR + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_GZIP_MODE_", has_type_id = false)] + public enum FilterGZipMode { + ZIP, + UNZIP + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_PUBKEY_ALGO_", has_type_id = false)] + public enum PubKeyAlgo { + DEFAULT, + RSA, + RSA_E, + RSA_S, + ELG_E, + DSA, + ELG + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_RECIPIENT_TYPE_", has_type_id = false)] + public enum RecipientType { + TO, + CC, + BCC + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_STREAM_SEEK_", has_type_id = false)] + public enum SeekWhence { + SET, + CUR, + END + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_SIGNATURE_ERROR_", has_type_id = false)] + public enum SignatureError { + NONE, + EXPSIG, + NO_PUBKEY, + EXPKEYSIG, + REVKEYSIG, + UNSUPP_ALGO + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_SIGNATURE_STATUS_", has_type_id = false)] + public enum SignatureStatus { + GOOD, + ERROR, + BAD + } + [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_STREAM_BUFFER_", has_type_id = false)] + public enum StreamBufferMode { + CACHE_READ, + BLOCK_READ, + BLOCK_WRITE + } + [CCode (cheader_filename = "gmime/gmime.h")] + public delegate void HeaderForeachFunc (string name, string value); + [CCode (cheader_filename = "gmime/gmime.h", has_target = false)] + public delegate ssize_t HeaderWriter (GMime.Stream stream, string name, string value); + [CCode (cheader_filename = "gmime/gmime.h")] + public delegate void ObjectForeachFunc (GMime.Object parent, GMime.Object part); + [CCode (cheader_filename = "gmime/gmime.h")] + public delegate void ParserHeaderRegexFunc (GMime.Parser parser, string header, string value, int64 offset); + [CCode (cheader_filename = "gmime/gmime.h", has_target = false)] + public delegate bool PasswordRequestFunc (GMime.CryptoContext ctx, string user_id, string prompt_ctx, bool reprompt, GMime.Stream response) throws GLib.Error; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int BINARY_AGE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const string DISPOSITION_ATTACHMENT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const string DISPOSITION_INLINE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int ENABLE_RFC2047_WORKAROUNDS; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_ENRICHED_IS_RICHTEXT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_CITE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_CONVERT_ADDRESSES; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_CONVERT_NL; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_CONVERT_SPACES; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_CONVERT_URLS; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_ESCAPE_8BIT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_MARK_CITATION; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int FILTER_HTML_PRE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int INTERFACE_AGE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int MAJOR_VERSION; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int MICRO_VERSION; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int MINOR_VERSION; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int UUDECODE_STATE_BEGIN; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int UUDECODE_STATE_END; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int UUDECODE_STATE_INIT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int UUDECODE_STATE_MASK; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_BEGIN; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_DECODE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_END; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_EOLN; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_ESCAPE; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_INIT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YDECODE_STATE_PART; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YENCODE_CRC_INIT; + [CCode (cheader_filename = "gmime/gmime.h")] + public const int YENCODE_STATE_INIT; + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_check_version")] + public static bool check_version (uint major, uint minor, uint micro); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_content_encoding_from_string")] + public static GMime.ContentEncoding content_encoding_from_string (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_content_encoding_to_string")] + public static unowned string content_encoding_to_string (GMime.ContentEncoding encoding); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_close")] + public static int iconv_close (void* cd); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_init")] + public static void iconv_init (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_locale_to_utf8")] + public static unowned string iconv_locale_to_utf8 (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_locale_to_utf8_length")] + public static unowned string iconv_locale_to_utf8_length (string str, size_t n); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_open")] + public static void* iconv_open (string to, string from); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_shutdown")] + public static void iconv_shutdown (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_strdup")] + public static unowned string iconv_strdup (void* cd, string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_strndup")] + public static unowned string iconv_strndup (void* cd, string str, size_t n); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_utf8_to_locale")] + public static unowned string iconv_utf8_to_locale (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_utf8_to_locale_length")] + public static unowned string iconv_utf8_to_locale_length (string str, size_t n); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_init")] + public static void init (uint32 flags); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_locale_charset")] + public static unowned string locale_charset (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_locale_language")] + public static unowned string locale_language (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_set_user_charsets")] + public static void set_user_charsets (out unowned string charsets); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_shutdown")] + public static void shutdown (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_user_charsets")] + public static unowned string user_charsets (); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_best_encoding")] + public static GMime.ContentEncoding utils_best_encoding (uint text, size_t len); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_decode_8bit")] + public static string utils_decode_8bit (string text, size_t len); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_decode_message_id")] + public static unowned string utils_decode_message_id (string message_id); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_generate_message_id")] + public static unowned string utils_generate_message_id (string fqdn); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_date")] + public static time_t utils_header_decode_date (string str, out unowned int? tz_offset); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_phrase")] + public static string utils_header_decode_phrase (string phrase); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_text")] + public static string utils_header_decode_text (string text); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_encode_phrase")] + public static unowned string utils_header_encode_phrase (string phrase); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_encode_text")] + public static unowned string utils_header_encode_text (string text); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_fold")] + public static unowned string utils_header_fold (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_format_date")] + public static unowned string utils_header_format_date (ulong date, int tz_offset); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_printf")] + public static unowned string utils_header_printf (string format); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_quote_string")] + public static unowned string utils_quote_string (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_structured_header_fold")] + public static unowned string utils_structured_header_fold (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_text_is_8bit")] + public static bool utils_text_is_8bit (uint text, size_t len); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_unquote_string")] + public static void utils_unquote_string (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_unstructured_header_fold")] + public static unowned string utils_unstructured_header_fold (string str); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_ydecode_step")] + public static size_t ydecode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_yencode_close")] + public static size_t yencode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); + [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_yencode_step")] + public static size_t yencode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); +} +[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddress", type_check_function = "IS_INTERNET_ADDRESS", type_id = "INTERNET_ADDRESS_TYPE")] +public class InternetAddress : GLib.Object { + [CCode (cname = "internet_address_get_name")] + public unowned string? get_name (); + [CCode (cname = "internet_address_set_name")] + public void set_name (string? name); + [CCode (cname = "internet_address_to_string")] + public virtual string to_string (bool encoded); +} +[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressGroup", type_check_function = "INTERNET_ADDRESS_IS_GROUP", type_id = "INTERNET_ADDRESS_TYPE_GROUP")] +public class InternetAddressGroup : InternetAddress { + [CCode (cname = "internet_address_group_new")] + public InternetAddressGroup (string name); + [CCode (cname = "internet_address_group_add_member")] + public int add_member (InternetAddress member); + [CCode (cname = "internet_address_group_get_members")] + public unowned InternetAddressList get_members (); + [CCode (cname = "internet_address_group_set_members")] + public void set_members (InternetAddressList members); +} +[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressMailbox", type_check_function = "INTERNET_ADDRESS_IS_MAILBOX", type_id = "INTERNET_ADDRESS_TYPE_MAILBOX")] +public class InternetAddressMailbox : InternetAddress { + [CCode (cname = "internet_address_mailbox_new")] + public InternetAddressMailbox (string? name, string addr); + [CCode (cname = "internet_address_mailbox_get_addr")] + public unowned string get_addr (); + [CCode (cname = "internet_address_mailbox_set_addr")] + public void set_addr (string addr); +} +[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressList", type_check_function = "IS_INTERNET_ADDRESS_LIST", type_id = "INTERNET_ADDRESS_LIST_TYPE")] +public class InternetAddressList : GLib.Object { + [CCode (cname = "internet_address_list_new")] + public InternetAddressList (); + [CCode (cname = "internet_address_list_add")] + public int add (InternetAddress addr); + [CCode (cname = "internet_address_list_append")] + public void append (InternetAddressList append); + [CCode (cname = "internet_address_list_clear")] + public void clear (); + [CCode (cname = "internet_address_list_contains")] + public bool contains (InternetAddress addr); + [CCode (cname = "internet_address_list_get_address")] + public unowned InternetAddress get_address (int index); + [CCode (cname = "internet_address_list_index_of")] + public int index_of (InternetAddress addr); + [CCode (cname = "internet_address_list_insert")] + public void insert (int index, InternetAddress addr); + [CCode (cname = "internet_address_list_length")] + public int length (); + [CCode (cname = "internet_address_list_parse_string")] + public static InternetAddressList? parse_string (string str); + [CCode (cname = "internet_address_list_prepend")] + public void prepend (InternetAddressList prepend); + [CCode (cname = "internet_address_list_remove")] + public bool remove (InternetAddress addr); + [CCode (cname = "internet_address_list_remove_at")] + public bool remove_at (int index); + [CCode (cname = "internet_address_list_set_address")] + public void set_address (int index, InternetAddress addr); + [CCode (cname = "internet_address_list_to_string")] + public string? to_string (bool encode); +} diff --git a/vapi/libesmtp.vapi b/vapi/libesmtp.vapi new file mode 100644 index 0000000..5d43eb2 --- /dev/null +++ b/vapi/libesmtp.vapi @@ -0,0 +1,392 @@ +/* libesmtp.vapi + * + * Copyright (C) 2010 Adrien Bustany + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * As a special exception, if you use inline functions from this file, this + * file does not by itself cause the resulting executable to be covered by + * the GNU Lesser General Public License. + * + * Author: + * Adrien Bustany <abustany@gnome.org> + */ + +[CCode (cheader_filename="libesmtp.h")] +namespace Smtp { + [SimpleType] + [CCode (cname="smtp_session_t", free_function="smtp_destroy_session")] + public struct Session { + [CCode (cname="smtp_create_session")] + public Session (); + + [CCode (cname="smtp_add_message")] + public Smtp.Message add_message (); + [CCode (cname="smtp_enumerate_messages")] + public int enumerate_message (EnumerateMessageCb cb); + [CCode (cname="smtp_set_server")] + public int set_server (string hostport); + [CCode (cname="smtp_set_hostname")] + public int set_hostname (string hostname); + [CCode (cname="smtp_set_eventcb")] + public int set_eventcb (EventCb cb); + [CCode (cname="smtp_set_monitorcb", instance_pos=1.5)] + public int set_monitorcb (MonitorCb cb, int headers); + [CCode (cname="smtp_start_session")] + public int start_session (); + [CCode (cname="smtp_set_application_data")] + public void* set_application_data (void *data); + [CCode (cname="smtp_get_application_data")] + public void* get_application_data (); + [CCode (cname="smtp_option_require_all_recipients")] + public int option_require_all_recipients (int state); + [CCode (cname="smtp_auth_set_context")] + public int auth_set_context (Smtp.AuthContext context); + [CCode (cname="smtp_set_timeout")] + public long set_timeout (int which, long value); + /* Will be enabled if there are SSL bindings + [CCode (cname="smtp_starttls_set_ctx")] + public int starttls_set_ctx (SSL.Ctx ctx); */ + [CCode (cname="smtp_etrn_add_node")] + public EtrnNode etrn_add_node (int option, string node); + [CCode (cname="smtp_etrn_enumerate_nodes")] + public int etrn_enumerate_nodes (EtrnEnumerateNodeCb cb); + [CCode (cname="smtp_starttls_enable")] + public int starttls_enable (StartTlsOption how); + } + + [SimpleType] + [CCode (cname="smtp_message_t", free_function="g_free")] + public struct Message { + [CCode (cname="smtp_set_reverse_path")] + public int set_reverse_path (string mailbox); + [CCode (cname="smtp_add_recipient")] + public Smtp.Recipient add_recipient (string mailbox); + [CCode (cname="smtp_enumerate_recipients")] + public int enumerate_recipients (EnumerateRecipientCb cb); + [CCode (cname="smtp_set_header", sentinel="")] + public int set_header (string header, ...); + [CCode (cname="smtp_set_header_option")] + public int set_header_option (string header, Smtp.HeaderOption option, ...); + [CCode (cname="smtp_set_resent_headers")] + public int set_resent_headers (int onoff); + [CCode (cname="smtp_set_messagecb")] + public int set_messagecb (MessageCb cb); + [CCode (cname="smtp_message_transfer_status")] + public unowned Smtp.Status transfer_status (); + [CCode (cname="smtp_reverse_path_status")] + public unowned Smtp.Status reverse_path_status (); + [CCode (cname="smtp_message_reset_status")] + public static int reset_status (Smtp.Recipient recipient); + [CCode (cname="smtp_dsn_set_ret")] + public int dsn_set_ret (Smtp.RetFlags flags); + [CCode (cname="smtp_dsn_set_envid")] + public int dsn_set_envid (string envid); + [CCode (cname="smtp_dsn_set_notify")] + public int dsn_set_notify (NotifyFlags flags); + [CCode (cname="smtp_dsn_set_orcpt")] + public int dsn_set_orcpt (string address_type, string address); + [CCode (cname="smtp_size_set_estimate")] + public int smtp_size_set_estimate (ulong size); + [CCode (cname="smtp_8bitmime_set_body")] + public int @8bitmime_set_body (E8BitMimeBody body); + [CCode (cname="smtp_deliverby_set_mode")] + public int deliverby_set_mode (long time, ByMode mode, int trace); + } + + [SimpleType] + [CCode (cname="smtp_session_t", free_function="g_free")] + public struct Recipient { + [CCode (cname="smtp_recipient_check_complete")] + public int check_complete (); + [CCode (cname="smtp_recipient_reset_status")] + public int reset_status (); + [CCode (cname="smtp_recipient_set_application_data")] + public void set_application_data (void *data); + [CCode (cname="smtp_recipient_get_application_data")] + public void get_application_data (); + } + + [Compact] + [CCode (cname="smtp_status_t", free_function = "g_free")] + public class Status { + public int code; + public string text; + public int enh_struct; + public int enh_subject; + public int enh_detail; + } + + [SimpleType] + [CCode (cname="smtp_etrn_node_t")] + public struct EtrnNode { + [CCode (cname="smtp_etrn_node_status")] + public unowned Smtp.Status node_status (); + [CCode (cname="smtp_etrn_set_application_data")] + public void* set_application_data (void *data); + [CCode (cname="smtp_etrn_get_application_data")] + public void* get_application_data (); + } + + [SimpleType] + [CCode (cname="auth_context_t", cheader_filename="auth-client.h", free_function="auth_destroy_context")] + public struct AuthContext { + [CCode (cname="auth_set_mechanism_flags")] + public int set_mechanism_flags (uint @set, uint clear); + [CCode (cname="auth_set_mechanism_ssf")] + public int set_mechanism_ssf (int min_ssf); + [CCode (cname="auth_set_interact_cb")] + public int set_interact_cb (AuthInteract interact); + [CCode (cname="auth_client_enabled")] + public int client_enabled (); + [CCode (cname="auth_set_mechanism")] + public int set_mechanism (string name); + [CCode (cname="auth_mechanism_name")] + public string mechanism_name (); + [CCode (cname="auth_response")] + public string response (string challenge, int len); + [CCode (cname="auth_get_ssf")] + public int get_ssf (); + [CCode (cname="auth_set_external_id")] + public int set_external_id (string identity); + } + + [CCode (cname="struct auth_client_request", cheader_filename="auth-client.h")] + public struct AuthClientRequest { + string name; + AuthType flags; + string prompt; + uint size; + } + + // the "what" parameter must be 0 + // if buf_len is not enough, SMTP_ERR_INVAL error will be set. 32 is generally enough + [CCode (cname="smtp_version")] + public static int version (string buf, string buf_len, int what); + + [CCode (cname="smtp_errno")] + public static int errno (); + + [CCode (cname="smtp_strerror")] + public static string strerror (int error, string buf, string buflen); + + [CCode (cname="auth_client_init", cheader_filename="auth-client.h")] + public static void auth_client_init (); + + [CCode (cname="auth_client_exit", cheader_filename="auth-client.h")] + public static void auth_client_exit (); + + [CCode (cname="auth_encode", cheader_filename="auth-client.h")] + public static void auth_encode (out string dstbuf, out int dstlen, string srcbuf, int srclen, void *arg); + + [CCode (cname="auth_decode", cheader_filename="auth-client.h")] + public static void auth_decode (out string dstbuf, out int dstlen, string srcbuf, int srclen, void *arg); + + [CCode (cname="auth_create_context", cheader_filename="auth-client.h")] + public static AuthContext auth_create_context (); + + [CCode (cname="smtp_enumerate_messagecb_t")] + public delegate void EnumerateMessageCb (Smtp.Message message); + + [CCode (cname="smtp_enumerate_recipientcb_t")] + public delegate void EnumerateRecipientCb (Smtp.Recipient recipient, string mailbox); + + [CCode (cname="smtp_messagecb_t")] + public delegate unowned string? MessageCb (out string buf, int* len); + + [CCode (cname="smtp_eventcb_t", instance_pos=2.5)] + public delegate void EventCb (Smtp.Session session, int event_no, ...); + + [CCode (cname="smtp_monitorcb_t")] + public delegate void MonitorCb (string buf, int buflen, int writing); + + [CCode (cname="smtp_starttls_passwordcb_t")] + public delegate int StartTlsPasswordCb (string buf, int buflen, int rwflag); + + [CCode (cname="smtp_etrn_enumerate_nodecb_t")] + public delegate void EtrnEnumerateNodeCb (Smtp.EtrnNode node, int option, string domain); + + [CCode (cname="auth_interact_t", cheader_filename="auth-client.h")] + public delegate int AuthInteract ([CCode(array_length_pos = 3.9)] AuthClientRequest[] requests, char** result); + + [CCode (cname="auth_response_t", cheader_filename="auth-client.h")] + public delegate string AuthResponse (void *ctx, string challenge, int len, AuthInteract interact); + + [CCode (cname="auth_recode_t", cheader_filename="auth-client.h", has_target=false)] + public delegate int AuthRecode (void *ctx, out string dstbuf, out int dstlen, string srcbuf, int srclen); + + [CCode (cname="header_option", cprefix="Hdr_")] + public enum HeaderOption { + OVERRIDE, + PROHIBIT + } + + [CCode (cname="ret_flags", cprefix="Ret_")] + public enum RetFlags { + NOTSET, + FULL, + HDRS + } + + [CCode (cname="notify_flags", cprefix="Notify_")] + public enum NotifyFlags { + NOTSET, + NEVER, + SUCCESS, + FAILURE, + DELAY + } + + [CCode (cname="e8bitmime_body", cprefix="E8bitmime_")] + public enum E8BitMimeBody { + NOTSET, + @7BIT, + @8BITMIME, + BINARYMIME + } + + [CCode (cname="by_mode", cprefix="By_")] + public enum ByMode { + NOTSET, + NOTIFY, + RETURN + } + + [CCode (cname="starttls_option", cprefix="Starttls_")] + public enum StartTlsOption { + DISABLED, + ENABLED, + REQUIRED + } + + [CCode (cname="SMTP_EV_CONNECT")] + public static const uint EV_CONNECT; + [CCode (cname="SMTP_EV_MAILSTATUS")] + public static const uint EV_MAILSTATUS; + [CCode (cname="SMTP_EV_RCPTSTATUS")] + public static const uint EV_RCPTSTATUS; + [CCode (cname="SMTP_EV_MESSAGEDATA")] + public static const uint EV_MESSAGEDATA; + [CCode (cname="SMTP_EV_MESSAGESENT")] + public static const uint EV_MESSAGESENT; + [CCode (cname="SMTP_EV_DISCONNECT")] + public static const uint EV_DISCONNECT; + [CCode (cname="SMTP_EV_ETRNSTATUS")] + public static const uint EV_ETRNSTATUS; + [CCode (cname="SMTP_EV_EXTNA_DSN")] + public static const uint EV_EXTNA_DSN; + [CCode (cname="SMTP_EV_EXTNA_8BITMIME")] + public static const uint EV_EXTNA_8BITMIME; + [CCode (cname="SMTP_EV_EXTNA_STARTTLS")] + public static const uint EV_EXTNA_STARTTLS; + [CCode (cname="SMTP_EV_EXTNA_ETRN")] + public static const uint EV_EXTNA_ETRN; + [CCode (cname="SMTP_EV_EXTNA_CHUNKING")] + public static const uint EV_EXTNA_CHUNKING; + [CCode (cname="SMTP_EV_EXTNA_BINARYMIME")] + public static const uint EV_EXTNA_BINARYMIME; + [CCode (cname="SMTP_EV_DELIVERBY_EXPIRED")] + public static const uint EV_DELIVERBY_EXPIRED; + [CCode (cname="SMTP_EV_WEAK_CIPHER")] + public static const uint EV_WEAK_CIPHER; + [CCode (cname="SMTP_EV_STARTTLS_OK")] + public static const uint EV_STARTTLS_OK; + [CCode (cname="SMTP_EV_INVALID_PEER_CERTIFICATE")] + public static const uint EV_INVALID_PEER_CERTIFICATE; + [CCode (cname="SMTP_EV_NO_PEER_CERTIFICATE")] + public static const uint EV_NO_PEER_CERTIFICATE; + [CCode (cname="SMTP_EV_WRONG_PEER_CERTIFICATE")] + public static const uint EV_WRONG_PEER_CERTIFICATE; + [CCode (cname="SMTP_EV_NO_CLIENT_CERTIFICATE")] + public static const uint EV_NO_CLIENT_CERTIFICATE; + [CCode (cname="SMTP_EV_UNUSABLE_CLIENT_CERTIFICATE")] + public static const uint EV_UNUSABLE_CLIENT_CERTIFICATE; + [CCode (cname="SMTP_EV_UNUSABLE_CA_LIST")] + public static const uint EV_UNUSABLE_CA_LIST; + + [CCode (cname="Timeout_OVERRIDE_RFC2822_MINIMUM")] + public static const long TIMEOUT_OVERRIDE_RFC2822_MINIMUM; + + [CCode (cname="SMTP_ERR_NOTHING_TO_DO")] + public static const uint ERR_NOTHING_TO_DO; + [CCode (cname="SMTP_ERR_DROPPED_CONNECTION")] + public static const uint ERR_DROPPED_CONNECTION; + [CCode (cname="SMTP_ERR_INVALID_RESPONSE_SYNTAX")] + public static const uint ERR_INVALID_RESPONSE_SYNTAX; + [CCode (cname="SMTP_ERR_STATUS_MISMATCH")] + public static const uint ERR_STATUS_MISMATCH; + [CCode (cname="SMTP_ERR_INVALID_RESPONSE_STATUS")] + public static const uint ERR_INVALID_RESPONSE_STATUS; + [CCode (cname="SMTP_ERR_INVAL")] + public static const uint ERR_INVAL; + [CCode (cname="SMTP_ERR_EXTENSION_NOT_AVAILABLE")] + public static const uint ERR_EXTENSION_NOT_AVAILABLE; + [CCode (cname="SMTP_ERR_HOST_NOT_FOUND")] + public static const uint ERR_HOST_NOT_FOUND; + [CCode (cname="SMTP_ERR_NO_ADDRESS")] + public static const uint ERR_NO_ADDRESS; + [CCode (cname="SMTP_ERR_NO_RECOVERY")] + public static const uint ERR_NO_RECOVERY; + [CCode (cname="SMTP_ERR_TRY_AGAIN")] + public static const uint ERR_TRY_AGAIN; + [CCode (cname="SMTP_ERR_EAI_AGAIN")] + public static const uint ERR_EAI_AGAIN; + [CCode (cname="SMTP_ERR_EAI_FAIL")] + public static const uint ERR_EAI_FAIL; + [CCode (cname="SMTP_ERR_EAI_MEMORY")] + public static const uint ERR_EAI_MEMORY; + [CCode (cname="SMTP_ERR_EAI_ADDRFAMILY")] + public static const uint ERR_EAI_ADDRFAMILY; + [CCode (cname="SMTP_ERR_EAI_NODATA")] + public static const uint ERR_EAI_NODATA; + [CCode (cname="SMTP_ERR_EAI_FAMILY")] + public static const uint ERR_EAI_FAMILY; + [CCode (cname="SMTP_ERR_EAI_BADFLAGS")] + public static const uint ERR_EAI_BADFLAGS; + [CCode (cname="SMTP_ERR_EAI_NONAME")] + public static const uint ERR_EAI_NONAME; + [CCode (cname="SMTP_ERR_EAI_SERVICE")] + public static const uint ERR_EAI_SERVICE; + [CCode (cname="SMTP_ERR_EAI_SOCKTYPE")] + public static const uint ERR_EAI_SOCKTYPE; + [CCode (cname="SMTP_ERR_UNTERMINATED_RESPONSE")] + public static const uint ERR_UNTERMINATED_RESPONSE; + [CCode (cname="SMTP_ERR_CLIENT_ERROR")] + public static const uint ERR_CLIENT_ERROR; + [CCode (cname="SMTP_CB_READING")] + public static const uint CB_READING; + [CCode (cname="SMTP_CB_WRITING")] + public static const uint CB_WRITING; + [CCode (cname="SMTP_CB_HEADERS")] + public static const uint CB_HEADERS; + + [Flags] + [CCode (cname="uint")] + public enum AuthType { + [CCode (cname="AUTH_USER", cheader_filename="auth-client.h")] + USER, + [CCode (cname="AUTH_REALM", cheader_filename="auth-client.h")] + REALM, + [CCode (cname="AUTH_PASS", cheader_filename="auth-client.h")] + PASS + } + + [CCode (cname="AUTH_PLUGIN_ANONYMOUS", cheader_filename="auth-client.h")] + public static uint AUTH_PLUGIN_ANONYMOUS; + [CCode (cname="AUTH_PLUGIN_PLAIN", cheader_filename="auth-client.h")] + public static uint AUTH_PLUGIN_PLAIN; + [CCode (cname="AUTH_PLUGIN_EXTERNAL", cheader_filename="auth-client.h")] + public static uint AUTH_PLUGIN_EXTERNAL; +} |