@a4:
@a5:
-<!-- ##### MACRO CCRITICAL6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO CDEBUG0 ##### -->
<para>
@a4:
@a5:
-<!-- ##### MACRO CDEBUG6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO CERROR0 ##### -->
<para>
@a4:
@a5:
-<!-- ##### MACRO CERROR6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO CINFO0 ##### -->
<para>
@a4:
@a5:
-<!-- ##### MACRO CINFO6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO CLOG0 ##### -->
<para>
@a4:
@a5:
-<!-- ##### MACRO CRITICAL6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
-<!-- ##### MACRO CVERB6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
-<!-- ##### MACRO CWARN6 ##### -->
-<para>
-
-</para>
-
-@c:
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO CWARNING6 ##### -->
<para>
@childToParent:
@Returns:
-<!-- ##### MACRO DEBUG6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### FUNCTION DROP_SOCKET ##### -->
<para>
</para>
-<!-- ##### MACRO ERROR6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### FUNCTION EstablishAnEar ##### -->
<para>
@HOST_FORMAT:
@NETWORK_FORMAT:
-<!-- ##### MACRO GRAS_DEFINE_TYPE ##### -->
-<para>
-
-</para>
-
-@name:
-@def:
-
-<!-- ##### MACRO GRAS_LOG_DEFAULT_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname:
-
-<!-- ##### MACRO GRAS_LOG_EXTERNAL_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname:
-
-<!-- ##### MACRO GRAS_LOG_ISENABLED ##### -->
-<para>
-
-</para>
-
-@catName:
-@priority:
-
<!-- ##### MACRO GRAS_LOG_MAYDAY ##### -->
<para>
</para>
-<!-- ##### MACRO GRAS_LOG_NEW_CATEGORY ##### -->
-<para>
-
-</para>
-
-@catName:
-
-<!-- ##### MACRO GRAS_LOG_NEW_DEFAULT_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname:
-
-<!-- ##### MACRO GRAS_LOG_NEW_DEFAULT_SUBCATEGORY ##### -->
-<para>
-
-</para>
-
-@cname:
-@parent:
-
-<!-- ##### MACRO GRAS_LOG_NEW_SUBCATEGORY ##### -->
-<para>
-
-</para>
-
-@catName:
-@parent:
-
<!-- ##### MACRO GRAS_LOG_ROOT_CAT ##### -->
<para>
</para>
-<!-- ##### MACRO GRAS_LOG_STATIC_THRESHOLD ##### -->
-<para>
-
-</para>
-
-
<!-- ##### MACRO HAVE_DLFCN_H ##### -->
<para>
@format:
@Returns:
-<!-- ##### MACRO INFO6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### TYPEDEF IPAddress ##### -->
<para>
@sd:
@Returns:
-<!-- ##### MACRO VERB6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO VERSION ##### -->
<para>
</para>
-<!-- ##### MACRO WARN6 ##### -->
-<para>
-
-</para>
-
-@f:
-@a1:
-@a2:
-@a3:
-@a4:
-@a5:
-@a6:
-
<!-- ##### MACRO WARNING6 ##### -->
<para>
@ud:
-<!-- ##### FUNCTION gras_arch_selfid ##### -->
+<!-- ##### FUNCTION gras_datadesc_cb_set_post ##### -->
<para>
</para>
-@Returns:
+@type:
+@post:
-<!-- ##### FUNCTION gras_cb_register ##### -->
+<!-- ##### FUNCTION gras_datadesc_cb_set_pre ##### -->
<para>
</para>
-@msgtype:
-@cb:
-@Returns:
-@message:
-@TTL:
+@type:
+@pre:
-<!-- ##### USER_FUNCTION gras_cb_t ##### -->
+<!-- ##### FUNCTION gras_datadesc_cmp ##### -->
<para>
</para>
-@expeditor:
-@payload:
+@d1:
+@d2:
@Returns:
-@payload_type:
-@payload_data:
-@msg:
+@dd1:
+@c1:
+@dd2:
+@c2:
-<!-- ##### FUNCTION gras_cb_unregister ##### -->
+<!-- ##### FUNCTION gras_datadesc_copy_data ##### -->
<para>
</para>
-@msgtype:
-@cb:
+@dd:
+@c:
+@data:
-<!-- ##### FUNCTION gras_cbps_block_begin ##### -->
+<!-- ##### MACRO gras_datadesc_declare_array ##### -->
<para>
</para>
-@ps:
+@name:
+@elm_type:
+@size:
+@code:
-<!-- ##### FUNCTION gras_cbps_block_end ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_array_cb ##### -->
<para>
</para>
-@ps:
+@name:
+@element_type:
+@fixed_size:
+@dynamic_size:
+@post:
+@code:
+@Returns:
-<!-- ##### FUNCTION gras_cbps_i_pop ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_array_dyn ##### -->
<para>
</para>
-@ps:
+@name:
+@element_type:
+@dynamic_size:
+@dst:
@Returns:
+@elm_type:
+@code:
-<!-- ##### FUNCTION gras_cbps_i_push ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_array_fixed ##### -->
<para>
</para>
-@ps:
-@val:
+@name:
+@element_type:
+@fixed_size:
+@dst:
+@Returns:
-<!-- ##### FUNCTION gras_cbps_v_get ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_ref ##### -->
<para>
</para>
-@ps:
@name:
-@ddt:
+@referenced_type:
+@dst:
+@Returns:
+@ref_type:
+@code:
-<!-- ##### FUNCTION gras_cbps_v_pop ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_ref_cb ##### -->
<para>
</para>
-@ps:
@name:
-@ddt:
-@res:
+@referenced_type:
+@discriminant:
+@post:
+@code:
@Returns:
-<!-- ##### FUNCTION gras_cbps_v_push ##### -->
+<!-- ##### MACRO gras_datadesc_declare_ref_disc ##### -->
<para>
</para>
-@ps:
@name:
-@data:
-@ddt:
-@Returns:
+@discriminant:
+@code:
-<!-- ##### FUNCTION gras_cbps_v_set ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_ref_generic ##### -->
<para>
</para>
-@ps:
@name:
-@data:
-@ddt:
+@discriminant:
+@dst:
+@Returns:
-<!-- ##### FUNCTION gras_cfg_check ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct ##### -->
<para>
</para>
-@cfg:
+@name:
+@dst:
@Returns:
+@code:
-<!-- ##### FUNCTION gras_cfg_cpy ##### -->
+<!-- ##### MACRO gras_datadesc_declare_struct_add_code ##### -->
<para>
</para>
-@whereto:
-@tocopy:
-@Returns:
+@struct_code:
+@field_name:
+@field_type_code:
-<!-- ##### FUNCTION gras_cfg_dump ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_add_code_cb ##### -->
<para>
</para>
-@name:
-@indent:
-@cfg:
+@struct_code:
+@field_name:
+@field_code:
+@pre_cb:
+@post_cb:
+@Returns:
-<!-- ##### FUNCTION gras_cfg_empty ##### -->
+<!-- ##### MACRO gras_datadesc_declare_struct_add_name ##### -->
<para>
</para>
-@cfg:
-@name:
-@Returns:
+@struct_code:
+@field_name:
+@field_type_name:
-<!-- ##### FUNCTION gras_cfg_free ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_add_name_cb ##### -->
<para>
</para>
-@cfg:
+@struct_code:
+@field_name:
+@field_type_name:
+@pre_cb:
+@post_cb:
+@Returns:
-<!-- ##### FUNCTION gras_cfg_get_double ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_append ##### -->
<para>
</para>
-@cfg:
+@struct_type:
@name:
-@val:
+@field_type:
@Returns:
-<!-- ##### FUNCTION gras_cfg_get_dynar ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_append_name ##### -->
<para>
</para>
-@cfg:
+@struct_type:
@name:
-@dynar:
+@field_type_name:
@Returns:
-<!-- ##### FUNCTION gras_cfg_get_host ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_cb ##### -->
<para>
</para>
-@cfg:
@name:
-@host:
-@port:
+@pre_cb:
+@post_cb:
+@code:
@Returns:
-<!-- ##### FUNCTION gras_cfg_get_int ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_struct_close ##### -->
<para>
</para>
-@cfg:
-@name:
-@val:
-@Returns:
+@struct_type:
-<!-- ##### FUNCTION gras_cfg_get_string ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union ##### -->
<para>
</para>
-@cfg:
@name:
-@val:
+@selector:
+@dst:
@Returns:
+@code:
-<!-- ##### FUNCTION gras_cfg_new ##### -->
+<!-- ##### MACRO gras_datadesc_declare_union_add_code ##### -->
<para>
</para>
-@whereto:
-@Returns:
+@union_code:
+@field_name:
+@field_type_code:
-<!-- ##### FUNCTION gras_cfg_register ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_add_code_cb ##### -->
<para>
</para>
-@cfg:
-@name:
-@type:
-@min:
-@max:
+@union_code:
+@field_name:
+@field_code:
+@pre_cb:
+@post_cb:
@Returns:
-<!-- ##### FUNCTION gras_cfg_register_str ##### -->
+<!-- ##### MACRO gras_datadesc_declare_union_add_name ##### -->
<para>
</para>
-@cfg:
-@entry:
-@Returns:
+@union_code:
+@field_name:
+@field_type_name:
-<!-- ##### FUNCTION gras_cfg_rm_double ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_add_name_cb ##### -->
<para>
</para>
-@cfg:
-@name:
-@val:
+@union_code:
+@field_name:
+@field_type_name:
+@pre_cb:
+@post_cb:
@Returns:
-<!-- ##### FUNCTION gras_cfg_rm_host ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_append ##### -->
<para>
</para>
-@cfg:
+@union_type:
@name:
-@host:
-@port:
+@field_type:
@Returns:
-<!-- ##### FUNCTION gras_cfg_rm_int ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_append_name ##### -->
<para>
</para>
-@cfg:
+@union_type:
@name:
-@val:
+@field_type_name:
@Returns:
-<!-- ##### FUNCTION gras_cfg_rm_string ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_cb ##### -->
<para>
</para>
-@cfg:
@name:
-@val:
+@field_count:
+@post:
+@code:
@Returns:
-<!-- ##### FUNCTION gras_cfg_set ##### -->
+<!-- ##### FUNCTION gras_datadesc_declare_union_close ##### -->
<para>
</para>
-@cfg:
-@Varargs:
-@Returns:
+@union_type:
-<!-- ##### FUNCTION gras_cfg_set_double ##### -->
+<!-- ##### FUNCTION gras_datadesc_from_nws ##### -->
<para>
</para>
-@cfg:
@name:
-@val:
+@desc:
+@howmany:
+@code:
@Returns:
+@dst:
-<!-- ##### FUNCTION gras_cfg_set_host ##### -->
+<!-- ##### FUNCTION gras_datadesc_import_nws ##### -->
<para>
</para>
-@cfg:
@name:
-@host:
-@port:
+@desc:
+@howmany:
+@dst:
@Returns:
-<!-- ##### FUNCTION gras_cfg_set_int ##### -->
+<!-- ##### FUNCTION gras_datadesc_parse ##### -->
<para>
</para>
-@cfg:
@name:
-@val:
+@Cdefinition:
+@dst:
@Returns:
+@code:
+@def:
-<!-- ##### FUNCTION gras_cfg_set_parse ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_block_begin ##### -->
<para>
</para>
-@cfg:
-@options:
-@Returns:
+@ps:
-<!-- ##### FUNCTION gras_cfg_set_string ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_block_end ##### -->
<para>
</para>
-@cfg:
-@name:
-@val:
-@Returns:
+@ps:
-<!-- ##### FUNCTION gras_cfg_set_vargs ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_get ##### -->
<para>
</para>
-@cfg:
-@pa:
-@Returns:
+@ps:
+@name:
+@ddt:
-<!-- ##### FUNCTION gras_datadesc_array_dyn ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_pop ##### -->
<para>
</para>
+@ps:
@name:
-@element_type:
-@dynamic_size:
-@dst:
-@Returns:
+@ddt:
-<!-- ##### FUNCTION gras_datadesc_array_fixed ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_push ##### -->
<para>
</para>
+@ps:
@name:
-@element_type:
-@fixed_size:
-@dst:
-@Returns:
+@data:
+@ddt:
-<!-- ##### FUNCTION gras_datadesc_by_name ##### -->
+<!-- ##### FUNCTION gras_dd_cbps_set ##### -->
<para>
</para>
+@ps:
@name:
-@Returns:
-@type:
+@data:
+@ddt:
-<!-- ##### MACRO gras_datadesc_by_symbol ##### -->
+<!-- ##### FUNCTION gras_ddt_free ##### -->
<para>
</para>
-@name:
+@type:
-<!-- ##### FUNCTION gras_datadesc_cb_recv ##### -->
+<!-- ##### FUNCTION gras_ddt_get_by_code ##### -->
<para>
</para>
+@code:
@type:
-@post:
+@Returns:
-<!-- ##### FUNCTION gras_datadesc_cb_send ##### -->
+<!-- ##### FUNCTION gras_ddt_get_by_name ##### -->
<para>
</para>
+@name:
@type:
-@pre:
+@Returns:
-<!-- ##### FUNCTION gras_datadesc_cb_set_post ##### -->
+<!-- ##### FUNCTION gras_ddt_new_array ##### -->
<para>
</para>
-@type:
+@name:
+@element_type:
+@fixed_size:
+@dynamic_size:
@post:
+@dst:
+@Returns:
-<!-- ##### FUNCTION gras_datadesc_cb_set_pre ##### -->
+<!-- ##### FUNCTION gras_ddt_new_from_nws ##### -->
<para>
</para>
-@type:
-@pre:
+@name:
+@desc:
+@howmany:
+@dst:
+@Returns:
-<!-- ##### FUNCTION gras_datadesc_cmp ##### -->
+<!-- ##### FUNCTION gras_ddt_new_ignored ##### -->
<para>
</para>
-@d1:
-@d2:
+@name:
+@default_value:
+@free_func:
+@size:
+@alignment:
+@post:
+@dst:
@Returns:
-@dd1:
-@c1:
-@dd2:
-@c2:
-<!-- ##### FUNCTION gras_datadesc_copy_data ##### -->
+<!-- ##### FUNCTION gras_ddt_new_parse ##### -->
<para>
</para>
-@dd:
-@c:
-@data:
+@name:
+@C_definition:
+@dst:
+@Returns:
-<!-- ##### MACRO gras_datadesc_declare_array ##### -->
+<!-- ##### FUNCTION gras_ddt_new_ref ##### -->
<para>
</para>
@name:
-@elm_type:
-@size:
-@code:
+@referenced_type:
+@discriminant:
+@post:
+@dst:
+@Returns:
-<!-- ##### FUNCTION gras_datadesc_declare_array_cb ##### -->
+<!-- ##### FUNCTION gras_ddt_new_scalar ##### -->
<para>
</para>
@name:
-@element_type:
-@fixed_size:
-@dynamic_size:
-@post:
-@code:
+@type:
@Returns:
-<!-- ##### FUNCTION gras_datadesc_declare_array_dyn ##### -->
+<!-- ##### FUNCTION gras_ddt_new_struct ##### -->
<para>
</para>
@name:
-@element_type:
-@dynamic_size:
+@pre:
+@post:
@dst:
@Returns:
-@elm_type:
-@code:
-<!-- ##### FUNCTION gras_datadesc_declare_array_fixed ##### -->
+<!-- ##### FUNCTION gras_ddt_new_struct_append ##### -->
<para>
</para>
+@struct_type:
@name:
-@element_type:
-@fixed_size:
-@dst:
+@field_type:
+@pre:
+@post:
@Returns:
-<!-- ##### FUNCTION gras_datadesc_declare_ref ##### -->
+<!-- ##### FUNCTION gras_ddt_new_union ##### -->
<para>
</para>
@name:
-@referenced_type:
-@dst:
-@Returns:
-@ref_type:
-@code:
-
-<!-- ##### FUNCTION gras_datadesc_declare_ref_cb ##### -->
-<para>
-
-</para>
-
-@name:
-@referenced_type:
-@discriminant:
+@field_count:
@post:
-@code:
-@Returns:
-
-<!-- ##### MACRO gras_datadesc_declare_ref_disc ##### -->
-<para>
-
-</para>
-
-@name:
-@discriminant:
-@code:
-
-<!-- ##### FUNCTION gras_datadesc_declare_ref_generic ##### -->
-<para>
-
-</para>
-
-@name:
-@discriminant:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct ##### -->
-<para>
-
-</para>
-
-@name:
-@dst:
-@Returns:
-@code:
-
-<!-- ##### MACRO gras_datadesc_declare_struct_add_code ##### -->
-<para>
-
-</para>
-
-@struct_code:
-@field_name:
-@field_type_code:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_add_code_cb ##### -->
-<para>
-
-</para>
-
-@struct_code:
-@field_name:
-@field_code:
-@pre_cb:
-@post_cb:
-@Returns:
-
-<!-- ##### MACRO gras_datadesc_declare_struct_add_name ##### -->
-<para>
-
-</para>
-
-@struct_code:
-@field_name:
-@field_type_name:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_add_name_cb ##### -->
-<para>
-
-</para>
-
-@struct_code:
-@field_name:
-@field_type_name:
-@pre_cb:
-@post_cb:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type:
-@name:
-@field_type:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_append_name ##### -->
-<para>
-
-</para>
-
-@struct_type:
-@name:
-@field_type_name:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_cb ##### -->
-<para>
-
-</para>
-
-@name:
-@pre_cb:
-@post_cb:
-@code:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_close ##### -->
-<para>
-
-</para>
-
-@struct_type:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union ##### -->
-<para>
-
-</para>
-
-@name:
-@selector:
@dst:
@Returns:
-@code:
-
-<!-- ##### MACRO gras_datadesc_declare_union_add_code ##### -->
-<para>
-
-</para>
-
-@union_code:
-@field_name:
-@field_type_code:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_add_code_cb ##### -->
-<para>
-
-</para>
-
-@union_code:
-@field_name:
-@field_code:
-@pre_cb:
-@post_cb:
-@Returns:
-
-<!-- ##### MACRO gras_datadesc_declare_union_add_name ##### -->
-<para>
-
-</para>
-
-@union_code:
-@field_name:
-@field_type_name:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_add_name_cb ##### -->
-<para>
-
-</para>
-
-@union_code:
-@field_name:
-@field_type_name:
-@pre_cb:
-@post_cb:
-@Returns:
-<!-- ##### FUNCTION gras_datadesc_declare_union_append ##### -->
+<!-- ##### FUNCTION gras_ddt_new_union_append ##### -->
<para>
</para>
@union_type:
@name:
@field_type:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_append_name ##### -->
-<para>
-
-</para>
-
-@union_type:
-@name:
-@field_type_name:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_cb ##### -->
-<para>
-
-</para>
-
-@name:
-@field_count:
+@pre:
@post:
-@code:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_close ##### -->
-<para>
-
-</para>
-
-@union_type:
-
-<!-- ##### FUNCTION gras_datadesc_from_nws ##### -->
-<para>
-
-</para>
-
-@name:
-@desc:
-@howmany:
-@code:
-@Returns:
-@dst:
-
-<!-- ##### FUNCTION gras_datadesc_import_nws ##### -->
-<para>
-
-</para>
-
-@name:
-@desc:
-@howmany:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_parse ##### -->
-<para>
-
-</para>
-
-@name:
-@Cdefinition:
-@dst:
-@Returns:
-@code:
-@def:
-
-<!-- ##### FUNCTION gras_datadesc_ref ##### -->
-<para>
-
-</para>
-
-@name:
-@referenced_type:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_ref_generic ##### -->
-<para>
-
-</para>
-
-@name:
-@selector:
-@dst:
-@Returns:
-@discriminant:
-
-<!-- ##### FUNCTION gras_datadesc_ref_pop_arr ##### -->
-<para>
-
-</para>
-
-@element_type:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_struct ##### -->
-<para>
-
-</para>
-
-@name:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type:
-@name:
-@field_type:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_struct_close ##### -->
-<para>
-
-</para>
-
-@struct_type:
-
-<!-- ##### USER_FUNCTION gras_datadesc_type_cb_int_t ##### -->
-<para>
-
-</para>
-
-@vars:
-@data:
-@Returns:
-@p_type:
-
-<!-- ##### USER_FUNCTION gras_datadesc_type_cb_void_t ##### -->
-<para>
-
-</para>
-
-@vars:
-@data:
-@p_type:
-
-<!-- ##### FUNCTION gras_datadesc_union ##### -->
-<para>
-
-</para>
-
-@name:
-@selector:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_union_append ##### -->
-<para>
-
-</para>
-
-@union_type:
-@name:
-@field_type:
-@Returns:
-
-<!-- ##### FUNCTION gras_datadesc_union_close ##### -->
-<para>
-
-</para>
-
-@union_type:
-
-<!-- ##### FUNCTION gras_dd_cbps_block_begin ##### -->
-<para>
-
-</para>
-
-@ps:
-
-<!-- ##### FUNCTION gras_dd_cbps_block_end ##### -->
-<para>
-
-</para>
-
-@ps:
-
-<!-- ##### FUNCTION gras_dd_cbps_get ##### -->
-<para>
-
-</para>
-
-@ps:
-@name:
-@ddt:
-
-<!-- ##### FUNCTION gras_dd_cbps_pop ##### -->
-<para>
-
-</para>
-
-@ps:
-@name:
-@ddt:
-
-<!-- ##### FUNCTION gras_dd_cbps_push ##### -->
-<para>
-
-</para>
-
-@ps:
-@name:
-@data:
-@ddt:
-
-<!-- ##### FUNCTION gras_dd_cbps_set ##### -->
-<para>
-
-</para>
-
-@ps:
-@name:
-@data:
-@ddt:
-
-<!-- ##### FUNCTION gras_ddt_free ##### -->
-<para>
-
-</para>
-
-@type:
-
-<!-- ##### FUNCTION gras_ddt_get_by_code ##### -->
-<para>
-
-</para>
-
-@code:
-@type:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_get_by_name ##### -->
-<para>
-
-</para>
-
-@name:
-@type:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_array ##### -->
-<para>
-
-</para>
-
-@name:
-@element_type:
-@fixed_size:
-@dynamic_size:
-@post:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_from_nws ##### -->
-<para>
-
-</para>
-
-@name:
-@desc:
-@howmany:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_ignored ##### -->
-<para>
-
-</para>
-
-@name:
-@default_value:
-@free_func:
-@size:
-@alignment:
-@post:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_parse ##### -->
-<para>
-
-</para>
-
-@name:
-@C_definition:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_ref ##### -->
-<para>
-
-</para>
-
-@name:
-@referenced_type:
-@discriminant:
-@post:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_scalar ##### -->
-<para>
-
-</para>
-
-@name:
-@type:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_struct ##### -->
-<para>
-
-</para>
-
-@name:
-@pre:
-@post:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type:
-@name:
-@field_type:
-@pre:
-@post:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_union ##### -->
-<para>
-
-</para>
-
-@name:
-@field_count:
-@post:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_new_union_append ##### -->
-<para>
-
-</para>
-
-@union_type:
-@name:
-@field_type:
-@pre:
-@post:
-@Returns:
-
-<!-- ##### FUNCTION gras_ddt_register ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_free ##### -->
-<para>
-
-</para>
-
-@cursor:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_get_data ##### -->
-<para>
-
-</para>
-
-@cursor:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_get_key ##### -->
-<para>
-
-</para>
-
-@cursor:
-@key:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_new ##### -->
-<para>
-
-</para>
-
-@head:
-@cursor:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_next ##### -->
-<para>
-
-</para>
-
-@cursor:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_cursor_rewind ##### -->
-<para>
-
-</para>
-
-@cursor:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_dump ##### -->
-<para>
-
-</para>
-
-@head:
-@output:
-@Returns:
-
-<!-- ##### MACRO gras_dict_foreach ##### -->
-<para>
-
-</para>
-
-@dict:
-@cursor:
-@key:
-@data:
-
-<!-- ##### FUNCTION gras_dict_free ##### -->
-<para>
-
-</para>
-
-@dict:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_get ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_get_ext ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@key_len:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_insert ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@data:
-@free_ctn:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_insert_ext ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@key_len:
-@data:
-@free_ctn:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_new ##### -->
-<para>
-
-</para>
-
-@dict:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_print ##### -->
-<para>
-
-</para>
-
-@data:
-
-<!-- ##### FUNCTION gras_dict_prints ##### -->
-<para>
-
-</para>
-
-@data:
-
-<!-- ##### FUNCTION gras_dict_remove ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_remove_ext ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@key_len:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_retrieve ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_retrieve_ext ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@key_len:
-@data:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_set ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@data:
-@free_ctn:
-@Returns:
-
-<!-- ##### FUNCTION gras_dict_set_ext ##### -->
-<para>
-
-</para>
-
-@head:
-@key:
-@key_len:
-@data:
-@free_ctn:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_cursor_first ##### -->
-<para>
-
-</para>
-
-@dynar:
-@cursor:
-
-<!-- ##### FUNCTION gras_dynar_cursor_get ##### -->
-<para>
-
-</para>
-
-@dynar:
-@cursor:
-@whereto:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_cursor_rm ##### -->
-<para>
-
-</para>
-
-@dynar:
-@cursor:
-
-<!-- ##### FUNCTION gras_dynar_cursor_step ##### -->
-<para>
-
-</para>
-
-@dynar:
-@cursor:
-
-<!-- ##### FUNCTION gras_dynar_first ##### -->
-<para>
-
-</para>
-
-@dynar:
-@cursor:
-@Returns:
-
-<!-- ##### MACRO gras_dynar_foreach ##### -->
-<para>
-
-</para>
-
-@_dynar:
-@_cursor:
-@_data:
-@_whereto:
-
-<!-- ##### FUNCTION gras_dynar_free ##### -->
-<para>
-
-</para>
-
-@dynar:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_free_container ##### -->
-<para>
-
-</para>
-
-@dynar:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_get ##### -->
-<para>
-
-</para>
-
-@dynar:
-@idx:
-@dst:
-@whereto:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_insert_at ##### -->
-<para>
-
-</para>
-
-@dynar:
-@idx:
-@src:
-@Returns:
-@object:
-
-<!-- ##### FUNCTION gras_dynar_length ##### -->
-<para>
-
-</para>
-
-@dynar:
-@Returns:
-
-<!-- ##### FUNCTION gras_dynar_map ##### -->
-<para>
-
-</para>
-
-@dynar:
-@operator:
@Returns:
-<!-- ##### FUNCTION gras_dynar_new ##### -->
+<!-- ##### FUNCTION gras_ddt_register ##### -->
<para>
</para>
-@whereto:
-@elm_size:
-@free_func:
+@type:
@Returns:
-<!-- ##### FUNCTION gras_dynar_next ##### -->
+<!-- ##### FUNCTION gras_dict_cursor_next ##### -->
<para>
</para>
-@dynar:
@cursor:
-@whereto:
@Returns:
-<!-- ##### FUNCTION gras_dynar_pop ##### -->
-<para>
-
-</para>
-
-@dynar:
-@dst:
-@whereto:
-
-<!-- ##### FUNCTION gras_dynar_push ##### -->
+<!-- ##### FUNCTION gras_dict_insert ##### -->
<para>
</para>
-@dynar:
-@src:
+@head:
+@key:
+@data:
+@free_ctn:
@Returns:
-@object:
-<!-- ##### FUNCTION gras_dynar_remove_at ##### -->
+<!-- ##### FUNCTION gras_dict_insert_ext ##### -->
<para>
</para>
-@dynar:
-@idx:
-@object:
+@head:
+@key:
+@key_len:
+@data:
+@free_ctn:
@Returns:
-<!-- ##### FUNCTION gras_dynar_replace ##### -->
+<!-- ##### FUNCTION gras_dict_retrieve ##### -->
<para>
</para>
-@dynar:
-@idx:
-@object:
+@head:
+@key:
+@data:
@Returns:
-<!-- ##### FUNCTION gras_dynar_reset ##### -->
+<!-- ##### FUNCTION gras_dict_retrieve_ext ##### -->
<para>
</para>
-@dynar:
+@head:
+@key:
+@key_len:
+@data:
@Returns:
-<!-- ##### FUNCTION gras_dynar_set ##### -->
+<!-- ##### FUNCTION gras_dynar_first ##### -->
<para>
</para>
@dynar:
-@idx:
-@src:
+@cursor:
@Returns:
-@object:
-<!-- ##### FUNCTION gras_dynar_shift ##### -->
+<!-- ##### FUNCTION gras_dynar_get ##### -->
<para>
</para>
@dynar:
+@idx:
@dst:
@whereto:
@Returns:
-<!-- ##### FUNCTION gras_dynar_unshift ##### -->
+<!-- ##### FUNCTION gras_dynar_next ##### -->
<para>
</para>
@dynar:
-@src:
+@cursor:
+@whereto:
@Returns:
-@object:
-
-<!-- ##### ENUM gras_error_t ##### -->
-<para>
-
-</para>
-
-@no_error: no error
-@malloc_error: Well known error
-@mismatch_error: Not found
-@system_error: a syscall did fail
-@network_error: error while sending/receiving data
-@timeout_error: not quick enough, dude
-@thread_error: error while [un]locking
-@unknown_error: no idea
<!-- ##### FUNCTION gras_lock ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gras_log_appender_set ##### -->
-<para>
-
-</para>
-
-@cat:
-@app:
-
-<!-- ##### FUNCTION gras_log_control_set ##### -->
-<para>
-
-</para>
-
-@cs:
-@Returns:
-
-<!-- ##### VARIABLE gras_log_default_appender ##### -->
-<para>
-
-</para>
-
-
<!-- ##### FUNCTION gras_log_parent_set ##### -->
<para>
@msg:
-<!-- ##### FUNCTION gras_msg_handle ##### -->
-<para>
-
-</para>
-
-@timeOut:
-@Returns:
-
<!-- ##### FUNCTION gras_msg_new ##### -->
<para>
@Varargs:
@Returns:
-<!-- ##### FUNCTION gras_msg_send ##### -->
-<para>
-
-</para>
-
-@sock:
-@msgtype:
-@payload:
-@Returns:
-@sd:
-@msg:
-@freeDirective:
-
-<!-- ##### FUNCTION gras_msg_wait ##### -->
-<para>
-
-</para>
-
-@timeout:
-@msgt_want:
-@expeditor:
-@payload:
-@Returns:
-@id:
-@message:
-
-<!-- ##### FUNCTION gras_msgtype_by_name ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-@dst:
-
-<!-- ##### FUNCTION gras_msgtype_by_namev ##### -->
-<para>
-
-</para>
-
-@name:
-@version:
-@Returns:
-@dst:
-
-<!-- ##### FUNCTION gras_msgtype_declare ##### -->
-<para>
-
-</para>
-
-@name:
-@payload:
-@Returns:
-@dst:
-
-<!-- ##### FUNCTION gras_msgtype_declare_v ##### -->
-<para>
-
-</para>
-
-@name:
-@version:
-@payload:
-@Returns:
-@dst:
-
<!-- ##### FUNCTION gras_msgtype_register ##### -->
<para>
@Varargs:
@Returns:
-<!-- ##### FUNCTION gras_os_sleep ##### -->
-<para>
-
-</para>
-
-@Param1:
-@Param2:
-
-<!-- ##### FUNCTION gras_os_time ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION gras_set_add ##### -->
-<para>
-
-</para>
-
-@set:
-@elm:
-@free_func:
-@Returns:
-
-<!-- ##### MACRO gras_set_foreach ##### -->
-<para>
-
-</para>
-
-@set:
-@cursor:
-@elm:
-
-<!-- ##### FUNCTION gras_set_free ##### -->
-<para>
-
-</para>
-
-@set:
-
-<!-- ##### FUNCTION gras_set_get_by_id ##### -->
-<para>
-
-</para>
-
-@set:
-@id:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_set_get_by_name ##### -->
-<para>
-
-</para>
-
-@set:
-@key:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_set_get_by_name_ext ##### -->
-<para>
-
-</para>
-
-@set:
-@name:
-@name_len:
-@dst:
-@Returns:
-
-<!-- ##### FUNCTION gras_set_new ##### -->
-<para>
-
-</para>
-
-@dst:
-@Returns:
-
<!-- ##### FUNCTION gras_sleep ##### -->
<para>
@sock:
@Returns:
-<!-- ##### FUNCTION gras_socket_client ##### -->
-<para>
-
-</para>
-
-@host:
-@Param2:
-@dst:
-@Returns:
-@bufSize:
-@sock:
-
-<!-- ##### FUNCTION gras_socket_close ##### -->
-<para>
-
-</para>
-
-@sd:
-@sock:
-@Returns:
-
-<!-- ##### FUNCTION gras_socket_my_port ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-<!-- ##### FUNCTION gras_socket_peer_name ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-@sd:
-
-<!-- ##### FUNCTION gras_socket_peer_port ##### -->
-<para>
-
-</para>
-
-@sock:
-@Returns:
-
-<!-- ##### FUNCTION gras_socket_server ##### -->
-<para>
-
-</para>
-
-@Param1:
-@dst:
-@Returns:
-@bufSize:
-
<!-- ##### FUNCTION gras_time ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gras_userdata_get ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO gras_userdata_new ##### -->
-<para>
-
-</para>
-
-@type:
-
-<!-- ##### FUNCTION gras_userdata_set ##### -->
-<para>
-
-</para>
-
-@ud:
-