### Namespace

# Camel – 1.2

The Evolution Data Server MIME message handling library

Version | 3.58.3
Authors | Evolution Data Server Development Team
License | LGPL-2.0-only
Website |
Source | https://gitlab.gnome.org/GNOME/evolution-data-server/

#### Build

C headers | `camel/camel.h`
pkg-config files | `camel-1.2`

#### Dependencies

GObject—2.0 | The base type system library
| Browse documentation

#### Additional documentation

- Classes Hierarchy

#### Classes

Address |
BlockFile |
CertDB |
CipherContext |
DataCache |
DataWrapper |
DB | since: 2.24
FilterDriver |
FilterInputStream |
FilterOutputStream |
Folder |
FolderSummary |
FolderThread |
GpgContext |
HTMLParser |
Index |
IndexCursor |
IndexName |
InternetAddress |
KeyFile |
KeyTable |
LocalSettings | Contains only private data that should be read and manipulated using the functions below. since: 3.4
Medium |
MessageInfo |
MessageInfoBase |
MimeFilter |
MimeFilterBasic |
MimeFilterBestenc |
MimeFilterCanon |
MimeFilterCharset |
MimeFilterCRLF |
MimeFilterEnriched |
MimeFilterFrom |
MimeFilterGZip |
MimeFilterHTML |
MimeFilterIndex |
MimeFilterLinewrap |
MimeFilterPgp |
MimeFilterPreview |
MimeFilterProgress | since: 2.24
MimeFilterToHTML |
MimeFilterWindows |
MimeFilterYenc |
MimeMessage |
MimeParser |
MimePart |
Multipart |
MultipartEncrypted |
MultipartSigned |
NNTPAddress |
NullOutputStream |
OfflineFolder |
OfflineSettings | Contains only private data that should be read and manipulated using the functions below. since: 3.2
OfflineStore |
Operation |
PartitionTable |
Sasl |
SaslAnonymous |
SaslCramMd5 |
SaslDigestMd5 |
SaslGssapi |
SaslLogin |
SaslNTLM |
SaslPlain |
SaslPOPB4SMTP |
SaslXOAuth2 |
SaslXOAuth2Google |
SaslXOAuth2Outlook |
SaslXOAuth2Yahoo |
Service |
Session |
Settings | Contains only private data that should be read and manipulated using the functions below. since: 3.2
SExp | since: 3.4
SMIMEContext |
Store |
StoreDB | since: 3.58
StoreSearch | since: 3.58
StoreSettings | Contains only private data that should be read and manipulated using the functions below. since: 3.2
StoreSummary |
Stream |
StreamBuffer |
StreamFilter |
StreamFs |
StreamMem |
StreamNull |
StreamProcess |
TextIndex |
TextIndexCursor |
TextIndexKeyCursor |
TextIndexName |
Transport |
VeeFolder |
VeeMessageInfo |
VeeStore |
VeeSummary |
VTrashFolder |

#### Interfaces

JunkFilter | since: 3.2
NetworkService | since: 3.2
NetworkSettings | since: 3.2
Subscribable | since: 3.2

#### Structs

__search_word |
__search_words |
_encrypt |
_KeyKey |
_LockHelperMsg |
_sign |
AsyncClosure | Contains only private data that should be read and manipulated using the functions below. since: 3.12
Block |
BlockRoot |
Cert |
Charset |
CipherCertInfo |
CipherCertInfoProperty |
CipherValidity |
ContentDisposition |
ContentType |
FolderChangeInfo |
FolderInfo |
FolderQuotaInfo | since: 2.24
FolderThreadNode |
GpgKeyInfo | An opaque structure holding information about a user key. since: 3.50
HeaderAddress |
HeaderParam |
KeyBlock |
KeyRootBlock |
MemChunk | since: 3.4
MemPool | since: 2.32
MessageContentInfo |
Msg | since: 2.24
MsgPort | since: 2.24
NamedFlags | since: 3.24
NameValueArray | since: 3.24
ObjectBag |
PartitionKey |
PartitionKeyBlock |
PartitionMap |
PartitionMapBlock |
Provider |
ProviderConfEntry |
ProviderModule |
ProviderPortEntry | since: 3.2
ServiceAuthType |
SExpResult | since: 3.4
SExpSymbol | Describes a function or a variable symbol. since: 3.4
SExpTerm | since: 3.4
StoreDBFolderRecord | A folder record, with values stored in a `CamelStoreDB`. since: 3.58
StoreDBMessageRecord | A message record, with values stored in a `CamelStoreDB`. since: 3.58
StoreInfo |
StoreSearchIndex | A structure with search result indexes, holding references to matching records using the `CamelStore`, folder ID and message UID triple. Items can be added to the index with `camel_store_search_index_add()` and checked its existence with camel_store_search_index_contains(). since: 3.58
StoreSearchItem | A search item object, as returned by the camel_store_search_get_items_sync(). It can contain additional values, as requested by the camel_store_search_set_additional_columns(), which can be obtained by `camel_store_search_item_get_n_additional_values()` and camel_store_search_item_get_additional_value(). since: 3.58
StoreSearchThreadItem | A structure holding data necessary to construct message threads using `CamelFolderThread`. It’s gathered by camel_store_search_add_match_threads_items_sync(). since: 3.58
SummaryMessageID |
Trie | A trie data structure. since: 2.24
UIDCache |
URL |
UrlMatch |
UrlPattern |
UrlScanner |
WeakRefGroup |

#### Aliases

_block_t |
_hash_t |
_key_t |

#### Enumerations

_search_match_t |
_search_t |
_search_word_t |
AuthenticationResult | Authentication result codes used by `CamelService`. since: 3.4
CertTrust |
CipherContextError | since: 3.50
CipherHash |
CipherValidityEncrypt |
CipherValidityMode |
CipherValiditySign |
CmpBodyKind |
CmpHeaderKind |
CompareType | Declares the compare type to use. since: 3.24
DBError | since: 3.44
FetchHeadersType | Describes what headers to fetch when downloading message summaries. since: 3.2
FetchType | since: 3.4
GpgTrust | GPG key trust levels. since: 3.50
HeaderAddressType |
HTMLParserState |
JunkStatus | These are result codes used when passing messages through a junk filter.
LockType |
MatchThreadsKind | Kinds for “match-threads” search option. since: 3.58
MemPoolFlags | since: 2.32
MimeFilterBasicType |
MimeFilterCRLFDirection |
MimeFilterCRLFMode |
MimeFilterGZipMode |
MimeFilterYencDirection |
MimeParserState |
NetworkSecurityMethod | Methods for establishing an encrypted (or unencrypted) network connection. since: 3.2
ProviderConfType |
ProviderType |
SaslAnonTraceType |
ServiceConnectionStatus | Connection status returned by camel_service_get_connection_status(). since: 3.6
SessionAlertType |
SExpResultType | Defines type of a `CamelSExpResult`. since: 3.4
SExpTermType | Defines type of a `CamelSExpTerm` and partly also `CamelSExpSymbol`. since: 3.4
SMIMESign |
SortType | Determines the direction of a sort. since: 3.2
StoreDBCountKind | Represents a kind of the count the `camel_store_db_count_messages()` is asked to calculate. since: 3.58
StreamBufferMode |
ThreeState | Describes a three-state value, which can be either Off, On or Inconsistent. since: 3.22
TimeUnit | Declares time unit, which serves to interpret the time value, like in `CamelOfflineSettings`. since: 3.24
TransferEncoding |
VTrashFolderType |

#### Bitfields

_search_flags_t |
BestencEncoding |
BestencRequired |
BlockFileFlags |
BlockFlags |
DBSqlizeFlags | Influences how the `camel_db_sqlize_to_statement()` behaves. since: 3.58
FolderFlags |
FolderInfoFlags | These flags are abstractions. It’s up to the CamelProvider to give them suitable interpretations. Use #CAMEL_FOLDER_TYPE_MASK to isolate the folder’s type.
FolderParamFlags | These flags extend `GParamFlags`. Most of the time you will use them in conjunction with g_object_class_install_property(). since: 3.58
FolderSummaryFlags |
FolderThreadFlags | Flags influencing what the resulting tree for `camel_folder_thread_new()` will look like. since: 3.58
MessageFlags |
MimeFilterCanonFlags |
MimeFilterEnrichedFlags |
MimeFilterToHTMLFlags | Flags for converting text/plain content into text/html.
ProviderFlags |
ProviderURLFlags |
RecipientCertificateFlags | Flags used to `camel_session_get_recipient_certificates_sync()` call. since: 3.30
SMIMEDescribe |
StoreFlags |
StoreGetFolderFlags | Open mode for folder.
StoreGetFolderInfoFlags |
StoreInfoFlags |
StorePermissionFlags |
URLFlags |
UUDecodeState |
VeeFolderOpFlags | Flags influencing behavior of some functions of a `CamelVeeFolder`, like the camel_vee_folder_set_expression_sync(), camel_vee_folder_add_folder_sync (), camel_vee_folder_remove_folder_sync () and camel_vee_folder_set_folders_sync(). since: 3.58

#### Error Domains

Error | since: 2.32
FolderError | since: 2.32
ServiceError | since: 2.32
StoreError | since: 2.32

#### Callbacks

CipherCloneFunc |
CopyFunc |
DataCacheRemoveFunc | A callback called for each found file in the cache, used by camel_data_cache_foreach_remove(). The `filename` corresponds to the result of camel_data_cache_get_filename(). since: 3.26
DBCollate | A collation callback function. since: 2.24
DBSelectCB | A callback called for the SELECT statements. The items at the same index of `colvalues` and `colnames` correspond to each other. since: 3.58
FilterGetFolderFunc |
FilterPlaySoundFunc |
FilterSearchGetMessageFunc |
FilterShellFunc |
FilterStatusFunc |
FilterSystemBeepFunc |
FolderThreadArrayFunc |
FolderThreadInt64Func |
FolderThreadStrFunc |
FolderThreadUint64Func |
FolderThreadVoidFunc |
ForeachPartFunc | Callback used to traverse parts of the `message` using camel_mime_message_foreach_part(). since: 3.34
GeneratePreviewFunc | A custom function to generate preview text for the content of the `part`. The `part` can be either a `CamelMimePart` or a `CamelMultipart`, depending in which context it is called. since: 3.52
IndexNorm |
MessageContentInfoTraverseCallback | This is the callback signature for camel_message_content_info_traverse(). since: 3.36
SessionCallback | This is the callback signature for jobs submitted to the CamelSession via camel_session_submit_job(). The `error` pointer is always non-`NULL`, so it’s safe to dereference to check if a `GError` has been set. since: 3.2
SExpFunc | Callback type for function symbols used with camel_sexp_add_function(). since: 3.4
SExpIFunc | Callback type for function symbols used with camel_sexp_add_ifunction(). since: 3.4
StoreDBReadMessagesFunc | A callback called in the `camel_store_db_read_messages()` for each read message information. The members of the `record` are valid only in time of the callback being called. since: 3.58
TextIndexFunc |
UrlScanFunc |

#### Functions

binding_bind_property | Thread safe variant of g_object_bind_property(). See its documentation for more information on arguments and return value. since: 3.16
binding_bind_property_full | Thread safe variant of g_object_bind_property_full(). See its documentation for more information on arguments and return value. since: 3.16
binding_bind_property_with_closures | Thread safe variant of g_object_bind_property_with_closures(). See its documentation for more information on arguments and return value. since: 3.16
cipher_can_load_photos | since: 3.22
cipher_canonical_to_stream | Writes a part to a stream in a canonicalised format, suitable for signing/encrypting.
cipher_certinfo_get_property | Gets a named property `name` value for the given `cert_info`. since: 3.22
cipher_certinfo_set_property | Sets a named property `name` value `value` for the given `cert_info`. If the `value` is `NULL`, then the property is removed. With a non-`NULL` `value` also `value_free` and `value_clone` functions cannot be `NULL`. since: 3.22
content_transfer_encoding_decode |
debug | Check to see if a debug mode is activated. `mode` takes one of two forms, a fully qualified ‘module:target’, or a wildcard ‘module’ name. It returns a boolean to indicate if the module or module and target is currently activated for debug output.
debug_demangle_backtrace | Demangles `bt`, possibly got from camel_debug_get_raw_backtrace(), by replacing addresses with actual function calls and eventually line numbers, if available. It modifies lines of `bt`, but skips those it cannot parse. since: 3.30
debug_end | Call this when you’re done with your debug output. If and only if you called camel_debug_start, and if it returns TRUE.
debug_get_backtrace | Gets current backtrace leading to this function call and demangles it. since: 3.12
debug_get_raw_backtrace | Gets current raw backtrace leading to this function call. This is quicker than camel_debug_get_backtrace(), because it doesn’t demangle the backtrace. To demangle it (replace addresses with actual function calls and eventually line numbers, if available) call camel_debug_demangle_backtrace(). since: 3.30
debug_init | Init camel debug.
debug_ref_unref_dump_backtraces | Prints current backtraces stored with `camel_debug_ref_unref_push_backtrace()` or with camel_debug_ref_unref_push_backtrace_for_object(). since: 3.20
debug_ref_unref_push_backtrace | Adds this backtrace into the set of backtraces related to some object reference counting issues debugging. This is usually called inside `g_object_ref()` and g_object_unref(). If the backtrace corresponds to a `g_object_unref()` call, and a corresponding `g_object_ref()` backtrace is found in the current list, then the previous backtrace is removed and this one is skipped. since: 3.20
debug_ref_unref_push_backtrace_for_object | Gets current backtrace of this call and adds it to the list of backtraces with camel_debug_ref_unref_push_backtrace(). since: 3.20
debug_start | Start debug output for a given mode, used to make sure debug output is output atomically and not interspersed with unrelated stuff.
enriched_to_html | Convert `in` from text/plain into text/enriched or text/richtext based on `flags`.
error_quark |
file_util_decode_fixed_int32 | Retrieve a gint32.
file_util_decode_fixed_string | Decode a normal string from the input file.
file_util_decode_gint64 | Decode a gint64 type. since: 3.50
file_util_decode_gsize | Decode an gsize type.
file_util_decode_off_t | Decode an off_t type.
file_util_decode_string | Decode a normal string from the input file.
file_util_decode_time_t | Decode a time_t value.
file_util_decode_uint32 | Retrieve an encoded uint32 from a file.
file_util_encode_fixed_int32 | Encode a gint32, performing no compression, but converting to network order.
file_util_encode_fixed_string | Encode a normal string and save it in the output file. Unlike `camel_file_util_encode_string`, it pads the `str` with “NULL” bytes, if `len` is > strlen(str).
file_util_encode_gint64 | Encode a gint64 type. since: 3.50
file_util_encode_gsize | Encode an gsize type.
file_util_encode_off_t | Encode an off_t type.
file_util_encode_string | Encode a normal string and save it in the output file.
file_util_encode_time_t | Encode a time_t value to the file.
file_util_encode_uint32 | Utility function to save an uint32 to a file.
file_util_safe_filename | ‘Flattens’ `name` into a safe filename string by hex encoding any chars that may cause problems on the filesystem.
file_util_savename | Builds a pathname where the basename is of the form “.#” + the basename of `filename`, for instance used in a two-stage commit file write.
filter_search_match |
filter_search_match_with_log |
freeaddrinfo | Frees a structure returned with camel_getaddrinfo(). It does nothing when the `host` is `NULL`. since: 2.22
getaddrinfo | Resolves a host `name` and returns an information about its address. since: 2.22
header_contentid_decode | Extract a content-id from `in`.
header_decode_date | Decodes the rfc822 date string and saves the GMT offset into `tz_offset` if non-NULL.
header_decode_int | Extracts an integer token from `in` and updates the pointer to point to after the end of the integer token (sort of like strtol).
header_decode_string | Decodes rfc2047 encoded-word tokens.
header_encode_phrase | Encodes a ‘phrase’ header according to the rules in rfc2047.
header_encode_string | Encodes a ‘text’ header according to the rules of rfc2047.
header_fold |
header_format_ctext | Decodes a header which contains rfc2047 encoded-word tokens that may or may not be within a comment.
header_format_date | Allocates a string buffer containing the rfc822 formatted date string represented by `time` and `tz_offset`.
header_location_decode |
header_mailbox_decode |
header_mime_decode |
header_msgid_decode | Extract a message-id token from `in`.
header_msgid_generate | Either the `domain` is used, or the user’s local hostname, in case it’s `NULL` or empty.
header_newsgroups_decode |
header_param | Searches `params` for a param named `name` and gets the value.
header_references_decode | Generate a list of references, from most recent up.
header_set_param | Set a parameter in the list.
header_token_decode | Gets the first token in the string according to the rules of rfc0822.
header_unfold |
headers_dup_mailing_list | Searches for a mailing list information among known headers and returns a newly allocated string with its value.
host_idna_to_ascii | Converts IDN (Internationalized Domain Name) into ASCII representation. If there’s a failure or the `host` has only ASCII letters, then a copy of `host` is returned. since: 3.16
hostname_utils_host_is_in_domain | Check whether the hostname `host` is equal to or a subdomain of `domain`. Both `host` and `domain` are UTF-8 strings and can be IDNs (which will be punycode-encoded for comparison). since: 3.54
hostname_utils_requires_ascii | Check whether the `hostname` requires conversion to ASCII. That can be when a character in it can look like an ASCII character, even it being a Unicode letter. This can be used to display host names in a way of invulnerable to IDN homograph attacks. since: 3.44
iconv |
iconv_charset_language |
iconv_charset_name |
iconv_close |
iconv_locale_charset |
iconv_locale_language |
iconv_open |
init |
localtime_with_offset | Converts the calendar time representation `tt` to a broken-down time representation, stored in `tm`, and provides the offset in seconds from UTC time, stored in `offset`.
lock_dot | Create an exclusive lock using .lock semantics. All locks are equivalent to write locks (exclusive).
lock_fcntl | Create a lock using fcntl(2).
lock_flock | Create a lock using flock(2).
lock_folder | Attempt to lock a folder, multiple attempts will be made using all locking strategies available.
lock_helper_lock |
lock_helper_unlock |
memchunk_alloc | Allocate a new atom size block of memory from a `CamelMemChunk`. Free the returned atom with camel_memchunk_free(). since: 3.4
memchunk_alloc0 | Allocate a new atom size block of memory from a `CamelMemChunk`, and fill the memory with zeros. Free the returned atom with camel_memchunk_free(). since: 3.4
memchunk_clean | Scan all empty blocks and check for blocks which can be free’d back to the system. since: 3.4
memchunk_destroy | Free the memchunk header, and all associated memory. since: 3.4
memchunk_empty | Clean out the memchunk buffers. Marks all allocated memory as free blocks, but does not give it back to the system. Can be used if the memchunk is to be used repeatedly. since: 3.4
memchunk_free | Free a single atom back to the free pool of atoms in the given memchunk. since: 3.4
memchunk_new | Create a new `CamelMemChunk` header. Memchunks are an efficient way to allocate and deallocate identical sized blocks of memory quickly, and space efficiently. since: 3.4
mempool_alloc | Allocate a new data block in the mempool. Size will be rounded up to the mempool’s alignment restrictions before being used. since: 2.32
mempool_destroy | Free all memory associated with a mempool. since: 2.32
mempool_flush | Flush used memory and mark allocated blocks as free. since: 2.32
mempool_new | Create a new mempool header. Mempools can be used to efficiently allocate data which can then be freed as a whole. since: 2.32
mempool_strdup | since: 2.32
mktime_utc | Like mktime(3), but assumes UTC instead of local timezone. since: 3.4
movemail | This copies an mbox file from a shared directory with multiple readers and writers into a private (presumably Camel-controlled) directory. Dot locking is used on the source file (but not the destination).
msgport_destroy | since: 2.24
msgport_fd | since: 2.24
msgport_new | since: 2.24
msgport_pop | since: 2.24
msgport_prfd | since: 2.24
msgport_push | since: 2.24
msgport_reply | since: 2.24
msgport_timeout_pop | since: 3.8
msgport_try_pop | since: 2.24
pointer_tracker_dump | Prints information about currently stored pointers in the pointer tracker. This is called automatically on application exit if `camel_pointer_tracker_track()` or `camel_pointer_tracker_track_with_info()` was called. since: 3.6
pointer_tracker_track_with_info | Adds pointer to the pointer tracker, with associated information, which is printed in summary of pointer tracker printed by camel_pointer_tracker_dump(). For convenience can be used camel_pointer_tracker_track(), which adds place of the caller as `info`. Added pointer should be removed with pair function camel_pointer_tracker_untrack(). since: 3.6
pointer_tracker_untrack | Removes pointer from the pointer tracker. It’s an error to try to remove pointer which was not added to the tracker by `camel_pointer_tracker_track()` or camel_pointer_tracker_track_with_info(), or a pointer which was already removed. since: 3.6
pstring_add | Add `string` to the pool.
pstring_contains | Returns whether the `string` exists in the string pool. since: 3.22
pstring_dump_stat | Dumps to stdout memory statistic about the string pool. since: 3.6
pstring_free | Unreferences a pooled string. If the string’s reference count drops to zero it will be deallocated. `NULL` and the empty string are special cased.
pstring_peek | Returns the canonicalized copy of `string` without increasing its reference count in the string pool. The `string` is not added to the string pool when it’s not part of it and `NULL` is returned. since: 2.24
pstring_strdup | Create a new pooled string entry for `strings`. A pooled string is a table where common strings are canonicalized. They are also reference counted and freed when no longer referenced.
quoted_decode_step | Decodes a block of quoted-printable encoded data. Performs a ‘decode step’ on a chunk of QP encoded data.
quoted_encode_close | Quoted-printable encodes a block of text. Call this when finished encoding data with `camel_quoted_encode_step()` to flush off the last little bit.
quoted_encode_step | Quoted-printable encodes a block of text. Performs an ‘encode step’, saves left-over state in state and save (initialise to -1 on first invocation).
read | Cancellable libc `read()` replacement.
search_build_match_regex |
search_build_match_regex_strv |
search_camel_header_soundex |
search_get_all_headers_decoded | since: 3.22
search_get_default_charset_from_headers | since: 3.28
search_get_default_charset_from_message | since: 3.22
search_get_header_decoded | Decodes `header_value`, if needed, either from an address header or the Subject header. Other `header_name` headers are returned as is. since: 3.22
search_get_headers_decoded | since: 3.28
search_header_is_address | since: 3.22
search_header_match |
search_message_body_contains |
search_util_add_months | Increases time `t` by the given number of months (or decreases, if `months` is negative). since: 3.58
search_util_compare_date | Compares date portion of the two date-time values, first converted into the local time zone. The returned value is like with strcmp(). since: 3.58
search_util_hash_message_id | Calculates a hash of the Message-ID header value `message_id`. since: 3.58
search_util_make_time | Implementation of ‘make-time’ function, which expects one argument, a string or an integer, to be converted into time_t. since: 3.58
search_util_str_to_time | Converts a string representation to a time_t (as gint64). When `str` is `NULL`, returns -1. since: 3.58
search_words_free |
search_words_simple |
search_words_split |
shutdown | since: 2.24
strcase_equal |
strcase_hash |
strdown |
string_is_all_ascii | since: 3.44
strstrcase |
system_flag |
system_flag_get | Find the state of the flag `name` in `flags`.
text_to_html | Convert `in` from plain text into HTML.
time_value_apply | Applies the given time `value` in unit `unit` to the `src_time`. Use negative value to subtract it. The time part is rounded to the beginning of the day. since: 3.24
ucs2_utf8 | Convert a ucs2 string into a UTF-8 one. The ucs2 string is treated as network byte ordered, and terminated with a 16-bit `NULL`.
unlock_dot | Attempt to unlock a .lock lock.
unlock_fcntl | Unlock an fcntl lock.
unlock_flock | Unlock an flock lock.
unlock_folder | Free a lock on a folder.
ustrstrcase |
utf7_utf8 | Convert a modified UTF-7 string to UTF-8. If the UTF-7 string contains 8 bit characters, they are treated as iso-8859-1.
utf8_getc | Get a Unicode character from a UTF-8 stream. `ptr` will be advanced to the next character position. Invalid utf8 characters will be silently skipped. The `ptr` should point to a NUL terminated array.
utf8_getc_limit | Get the next UTF-8 gchar at `ptr`, and return it, advancing `ptr` to the next character. If `end` is reached before a full UTF-8 character can be read, then the invalid Unicode gchar 0xffff is returned as a sentinel (Unicode 3.1, section 2.7), and `ptr` is not advanced.
utf8_make_valid | Ensures the returned text will be valid UTF-8 string, with incorrect letters changed to question marks. since: 2.26
utf8_make_valid_len | Ensures the returned text will be valid UTF-8 string, with incorrect letters changed to question marks. since: 3.34
utf8_putc | Output a 32 bit unicode character as UTF-8 octets. At most 4 octets will be written to `ptr`. The `ptr` will be advanced to the next character position.
utf8_ucs2 | Convert a UTF-8 string into a ucs2 one. The ucs string will be in network byte order, and terminated with a 16-bit `NULL`.
utf8_utf7 | Convert a UTF-8 string to a modified UTF-7 format.
util_bdata_get_number | Reads a numeric data from the `bdata_ptr` and moves the `bdata_ptr` after that number. If the number cannot be read, then the `default_value` is returned instead and the `bdata_ptr` is left unchanged. The number might be previously stored with the camel_util_bdata_put_number(). since: 3.24
util_bdata_get_string | Reads a string data from the `bdata_ptr` and moves the `bdata_ptr` after that string. If the string cannot be read, then the `default_value` is returned instead and the `bdata_ptr` is left unchanged. The string might be previously stored with the camel_util_bdata_put_string(). since: 3.24
util_bdata_put_number | Puts the number `value` at the end of the `bdata_str`. In case the `bdata_str` is not empty a space is added before the numeric `value`. The stored value can be read back with the camel_util_bdata_get_number(). since: 3.24
util_bdata_put_string | Puts the string `value` at the end of the `bdata_str`. In case the `bdata_str` is not empty a space is added before the string `value`. The stored value can be read back with the camel_util_bdata_get_string(). since: 3.24
util_decode_user_header_setting | Decode the values previously encoded by camel_util_encode_user_header_setting(). The `out_header_name` points to the `setting_value`, thus it’s valid as long as the `setting_value` is valid and unchanged. since: 3.42
util_encode_user_header_setting | Encode the optional `display_name` and the `header_name` to a value suitable for GSettings schema org.gnome.evolution-data-server and key camel-message-info-user-headers. since: 3.42
util_fill_message_info_user_headers | Fill `info` ‘s user-headers with the user-defined headers from the `headers` array. since: 3.42
util_get_directory_variants | The `main_path` is a directory, which will be always used. It should have as its prefix the `replace_prefix`, otherwise the function returns only the `main_path` in the paths array. since: 3.40
utils_sanitize_ascii_domain_in_address | Checks whether the domain in the `email_address` requires conversion to ASCII and if it does it also converts it. When the `do_format` is `TRUE`, the output string is formatted for display, otherwise it’s encoded for use in the message headers. A `NULL` is returned when no conversion was needed. since: 3.44
utils_sanitize_ascii_domain_in_url | Checks whether the host name of the `url` requires conversion to ASCII and converts it, if needed. since: 3.44
utils_sanitize_ascii_domain_in_url_str | Checks whether the host name of the `url_str` requires conversion to ASCII and converts it if needed. Returns `NULL`, when no conversion was required. since: 3.44
utils_weak_ref_free | Frees a `GWeakRef` created by camel_utils_weak_ref_new(). since: 3.40
utils_weak_ref_new | Allocates a new `GWeakRef` and calls `g_weak_ref_set()` with `object`. since: 3.40
uudecode_step | Uudecodes a chunk of data. Performs a ‘decode step’ on a chunk of uuencoded data. Assumes the “begin mode filename” line has been stripped off.
uuencode_close | Uuencodes a chunk of data. Call this when finished encoding data with `camel_uuencode_step()` to flush off the last little bit.
uuencode_step | Uuencodes a chunk of data. Performs an ‘encode step’, only encodes blocks of 45 characters to the output at a time, saves left-over state in `uubuf`, `state` and `save` (initialize to 0 on first invocation).
write | Cancellable libc `write()` replacement.
ydecode_step | Performs a ‘decode step’ on a chunk of yEncoded data of length `inlen` pointed to by `in` and writes to `out`. Assumes the =ybegin and =ypart lines have already been stripped off.
yencode_close | Call this function when finished encoding data with `camel_yencode_step()` to flush off the remaining state.
yencode_step | Performs an yEncode ‘encode step’ on a chunk of raw data of length `inlen` pointed to by `in` and writes to `out`.

#### Function Macros

CERTDB |
CERTDB_CLASS |
CHECK_GERROR | This sanity checks return values and `GError`. If returning failure, make sure the `GError` is set. If returning success, make sure the `GError` is NOT set. since: 2.32
CHECK_LOCAL_GERROR | Same as CAMEL_CHECK_GERROR, but for direct `GError` pointers. since: 3.12
folder_delete_message |
HTML_PARSER |
HTML_PARSER_CLASS |
MIME_FILTER_CRLF |
MIME_FILTER_CRLF_CLASS |
MIME_FILTER_GZIP |
MIME_FILTER_GZIP_CLASS |
MIME_FILTER_HTML |
MIME_FILTER_HTML_CLASS |
MIME_FILTER_TOHTML |
MIME_FILTER_TOHTML_CLASS |
mime_is_atom |
mime_is_attrchar |
mime_is_ctrl |
mime_is_dtext |
mime_is_especial |
mime_is_fieldname |
mime_is_lwsp |
mime_is_psafe |
mime_is_qpsafe |
mime_is_tspecial |
mime_is_ttoken |
mime_is_type |
MIME_YENCODE_CRC_FINAL |
NNTP_ADDRESS |
NNTP_ADDRESS_CLASS |
pointer_tracker_track | Adds pointer ‘ptr’ to pointer tracker. Usual use case is to add object to the tracker in GObject::init and remove it from tracker within GObject::finalize. Since the tracker’s functions are called, the application prints summary of the pointers on console on exit. If everything gone right then it prints message about all tracked pointers were removed. Otherwise it prints summary of left pointers in the tracker. Added pointer should be removed with pair function camel_pointer_tracker_untrack(). since: 3.6
PROVIDER_ALLOWS |
PROVIDER_HIDDEN |
PROVIDER_NEEDS |
SASL_NTLM |
SASL_NTLM_CLASS |
SASL_POPB4SMTP |
SASL_POPB4SMTP_CLASS |
SASL_XOAUTH2 |
SASL_XOAUTH2_CLASS |
SASL_XOAUTH2_GOOGLE |
SASL_XOAUTH2_GOOGLE_CLASS |
SASL_XOAUTH2_OUTLOOK |
SASL_XOAUTH2_OUTLOOK_CLASS |
SASL_XOAUTH2_YAHOO |
SASL_XOAUTH2_YAHOO_CLASS |
SEXP |
SEXP_CLASS |
SMIME_CONTEXT |
SMIME_CONTEXT_CLASS |
STREAM_FS |
STREAM_FS_CLASS |
VTRASH_FOLDER |
VTRASH_FOLDER_CLASS |

#### Constants

AI_CANONNAME |
AI_NUMERICHOST |
BLOCK_SIZE |
BLOCK_SIZE_BITS |
CIPHER_CERT_INFO_PROPERTY_PHOTO_FILENAME | Name of the photo-filename property which can be stored on a `CamelCipherCertInfo`.
CIPHER_CERT_INFO_PROPERTY_SIGNERS_ALT_EMAILS | A string containing a list of email addresses of all signers including their alternative emails. Use `camel_address_unformat()` to break them back into separate addresses. This can be set only on the first signer of the first validity, even the addresses can belong to a different signer.
DEBUG_IMAP |
DEBUG_IMAP_FOLDER |
DOT_LOCK_REFRESH |
EAI_ADDRFAMILY |
EAI_AGAIN |
EAI_BADFLAGS |
EAI_FAIL |
EAI_FAMILY |
EAI_MEMORY |
EAI_NODATA |
EAI_NONAME |
EAI_OVERFLOW |
EAI_SERVICE |
EAI_SOCKTYPE |
EAI_SYSTEM |
EDS_CAMEL_PROVIDER_DIR | This environment variable configures where the camel provider modules are loaded from.
FOLD_MAX_SIZE |
FOLD_SIZE |
FOLDER_TYPE_BIT | The folder type bitshift value.
FOLDER_TYPE_MASK | The folder type mask value.
INDEX_DELETED |
KEY_TABLE_MAX_KEY |
LOCK_DELAY |
LOCK_DOT_DELAY |
LOCK_DOT_RETRY |
LOCK_DOT_STALE |
LOCK_RETRY |
MAX_PREVIEW_LENGTH | Maximum length, in characters, of a mime part preview.
MESSAGE_DATE_CURRENT |
MESSAGE_SYSTEM_MASK |
MIME_YDECODE_STATE_BEGIN |
MIME_YDECODE_STATE_DECODE |
MIME_YDECODE_STATE_END |
MIME_YDECODE_STATE_EOLN |
MIME_YDECODE_STATE_ESCAPE |
MIME_YDECODE_STATE_INIT |
MIME_YDECODE_STATE_PART |
MIME_YENCODE_CRC_INIT |
MIME_YENCODE_STATE_INIT |
NI_DGRAM |
NI_NAMEREQD |
NI_NOFQDN |
NI_NUMERICHOST |
NI_NUMERICSERV |
O_BINARY |
RECIPIENT_TYPE_BCC |
RECIPIENT_TYPE_CC |
RECIPIENT_TYPE_RESENT_BCC |
RECIPIENT_TYPE_RESENT_CC |
RECIPIENT_TYPE_RESENT_TO |
RECIPIENT_TYPE_TO |
SESSION_BOOK_UID_ANY | Can be used with `camel_session_addressbook_contains_sync()` as the book UID, meaning to check in all configured address books.
SESSION_BOOK_UID_COMPLETION | Can be used with `camel_session_addressbook_contains_sync()` as the book UID, meaning to check in all address books enabled for auto-completion.
STORE_DB_FILE | File name used by the `CamelStore` for the `CamelStoreDB`.
STORE_INFO_FOLDER_TYPE_BIT | The folder store info type bitshift value.
STORE_INFO_FOLDER_TYPE_MASK | The folder store info type mask value.
STORE_INFO_FOLDER_UNKNOWN |
STORE_SETUP_ARCHIVE_FOLDER |
STORE_SETUP_DRAFTS_FOLDER |
STORE_SETUP_SENT_FOLDER |
STORE_SETUP_TEMPLATES_FOLDER |
URL_HIDE_ALL |
URL_PART_AUTH |
URL_PART_HIDDEN |
URL_PART_HOST |
URL_PART_NEED |
URL_PART_PASSWORD |
URL_PART_PATH |
URL_PART_PATH_DIR |
URL_PART_PORT |
URL_PART_USER |
UTILS_MAX_USER_HEADERS |
UUDECODE_STATE_MASK |
VJUNK_NAME |
VTRASH_NAME |