<!-- ##### SECTION ./tmpl/e-component-listener.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-component-listener.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-component-listener.sgml:Short_Description ##### -->



<!-- ##### SECTION ./tmpl/e-component-listener.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/e-component-listener.sgml:Title ##### -->
EComponentListener


<!-- ##### SECTION ./tmpl/e-iconv.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-iconv.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-iconv.sgml:Short_Description ##### -->



<!-- ##### SECTION ./tmpl/e-iconv.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/e-iconv.sgml:Title ##### -->
e-iconv


<!-- ##### SECTION ./tmpl/e-msgport.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-msgport.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-msgport.sgml:Short_Description ##### -->



<!-- ##### SECTION ./tmpl/e-msgport.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/e-msgport.sgml:Title ##### -->
e-msgport


<!-- ##### SECTION ./tmpl/e-trie.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-trie.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/e-trie.sgml:Short_Description ##### -->
A trie data structure.


<!-- ##### SECTION ./tmpl/e-trie.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/e-trie.sgml:Title ##### -->
ETrie


<!-- ##### SECTION ./tmpl/md5-utils.sgml:Long_Description ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/md5-utils.sgml:See_Also ##### -->
<para>

</para>


<!-- ##### SECTION ./tmpl/md5-utils.sgml:Short_Description ##### -->
Functions for manipulating MD5 checksums.


<!-- ##### SECTION ./tmpl/md5-utils.sgml:Stability_Level ##### -->



<!-- ##### SECTION ./tmpl/md5-utils.sgml:Title ##### -->
MD5 Utility Functions


<!-- ##### STRUCT EComponentListener ##### -->
<para>

</para>


<!-- ##### SIGNAL EComponentListener::component-died ##### -->
<para>

</para>

@ecomponentlistener: the object which received the signal.

<!-- ##### STRUCT EDList ##### -->
<para>

</para>

@head: 
@tail: 
@tailpred: 

<!-- ##### STRUCT EDListNode ##### -->
<para>

</para>

@next: 
@prev: 

<!-- ##### STRUCT EMCache ##### -->
<para>

</para>


<!-- ##### STRUCT EMCacheNode ##### -->
<para>

</para>

@next: 
@prev: 
@key: 
@ref_count: 
@stamp: 

<!-- ##### STRUCT EMsg ##### -->
<para>

</para>

@ln: 
@reply_port: 
@flags: 

<!-- ##### STRUCT EMsgPort ##### -->
<para>

</para>


<!-- ##### STRUCT EMutex ##### -->
<para>

</para>


<!-- ##### STRUCT EThread ##### -->
<para>

</para>


<!-- ##### USER_FUNCTION EThreadFunc ##### -->
<para>

</para>

@Param1: 
@Param2: 
@data: 

<!-- ##### STRUCT ETrie ##### -->
<para>

</para>


<!-- ##### MACRO E_DLIST_INITIALISER ##### -->
<para>

</para>

@l: 

<!-- ##### STRUCT MD5Context ##### -->
<para>

</para>


<!-- ##### FUNCTION e_component_listener_get_component ##### -->
<para>

</para>

@cl: 
@Returns: 

<!-- ##### FUNCTION e_component_listener_new ##### -->
<para>

</para>

@comp: 
@Returns: 

<!-- ##### FUNCTION e_component_listener_set_component ##### -->
<para>

</para>

@cl: 
@comp: 

<!-- ##### FUNCTION e_dlist_addhead ##### -->
<para>

</para>

@l: 
@n: 
@Returns: 

<!-- ##### FUNCTION e_dlist_addtail ##### -->
<para>

</para>

@l: 
@n: 
@Returns: 

<!-- ##### FUNCTION e_dlist_empty ##### -->
<para>

</para>

@l: 
@Returns: 

<!-- ##### FUNCTION e_dlist_init ##### -->
<para>

</para>

@v: 

<!-- ##### FUNCTION e_dlist_length ##### -->
<para>

</para>

@l: 
@Returns: 

<!-- ##### FUNCTION e_dlist_remhead ##### -->
<para>

</para>

@l: 
@Returns: 

<!-- ##### FUNCTION e_dlist_remove ##### -->
<para>

</para>

@n: 
@Returns: 

<!-- ##### FUNCTION e_dlist_remtail ##### -->
<para>

</para>

@l: 
@Returns: 

<!-- ##### FUNCTION e_iconv ##### -->
<para>

</para>

@cd: 
@inbuf: 
@inbytesleft: 
@outbuf: 
@outbytesleft: 
@Returns: 

<!-- ##### FUNCTION e_iconv_charset_language ##### -->
<para>

</para>

@charset: 
@Returns: 

<!-- ##### FUNCTION e_iconv_charset_name ##### -->
<para>

</para>

@charset: 
@Returns: 

<!-- ##### FUNCTION e_iconv_close ##### -->
<para>

</para>

@ip: 

<!-- ##### FUNCTION e_iconv_locale_charset ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION e_iconv_locale_language ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION e_iconv_open ##### -->
<para>

</para>

@oto: 
@ofrom: 
@Returns: 

<!-- ##### FUNCTION e_msgport_destroy ##### -->
<para>

</para>

@mp: 

<!-- ##### FUNCTION e_msgport_fd ##### -->
<para>

</para>

@mp: 
@Returns: 

<!-- ##### FUNCTION e_msgport_get ##### -->
<para>

</para>

@mp: 
@Returns: 

<!-- ##### FUNCTION e_msgport_new ##### -->
<para>

</para>

@Returns: 

<!-- ##### FUNCTION e_msgport_prfd ##### -->
<para>

</para>

@mp: 
@Returns: 

<!-- ##### FUNCTION e_msgport_put ##### -->
<para>

</para>

@mp: 
@msg: 

<!-- ##### FUNCTION e_msgport_reply ##### -->
<para>

</para>

@msg: 

<!-- ##### FUNCTION e_msgport_wait ##### -->
<para>

</para>

@mp: 
@Returns: 

<!-- ##### FUNCTION e_mutex_assert_locked ##### -->
<para>

</para>

@m: 

<!-- ##### FUNCTION e_mutex_cond_wait ##### -->
<para>

</para>

@cond: 
@m: 
@Returns: 

<!-- ##### FUNCTION e_mutex_destroy ##### -->
<para>

</para>

@m: 
@Returns: 

<!-- ##### FUNCTION e_mutex_lock ##### -->
<para>

</para>

@m: 
@Returns: 

<!-- ##### FUNCTION e_mutex_new ##### -->
<para>

</para>

@type: 
@Returns: 

<!-- ##### ENUM e_mutex_t ##### -->
<para>

</para>

@E_MUTEX_SIMPLE: 
@E_MUTEX_REC: 

<!-- ##### FUNCTION e_mutex_unlock ##### -->
<para>

</para>

@m: 
@Returns: 

<!-- ##### FUNCTION e_thread_busy ##### -->
<para>

</para>

@e: 
@Returns: 

<!-- ##### FUNCTION e_thread_destroy ##### -->
<para>

</para>

@e: 

<!-- ##### FUNCTION e_thread_new ##### -->
<para>

</para>

@type: 
@Returns: 

<!-- ##### FUNCTION e_thread_put ##### -->
<para>

</para>

@e: 
@msg: 

<!-- ##### FUNCTION e_thread_set_msg_destroy ##### -->
<para>

</para>

@e: 
@destroy: 
@data: 

<!-- ##### FUNCTION e_thread_set_msg_lost ##### -->
<para>

</para>

@e: 
@destroy: 
@data: 

<!-- ##### FUNCTION e_thread_set_msg_received ##### -->
<para>

</para>

@e: 
@received: 
@data: 

<!-- ##### FUNCTION e_thread_set_queue_limit ##### -->
<para>

</para>

@e: 
@limit: 

<!-- ##### FUNCTION e_thread_set_reply_port ##### -->
<para>

</para>

@e: 
@reply_port: 

<!-- ##### ENUM e_thread_t ##### -->
<para>

</para>

@E_THREAD_QUEUE: 
@E_THREAD_DROP: 
@E_THREAD_NEW: 

<!-- ##### FUNCTION e_trie_add ##### -->
<para>

</para>

@trie: 
@pattern: 
@pattern_id: 

<!-- ##### FUNCTION e_trie_free ##### -->
<para>

</para>

@trie: 

<!-- ##### FUNCTION e_trie_new ##### -->
<para>

</para>

@icase: 
@Returns: 

<!-- ##### FUNCTION e_trie_search ##### -->
<para>

</para>

@trie: 
@buffer: 
@buflen: 
@matched_id: 
@Returns: 

<!-- ##### FUNCTION em_cache_add ##### -->
<para>

</para>

@emc: 
@n: 

<!-- ##### FUNCTION em_cache_clear ##### -->
<para>

</para>

@emc: 

<!-- ##### FUNCTION em_cache_destroy ##### -->
<para>

</para>

@emc: 

<!-- ##### FUNCTION em_cache_lookup ##### -->
<para>

</para>

@emc: 
@key: 
@Returns: 

<!-- ##### FUNCTION em_cache_new ##### -->
<para>

</para>

@timeout: 
@nodesize: 
@nodefree: 
@Returns: 

<!-- ##### FUNCTION em_cache_node_new ##### -->
<para>

</para>

@emc: 
@key: 
@Returns: 

<!-- ##### FUNCTION em_cache_node_unref ##### -->
<para>

</para>

@emc: 
@n: 

<!-- ##### FUNCTION md5_final ##### -->
<para>

</para>

@ctx: 
@digest: 

<!-- ##### FUNCTION md5_get_digest ##### -->
<para>

</para>

@buffer: 
@buffer_size: 
@digest: 

<!-- ##### FUNCTION md5_get_digest_from_file ##### -->
<para>

</para>

@filename: 
@digest: 

<!-- ##### FUNCTION md5_init ##### -->
<para>

</para>

@ctx: 

<!-- ##### FUNCTION md5_update ##### -->
<para>

</para>

@ctx: 
@buf: 
@len: 

