Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Renaming tbx to xbt and adding some of my functions.
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 8 Dec 2004 19:48:35 +0000 (19:48 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 8 Dec 2004 19:48:35 +0000 (19:48 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@562 48e7efb5-ca39-0410-a469-dd3cf9ba447f

17 files changed:
cruft/doc/gras-docs.sgml
cruft/doc/gras-sections.txt
cruft/doc/tmpl/gras-unused.sgml
cruft/doc/tmpl/tbx_cfg.sgml [deleted file]
cruft/doc/tmpl/tbx_dico.sgml [deleted file]
cruft/doc/tmpl/tbx_dynar.sgml [deleted file]
cruft/doc/tmpl/tbx_err.sgml [deleted file]
cruft/doc/tmpl/tbx_set.sgml [deleted file]
cruft/doc/tmpl/xbt_config.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_dico.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_dict.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_dynar.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_error.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_heap.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_log.sgml [moved from cruft/doc/tmpl/tbx_log.sgml with 91% similarity]
cruft/doc/tmpl/xbt_set.sgml [new file with mode: 0644]
cruft/doc/tmpl/xbt_swag.sgml [new file with mode: 0644]

index 6494aff..6d1c556 100644 (file)
 <!ENTITY virtu-fs      SYSTEM "xml/virtu_fs.xml">
 
 
 <!ENTITY virtu-fs      SYSTEM "xml/virtu_fs.xml">
 
 
-<!ENTITY tbx-err SYSTEM "xml/tbx_err.xml">
-<!ENTITY tbx-log SYSTEM "xml/tbx_log.xml">
-<!ENTITY tbx-dynar SYSTEM "xml/tbx_dynar.xml">
-<!ENTITY tbx-dico SYSTEM "xml/tbx_dico.xml">
-<!ENTITY tbx-set SYSTEM "xml/tbx_set.xml">
-<!ENTITY tbx-cfg SYSTEM "xml/tbx_cfg.xml">
+<!ENTITY xbt-error SYSTEM "xml/xbt_error.xml">
+<!ENTITY xbt-log SYSTEM "xml/xbt_log.xml">
+<!ENTITY xbt-dynar SYSTEM "xml/xbt_dynar.xml">
+<!ENTITY xbt-dict SYSTEM "xml/xbt_dict.xml">
+<!ENTITY xbt-set SYSTEM "xml/xbt_set.xml">
+<!ENTITY xbt-swag SYSTEM "xml/xbt_swag.xml">
+<!ENTITY xbt-heap SYSTEM "xml/xbt_heap.xml">
+<!ENTITY xbt-config SYSTEM "xml/xbt_config.xml">
+
+<!ENTITY surf-maxmin SYSTEM "xml/surf_maxmin.xml">
 
 <!ENTITY gras-gras SYSTEM "xml/gras.xml">
 <!ENTITY gras-gras-private SYSTEM "xml/gras_private.xml">
 
 <!ENTITY gras-gras SYSTEM "xml/gras.xml">
 <!ENTITY gras-gras-private SYSTEM "xml/gras_private.xml">
@@ -302,12 +306,19 @@ Write examples.
 
   <chapter>
    <title>GRAS toolbox</title>
 
   <chapter>
    <title>GRAS toolbox</title>
-   &tbx-err;
-   &tbx-log;
-   &tbx-dynar;
-   &tbx-dico;
-   &tbx-set;
-   &tbx-cfg;
+   &xbt-error;
+   &xbt-log;
+   &xbt-dynar;
+   &xbt-dict;
+   &xbt-set;
+   &xbt-swag;
+   &xbt-heap;
+   &xbt-config;
+  </chapter>
+
+  <chapter>
+   <title>SURF</title>
+   &surf-maxmin;
   </chapter>
 
 <!--
   </chapter>
 
 <!--
index 54a5829..9498b05 100644 (file)
@@ -1,30 +1,30 @@
 <SECTION>
 <SECTION>
-<FILE>tbx_err</FILE>
-<TITLE>Errors</TITLE>
-gras_error_t
-gras_error_name
+<FILE>xbt_error</FILE>
+<TITLE>errors</TITLE>
+xbt_error_t
+xbt_error_name
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
-<FILE>tbx_log</FILE>
+<FILE>xbt_log</FILE>
 <TITLE>logging</TITLE>
 <TITLE>logging</TITLE>
-gras_log_priority_t
+xbt_log_priority_t
 
 
-gras_log_control_set
+xbt_log_control_set
 
 
-GRAS_LOG_NEW_CATEGORY
-GRAS_LOG_NEW_SUBCATEGORY
-GRAS_LOG_NEW_DEFAULT_CATEGORY
-GRAS_LOG_NEW_DEFAULT_SUBCATEGORY
+XBT_LOG_NEW_CATEGORY
+XBT_LOG_NEW_SUBCATEGORY
+XBT_LOG_NEW_DEFAULT_CATEGORY
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY
 
 
-GRAS_LOG_DEFAULT_CATEGORY
-GRAS_LOG_EXTERNAL_CATEGORY
+XBT_LOG_DEFAULT_CATEGORY
+XBT_LOG_EXTERNAL_CATEGORY
 
 
-GRAS_LOG_ISENABLED
-GRAS_LOG_STATIC_THRESHOLD
+XBT_LOG_ISENABLED
+XBT_LOG_STATIC_THRESHOLD
 
 
-gras_log_appender_set
-gras_log_default_appender
+xbt_log_appender_set
+xbt_log_default_appender
 
 CDEBUG6
 CVERB6
 
 CDEBUG6
 CVERB6
@@ -42,9 +42,9 @@ ERROR6
 CRITICAL6
 
 <SUBSECTION Standard>
 CRITICAL6
 
 <SUBSECTION Standard>
-GRAS_LOG_ROOT_CAT
-gras_log_parent_set
-gras_log_threshold_set
+XBT_LOG_ROOT_CAT
+xbt_log_parent_set
+xbt_log_threshold_set
 
 CLOG0
 CLOG1
 
 CLOG0
 CLOG1
@@ -132,121 +132,191 @@ CRITICAL1
 CRITICAL2
 CRITICAL3
 CRITICAL4
 CRITICAL2
 CRITICAL3
 CRITICAL4
-CRITICAL5
-
+CRITICAL5    
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
-<FILE>tbx_dynar</FILE>
-gras_dynar_new
-gras_dynar_free
-gras_dynar_free_container
-gras_dynar_length
-gras_dynar_reset
-gras_dynar_get
-gras_dynar_set
-gras_dynar_replace
-gras_dynar_insert_at
-gras_dynar_remove_at
-gras_dynar_map
-gras_dynar_push
-gras_dynar_pop
-gras_dynar_shift
-gras_dynar_unshift
-gras_dynar_foreach
-gras_dynar_cursor_rm
-
-gras_dynar_cursor_first
-gras_dynar_cursor_get
-gras_dynar_cursor_step
+<FILE>xbt_dynar</FILE>
+<TITLE>dynamic arrays</TITLE>
+xbt_dynar_new
+xbt_dynar_free
+xbt_dynar_free_container
+xbt_dynar_length
+xbt_dynar_reset
+xbt_dynar_get
+xbt_dynar_set
+xbt_dynar_replace
+xbt_dynar_insert_at
+xbt_dynar_remove_at
+xbt_dynar_map
+xbt_dynar_push
+xbt_dynar_pop
+xbt_dynar_shift
+xbt_dynar_unshift
+xbt_dynar_foreach
+xbt_dynar_cursor_rm
+
+xbt_dynar_cursor_first
+xbt_dynar_cursor_get
+xbt_dynar_cursor_step
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
-<FILE>tbx_dico</FILE>
-gras_dict_new
-gras_dict_free
-gras_dict_set
-gras_dict_set_ext
-gras_dict_get
-gras_dict_get_ext
-gras_dict_remove
-gras_dict_remove_ext
-gras_dict_dump
-gras_dict_print
-gras_dict_prints
-gras_dict_cursor_get_data
-gras_dict_cursor_get_key
-gras_dict_foreach
-
-gras_dict_cursor_new
-gras_dict_cursor_free
-gras_dict_cursor_rewind
+<FILE>xbt_dict</FILE>
+<TITLE>dictionaries</TITLE>
+xbt_dict_new
+xbt_dict_free
+xbt_dict_set
+xbt_dict_set_ext
+xbt_dict_get
+xbt_dict_get_ext
+xbt_dict_remove
+xbt_dict_remove_ext
+xbt_dict_dump
+xbt_dict_print
+xbt_dict_prints
+xbt_dict_cursor_get_data
+xbt_dict_cursor_get_key
+xbt_dict_foreach
+
+xbt_dict_cursor_new
+xbt_dict_cursor_free
+xbt_dict_cursor_rewind
 
 <SUBSECTION Standard>
 
 <SUBSECTION Standard>
-gras_dictelm_remove_ext
-gras_dictelm_insert_ext
-gras_dictelm_remove
-gras_dictelm_print_fct
-gras_dictelm_insert
-gras_dictelm_free
-gras_dictelm_retrieve
-gras_dictelm_dump
-gras_dictelm_retrieve_ext
+xbt_dictelm_remove_ext
+xbt_dictelm_insert_ext
+xbt_dictelm_remove
+xbt_dictelm_print_fct
+xbt_dictelm_insert
+xbt_dictelm_free
+xbt_dictelm_retrieve
+xbt_dictelm_dump
+xbt_dictelm_retrieve_ext
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
-<FILE>tbx_set</FILE>
-gras_set_new
-gras_set_free
+<FILE>xbt_set</FILE>
+<TITLE>xbt-set</TITLE>
+xbt_set_new
+xbt_set_free
+
+xbt_set_add
+xbt_set_get_by_name
+xbt_set_get_by_name_ext
+xbt_set_get_by_id
 
 
-gras_set_add
-gras_set_get_by_name
-gras_set_get_by_name_ext
-gras_set_get_by_id
+xbt_set_foreach
 
 
-gras_set_foreach
+<SUBSECTION Standard>
+xbt_set_cursor_step
+xbt_set_cursor_get_or_free
+xbt_set_cursor_first
+</SECTION>
 
 
+<SECTION>
+<FILE>xbt_swag</FILE>
+<TITLE>xbt-swag</TITLE>
+xbt_swag_new
+xbt_swag_free
+xbt_swag_init
+xbt_swag_insert
+xbt_swag_remove
+xbt_swag_extract
+xbt_swag_size
+xbt_swag_belongs
+
+xbt_swag_foreach
+xbt_swag_foreach_safe
+xbt_swag_offset
 <SUBSECTION Standard>
 <SUBSECTION Standard>
-gras_set_cursor_step
-gras_set_cursor_get_or_free
-gras_set_cursor_first
+xbt_swag_getFirst
+xbt_swag_getNext
+xbt_swag_getPrev
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
-<FILE>tbx_cfg</FILE>
-gras_cfg_new
-gras_cfg_cpy
-gras_cfg_free
-gras_cfg_dump
-
-gras_cfg_register
-gras_cfg_register_str
-gras_cfg_check
-
-gras_cfg_set_parse
-gras_cfg_set
-gras_cfg_set_vargs
-
-gras_cfg_set_int
-gras_cfg_set_double
-gras_cfg_set_string
-gras_cfg_set_host
-
-gras_cfg_rm_int
-gras_cfg_rm_double
-gras_cfg_rm_string
-gras_cfg_rm_host
-gras_cfg_empty
-
-gras_cfg_get_int
-gras_cfg_get_double
-gras_cfg_get_string
-gras_cfg_get_host
-gras_cfg_get_dynar
+<FILE>xbt_heap</FILE>
+<TITLE>xbt-heap</TITLE>
+xbt_swag_hookup
+xbt_swag
+
+xbt_heap_new
+xbt_heap_free
+xbt_heap_size
+
+xbt_heap_push
+xbt_heap_pop
+
+xbt_heap_maxkey
+xbt_heap_maxcontent
+</SECTION>
+
+<SECTION>
+<FILE>surf_maxmin</FILE>
+<TITLE>surf-maxmin</TITLE>
+lmm_variable_t
+lmm_constraint_t
+lmm_system_t
+lmm_system_new
+lmm_system_free
+lmm_variable_disable
+lmm_constraint_new
+lmm_constraint_free
+lmm_variable_new
+lmm_variable_free
+lmm_variable_getvalue
+lmm_expand
+lmm_get_cnst_from_var
+lmm_get_number_of_cnst_from_var
+lmm_get_var_from_cnst
+lmm_constraint_id
+lmm_variable_id
+lmm_update
+lmm_update_variable_bound
+lmm_update_variable_weight
+lmm_update_constraint_bound
+lmm_constraint_used
+lmm_solve
+</SECTION>
+
+
+<SECTION>
+<TITLE>Configuration management</TITLE>
+<FILE>xbt_config</FILE>
+xbt_cfg_new
+xbt_cfg_cpy
+xbt_cfg_free
+xbt_cfg_dump
+
+xbt_cfg_register
+xbt_cfg_register_str
+xbt_cfg_check
+
+xbt_cfg_set_parse
+xbt_cfg_set
+xbt_cfg_set_vargs
+
+xbt_cfg_set_int
+xbt_cfg_set_double
+xbt_cfg_set_string
+xbt_cfg_set_host
+
+xbt_cfg_rm_int
+xbt_cfg_rm_double
+xbt_cfg_rm_string
+xbt_cfg_rm_host
+xbt_cfg_empty
+
+xbt_cfg_get_int
+xbt_cfg_get_double
+xbt_cfg_get_string
+xbt_cfg_get_host
+xbt_cfg_get_dynar
 
 <SUBSECTION Standard>
 
 <SUBSECTION Standard>
-gras_cfgelm_type_t
-gras_cfg_get_type
+xbt_cfgelm_type_t
+xbt_cfg_get_type
 </SECTION>
 
 <SECTION>
 </SECTION>
 
 <SECTION>
index 8735fd3..72cda8b 100644 (file)
@@ -136,6 +136,26 @@ Describing the data
 DataDescriptor API
 
 
 DataDescriptor API
 
 
+<!-- ##### SECTION ./tmpl/Dynamic_arrays.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/Dynamic_arrays.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/Dynamic_arrays.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/Dynamic_arrays.sgml:Title ##### -->
+Dynamic arrays
+
+
 <!-- ##### SECTION ./tmpl/ErrLog.sgml:Long_Description ##### -->
 <para>
 
 <!-- ##### SECTION ./tmpl/ErrLog.sgml:Long_Description ##### -->
 <para>
 
@@ -428,6 +448,286 @@ Overview of the GRAS library
 Overview
 
 
 Overview
 
 
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml.sgml:Title ##### -->
+./gras-sections.txt.sgml
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gras-sections.txt.sgml:Title ##### -->
+./gras-sections.txt
+
+
 <!-- ##### SECTION ./tmpl/gras.sgml:Long_Description ##### -->
 <para>
 
 <!-- ##### SECTION ./tmpl/gras.sgml:Long_Description ##### -->
 <para>
 
@@ -587,24 +887,640 @@ SG
 nws_comm
 
 
 nws_comm
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:Long_Description ##### -->
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Long_Description ##### -->
 <para>
 
 </para>
 
 
 <para>
 
 </para>
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:See_Also ##### -->
 <para>
 
 </para>
 
 
 <para>
 
 </para>
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:Short_Description ##### -->
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Short_Description ##### -->
+Configuration facilities.
 
 
 
 
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Title ##### -->
+Config
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:Title ##### -->
-Sockets
+
+<!-- ##### SECTION ./tmpl/tbx_dico.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_dico.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_dico.sgml:Short_Description ##### -->
+Data container associating data to a string key.
+
+
+<!-- ##### SECTION ./tmpl/tbx_dico.sgml:Title ##### -->
+Dictionnary
+
+
+<!-- ##### SECTION ./tmpl/tbx_dynar.sgml:Long_Description ##### -->
+<para>
+This module provide the quite usual dynamic array facility.
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_dynar.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_dynar.sgml:Short_Description ##### -->
+Use arrays, forget about malloc
+
+
+<!-- ##### SECTION ./tmpl/tbx_dynar.sgml:Title ##### -->
+Dynamic array
+
+
+<!-- ##### SECTION ./tmpl/tbx_err.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_err.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_err.sgml:Short_Description ##### -->
+Error reporting
+
+
+<!-- ##### SECTION ./tmpl/tbx_err.sgml:Title ##### -->
+Errors handling
+
+
+<!-- ##### SECTION ./tmpl/tbx_log.sgml:Long_Description ##### -->
+<para> 
+  This is an adaptation of the log4c project, which is dead upstream, and which
+  I was given the permission to fork under the LGPL licence by the authors. log4c
+  itself was loosely based on the Apache project's Log4J, Log4CC,
+  etc. project. Because C is not object oriented, a lot had to change.
+</para>
+
+<refsect2>
+  <title>Overview</title>
+
+  <para>
+    There is 3 main concepts: category, priority and appender. These three
+    concepts work together to enable developers to log messages according to
+    message type and priority, and to control at runtime how these messages are
+    formatted and where they are reported.
+  </para>
+</refsect2>
+
+<refsect2>
+ <title>Category hierarchy</title>
+
+  <para>
+    The first and foremost advantage of any logging API over plain printf()
+    resides in its ability to disable certain log statements while allowing
+    others to print unhindered. This capability assumes that the logging space,
+    that is, the space of all possible logging statements, is categorized
+    according to some developer-chosen criteria.
+  </para>
+
+  <para>
+    This observation led to choosing category as the central concept of the
+    system. Every category is declared by providing a name and an optional
+    parent. If no parent is explicitly named, the root category, LOG_ROOT_CAT
+    is the category's parent.
+  </para>
+
+  <para>
+    A category is created by a macro call at the top level of a file.  A
+    category can be created with any one of the following macros:
+  </para>
+
+  <itemizedlist>
+    <listitem>
+     <para>@GRAS_LOG_NEW_CATEGORY(MyCat);</para>
+     <para>create a new root</para>
+    </listitem>
+
+    <listitem>
+      <para>@GRAS_LOG_NEW_SUBCATEGORY(MyCat, ParentCat);</para>
+      <para>Create a new category being child of the category ParentCat</para>
+    </listitem>
+
+    <listitem>
+      <para>@GRAS_LOG_NEW_DEFAULT_CATEGORY(MyCat);</para>
+      <para>Like GRAS_LOG_NEW_CATEGORY, but the new category is the default one
+      in this file</para>
+    </listitem>
+
+    <listitem>
+      <para>@GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(MyCat, ParentCat);</para>
+      <para>Like GRAS_LOG_NEW_SUBCATEGORY, but the new category is the default one
+      in this file</para>
+    </listitem>
+  </itemizedlist>
+
+  <para>
+    The parent cat can be defined in the same file or in another file, but each
+    category may have only one definition.
+  </para>
+
+  <para>
+    Typically, there will be a Category for each module and sub-module, so you
+    can independently control logging for each module.
+  </para>
+</refsect2>
+
+<refsect2>
+  <title>Priority</title>
+
+  <para>
+    A category may be assigned a threshold priorty. The set of priorites are
+    defined by the @gras_log_priority_t enum. Their values are DEBUG, VERBOSE,
+    INFO, WARNING, ERROR and CRITICAL.
+  </para>
+
+  <para>
+    If a given category is not assigned a threshold priority, then it inherits
+    one from its closest ancestor with an assigned threshold.
+  </para>
+  <para>
+    To ensure that all categories can eventually inherit a threshold, the root
+    category always has an assigned threshold priority.
+  </para>
+
+  <para>
+    Logging requests are made by invoking a logging macro on a category.  All
+    of the macros have a printf-style format string followed by arguments.
+    Because most C compilers do not support vararg macros, there is a version
+    of the macro for any number of arguments from 0 to 6. The macro name ends
+    with the total number of arguments.
+  </para>
+
+  <para>
+    Here is an example of the most basic type of macro:
+  </para>
+  
+  <programlisting>CLOG5(MyCat, gras_log_priority_warning, "Values are: %d and '%s'", 5, "oops");</programlisting>
+  
+  <para>This is a logging request with priority WARN.</para>
+
+  <para>
+    A logging request is said to be enabled if its priority is higher than or
+    equal to the threshold priority of its category. Otherwise, the request is
+    said to be disabled. A category without an assigned priority will inherit
+    one from the hierarchy.
+  </para>
+
+  <para>
+    It is possible to use any non-negative integer as a priority. If, as in the
+    example, one of the standard priorites is used, then there is a convenience
+    macro that is typically used instead. For example, the above example is
+    equivalent to the shorter:
+  </para>
+
+  <programlisting>CWARN4(MyCat, "Values are: %d and '%s'", 5, "oops");</programlisting>
+</refsect2>
+
+<refsect2>
+  <title>Default category</title>
+
+  <para>
+    If @GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(MyCat, Parent) or
+    @GRAS_LOG_NEW_DEFAULT_CATEGORY(MyCat) is used to create the category, then
+    the even shorter form can be used:
+  </para>
+
+  <programlisting>WARN3("Values are: %d and '%s'", 5, "oops");</programlisting>
+
+  <para>
+   Only one default category can be created per file, though multiple
+   non-defaults can be created and used.
+  </para>
+</refsect2>
+
+<refsect2>
+  <title>Example</title>
+
+  <para>Here is a more complete example:</para>
+
+  <programlisting>
+     #include "gras.h"
+
+     /* create a category and a default subcategory */
+     GRAS_LOG_NEW_CATEGORY(VSS);
+     GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(SA, VSS);
+
+     main() {
+            /* Now set the parent's priority.
+               (the string would typcially be a runtime option) */
+            gras_log_control_set("SA.thresh=3");
+
+            /* This request is enabled, because WARNING &gt;= INFO. */
+            CWARN2(VSS, "Low fuel level.");
+
+            /* This request is disabled, because DEBUG &lt; INFO. */
+            CDEBUG2(VSS, "Starting search for nearest gas station."); 
+
+            /* The default category SA inherits its priority from VSS. Thus,
+               the following request is enabled because INFO &gt;= INFO.  */
+            INFO1("Located nearest gas station.");
+
+            /* This request is disabled, because DEBUG &lt; INFO. */
+            DEBUG1("Exiting gas station search");
+      }</programlisting>
+</refsect2>
+
+<refsect2>
+  <title>Configuration</title>
+
+  <para>
+    Configuration is typically done during program initialization by invoking
+    the gras_log_control_set() method. The control string passed to it
+    typically comes from the command line. Look at the doucmentation for that
+    function for the format of the control string.
+  </para>
+</refsect2>
+
+<refsect2>
+  <title>Performance</title>
+
+  <para>
+    Clever design insures efficiency. Except for the first invocation, a
+    disabled logging request requires an a single comparison of a static
+    variable to a constant.
+  </para>
+
+  <para>
+    There is also compile time constant, @GRAS_LOG_STATIC_THRESHOLD, which
+    causes all logging requests with a lower priority to be optimized to 0 cost
+    by the compiler. By setting it to gras_log_priority_infinite, all logging
+    requests are statically disabled and cost nothing. Released executables
+    might typically be compiled with
+    "-DGRAS_LOG_STATIC_THRESHOLD=gras_log_priority_infinite".
+  </para>
+</refsect2>
+
+<refsect2>
+  <title>Appenders</title>
+
+  <para>
+    Each category has an optional appender. An appender is a pointer to a
+    structure whcih starts with a pointer to a doAppend() function. DoAppend()
+    prints a message to a log.
+  </para>
+
+  <para>
+    WHen a category is passed a message by one of the logging macros, the
+    category performs the following actions:
+  </para>
+
+  <itemizedlist>
+    <listitem>
+       <para>
+         if the category has an appender, the message is passed to the
+         appender's doAppend() function,
+       </para>
+    </listitem>
+
+    <listitem>
+       <para>
+         if 'willLogToParent' is true for the category, the message is passed
+         to the category's parent.
+      </para>
+
+      <para>
+         By default, all categories except root have no appender and
+         'willLogToParent' is true. This situation causes all messages to be
+         logged by the root category's appender.
+      </para>
+
+      <para>
+         Typically, you would only change the root category's appender when you
+         wanted, say, a different output format. Copying defaultLogAppender.c
+         would be a good start.
+      </para>
+
+      <para>
+         The default appender function currently prints to stderr, but more
+         would be needed, like the one able to send the logs to a remote
+         dedicated server.
+      </para>
+    </listitem>
+  </itemizedlist>
+</refsect2>
+
+<refsect2>
+  <title>Misc and Caveats</title>
+
+  <para>
+    Do not use any of the macros that start with '_'.
+  </para>
+
+  <para>
+    The current set of macros force each file to use categories declared in
+    that file. This is intentional. Make the category a child of the file's
+    module category.
+  </para>
+
+  <para>
+    Log4J has a 'rolling file appender' which you can select with a run-time
+    option and specify the max file size. This would be a nice default for
+    non-kernel applications.
+  </para>
+
+  <para>
+    Careful, category names are global variables.
+  </para>
+</refsect2>
+
+
+<!-- ##### SECTION ./tmpl/tbx_log.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_log.sgml:Short_Description ##### -->
+An easy-to-use, fast and flexible message logging architecture.
+
+
+<!-- ##### SECTION ./tmpl/tbx_log.sgml:Title ##### -->
+Logging facilities
+
+
+<!-- ##### SECTION ./tmpl/tbx_set.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_set.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/tbx_set.sgml:Short_Description ##### -->
+Data storage for very quick retrieve
+
+
+<!-- ##### SECTION ./tmpl/tbx_set.sgml:Title ##### -->
+Data set
+
+
+<!-- ##### SECTION ./tmpl/trp_socks.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/trp_socks.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/trp_socks.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/trp_socks.sgml:Title ##### -->
+Sockets
+
+
+<!-- ##### SECTION ./tmpl/xbt_cfg.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_cfg.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_cfg.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_cfg.sgml:Title ##### -->
+xbt_cfg
+
+
+<!-- ##### SECTION ./tmpl/xbt_dico.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_dico.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_dico.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_dico.sgml:Title ##### -->
+xbt_dico
+
+
+<!-- ##### SECTION ./tmpl/xbt_err.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_err.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_err.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_err.sgml:Title ##### -->
+Errors
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml.sgml:Title ##### -->
+xbt_swag.sgml.sgml
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml:Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml:See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/xbt_swag.sgml.sgml:Title ##### -->
+xbt_swag.sgml
 
 
 <!-- ##### MACRO BEGIN_DECL ##### -->
 
 
 <!-- ##### MACRO BEGIN_DECL ##### -->
diff --git a/cruft/doc/tmpl/tbx_cfg.sgml b/cruft/doc/tmpl/tbx_cfg.sgml
deleted file mode 100644 (file)
index d6d7834..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Config
-
-<!-- ##### SECTION Short_Description ##### -->
-Configuration facilities.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/tbx_dico.sgml b/cruft/doc/tmpl/tbx_dico.sgml
deleted file mode 100644 (file)
index 0e59b65..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Dictionnary
-
-<!-- ##### SECTION Short_Description ##### -->
-Data container associating data to a string key.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/tbx_dynar.sgml b/cruft/doc/tmpl/tbx_dynar.sgml
deleted file mode 100644 (file)
index e02316e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Dynamic array
-
-<!-- ##### SECTION Short_Description ##### -->
-Use arrays, forget about malloc
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This module provide the quite usual dynamic array facility.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/tbx_err.sgml b/cruft/doc/tmpl/tbx_err.sgml
deleted file mode 100644 (file)
index e283b6a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Errors handling
-
-<!-- ##### SECTION Short_Description ##### -->
-Error reporting
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/tbx_set.sgml b/cruft/doc/tmpl/tbx_set.sgml
deleted file mode 100644 (file)
index ddb5d35..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Data set
-
-<!-- ##### SECTION Short_Description ##### -->
-Data storage for very quick retrieve
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/xbt_config.sgml b/cruft/doc/tmpl/xbt_config.sgml
new file mode 100644 (file)
index 0000000..c7f6f0a
--- /dev/null
@@ -0,0 +1,268 @@
+<!-- ##### SECTION Title ##### -->
+Config
+
+<!-- ##### SECTION Short_Description ##### -->
+Configuration facilities.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_cfg_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_cpy ##### -->
+<para>
+
+</para>
+
+@tocopy: 
+@whereto: 
+
+
+<!-- ##### FUNCTION xbt_cfg_free ##### -->
+<para>
+
+</para>
+
+@cfg: 
+
+
+<!-- ##### FUNCTION xbt_cfg_dump ##### -->
+<para>
+
+</para>
+
+@name: 
+@indent: 
+@cfg: 
+
+
+<!-- ##### FUNCTION xbt_cfg_register ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@type: 
+@min: 
+@max: 
+
+
+<!-- ##### FUNCTION xbt_cfg_register_str ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@entry: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_check ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_parse ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@options: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@Varargs: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_vargs ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@pa: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_int ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_double ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_string ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_set_host ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@host: 
+@port: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_rm_int ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_rm_double ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_rm_string ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_rm_host ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@host: 
+@port: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_empty ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_get_int ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_get_double ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_get_string ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@val: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_get_host ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@host: 
+@port: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_cfg_get_dynar ##### -->
+<para>
+
+</para>
+
+@cfg: 
+@name: 
+@dynar: 
+@Returns: 
+
+
diff --git a/cruft/doc/tmpl/xbt_dico.sgml b/cruft/doc/tmpl/xbt_dico.sgml
new file mode 100644 (file)
index 0000000..552b162
--- /dev/null
@@ -0,0 +1,180 @@
+<!-- ##### SECTION Title ##### -->
+xbt_dico
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_dict_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_free ##### -->
+<para>
+
+</para>
+
+@dict: 
+
+
+<!-- ##### FUNCTION xbt_dict_set ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@data: 
+@free_ctn: 
+
+
+<!-- ##### FUNCTION xbt_dict_set_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@data: 
+@free_ctn: 
+
+
+<!-- ##### FUNCTION xbt_dict_get ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_get_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_remove ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_remove_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_dump ##### -->
+<para>
+
+</para>
+
+@head: 
+@output: 
+
+
+<!-- ##### FUNCTION xbt_dict_print ##### -->
+<para>
+
+</para>
+
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_prints ##### -->
+<para>
+
+</para>
+
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_get_data ##### -->
+<para>
+
+</para>
+
+@cursor: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_get_key ##### -->
+<para>
+
+</para>
+
+@cursor: 
+@key: 
+@Returns: 
+
+
+<!-- ##### MACRO xbt_dict_foreach ##### -->
+<para>
+
+</para>
+
+@dict: 
+@cursor: 
+@key: 
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_new ##### -->
+<para>
+
+</para>
+
+@head: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_free ##### -->
+<para>
+
+</para>
+
+@cursor: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_rewind ##### -->
+<para>
+
+</para>
+
+@cursor: 
+
+
diff --git a/cruft/doc/tmpl/xbt_dict.sgml b/cruft/doc/tmpl/xbt_dict.sgml
new file mode 100644 (file)
index 0000000..d5217fc
--- /dev/null
@@ -0,0 +1,180 @@
+<!-- ##### SECTION Title ##### -->
+Dictionaries
+
+<!-- ##### SECTION Short_Description ##### -->
+Data container associating data to a string key.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_dict_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_free ##### -->
+<para>
+
+</para>
+
+@dict: 
+
+
+<!-- ##### FUNCTION xbt_dict_set ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@data: 
+@free_ctn: 
+
+
+<!-- ##### FUNCTION xbt_dict_set_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@data: 
+@free_ctn: 
+
+
+<!-- ##### FUNCTION xbt_dict_get ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_get_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_remove ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_remove_ext ##### -->
+<para>
+
+</para>
+
+@head: 
+@key: 
+@key_len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_dump ##### -->
+<para>
+
+</para>
+
+@head: 
+@output: 
+
+
+<!-- ##### FUNCTION xbt_dict_print ##### -->
+<para>
+
+</para>
+
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_prints ##### -->
+<para>
+
+</para>
+
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_get_data ##### -->
+<para>
+
+</para>
+
+@cursor: 
+@data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_get_key ##### -->
+<para>
+
+</para>
+
+@cursor: 
+@key: 
+@Returns: 
+
+
+<!-- ##### MACRO xbt_dict_foreach ##### -->
+<para>
+
+</para>
+
+@dict: 
+@cursor: 
+@key: 
+@data: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_new ##### -->
+<para>
+
+</para>
+
+@head: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_free ##### -->
+<para>
+
+</para>
+
+@cursor: 
+
+
+<!-- ##### FUNCTION xbt_dict_cursor_rewind ##### -->
+<para>
+
+</para>
+
+@cursor: 
+
+
diff --git a/cruft/doc/tmpl/xbt_dynar.sgml b/cruft/doc/tmpl/xbt_dynar.sgml
new file mode 100644 (file)
index 0000000..fb88956
--- /dev/null
@@ -0,0 +1,192 @@
+<!-- ##### SECTION Title ##### -->
+Dynamic array
+
+<!-- ##### SECTION Short_Description ##### -->
+Use arrays, forget about malloc
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+This module provide the quite usual dynamic array facility.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_dynar_new ##### -->
+<para>
+
+</para>
+
+@Param1: 
+@free_func: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dynar_free ##### -->
+<para>
+
+</para>
+
+@dynar: 
+
+
+<!-- ##### FUNCTION xbt_dynar_free_container ##### -->
+<para>
+
+</para>
+
+@dynar: 
+
+
+<!-- ##### FUNCTION xbt_dynar_length ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dynar_reset ##### -->
+<para>
+
+</para>
+
+@dynar: 
+
+
+<!-- ##### FUNCTION xbt_dynar_set ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@idx: 
+@src: 
+
+
+<!-- ##### FUNCTION xbt_dynar_replace ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@idx: 
+@object: 
+
+
+<!-- ##### FUNCTION xbt_dynar_insert_at ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@idx: 
+@src: 
+
+
+<!-- ##### FUNCTION xbt_dynar_remove_at ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@idx: 
+@object: 
+
+
+<!-- ##### FUNCTION xbt_dynar_map ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@operator: 
+
+
+<!-- ##### FUNCTION xbt_dynar_push ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@src: 
+
+
+<!-- ##### FUNCTION xbt_dynar_pop ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@dst: 
+
+
+<!-- ##### FUNCTION xbt_dynar_shift ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@dst: 
+
+
+<!-- ##### FUNCTION xbt_dynar_unshift ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@src: 
+
+
+<!-- ##### MACRO xbt_dynar_foreach ##### -->
+<para>
+
+</para>
+
+@_dynar: 
+@_cursor: 
+@_data: 
+
+
+<!-- ##### FUNCTION xbt_dynar_cursor_rm ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@cursor: 
+
+
+<!-- ##### FUNCTION xbt_dynar_cursor_first ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@cursor: 
+
+
+<!-- ##### FUNCTION xbt_dynar_cursor_get ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@cursor: 
+@whereto: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_dynar_cursor_step ##### -->
+<para>
+
+</para>
+
+@dynar: 
+@cursor: 
+
+
diff --git a/cruft/doc/tmpl/xbt_error.sgml b/cruft/doc/tmpl/xbt_error.sgml
new file mode 100644 (file)
index 0000000..8ce9735
--- /dev/null
@@ -0,0 +1,35 @@
+<!-- ##### SECTION Title ##### -->
+Errors handling
+
+<!-- ##### SECTION Short_Description ##### -->
+Error reporting
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM xbt_error_t ##### -->
+<para>
+
+</para>
+
+@no_error: 
+@mismatch_error: 
+@system_error: 
+@network_error: 
+@timeout_error: 
+@thread_error: 
+@unknown_error: 
+@remote_mismatch_error: 
+@remote_system_error: 
+@remote_network_error: 
+@remote_timeout_error: 
+@remote_thread_error: 
+@remote_unknown_error: 
+
diff --git a/cruft/doc/tmpl/xbt_heap.sgml b/cruft/doc/tmpl/xbt_heap.sgml
new file mode 100644 (file)
index 0000000..f34856d
--- /dev/null
@@ -0,0 +1,78 @@
+<!-- ##### SECTION Title ##### -->
+Heap
+
+<!-- ##### SECTION Short_Description ##### -->
+A simple heap with O(log(n)) access.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_heap_new ##### -->
+<para>
+
+</para>
+
+@num: 
+@free_func: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_heap_free ##### -->
+<para>
+
+</para>
+
+@H: 
+
+
+<!-- ##### FUNCTION xbt_heap_size ##### -->
+<para>
+
+</para>
+
+@H: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_heap_push ##### -->
+<para>
+
+</para>
+
+@H: 
+@content: 
+@key: 
+
+
+<!-- ##### FUNCTION xbt_heap_pop ##### -->
+<para>
+
+</para>
+
+@H: 
+
+
+<!-- ##### FUNCTION xbt_heap_maxkey ##### -->
+<para>
+
+</para>
+
+@H: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_heap_maxcontent ##### -->
+<para>
+
+</para>
+
+@H: 
+
+
similarity index 91%
rename from cruft/doc/tmpl/tbx_log.sgml
rename to cruft/doc/tmpl/xbt_log.sgml
index bde7ca9..09091fc 100644 (file)
@@ -5,7 +5,7 @@ Logging facilities
 An easy-to-use, fast and flexible message logging architecture.
 
 <!-- ##### SECTION Long_Description ##### -->
 An easy-to-use, fast and flexible message logging architecture.
 
 <!-- ##### SECTION Long_Description ##### -->
-<para> 
+<para>
   This is an adaptation of the log4c project, which is dead upstream, and which
   I was given the permission to fork under the LGPL licence by the authors. log4c
   itself was loosely based on the Apache project's Log4J, Log4CC,
   This is an adaptation of the log4c project, which is dead upstream, and which
   I was given the permission to fork under the LGPL licence by the authors. log4c
   itself was loosely based on the Apache project's Log4J, Log4CC,
@@ -290,6 +290,99 @@ An easy-to-use, fast and flexible message logging architecture.
 
 </para>
 
 
 </para>
 
+<!-- ##### FUNCTION xbt_log_control_set ##### -->
+<para>
+
+</para>
+
+@cs: 
+
+
+<!-- ##### MACRO XBT_LOG_NEW_CATEGORY ##### -->
+<para>
+
+</para>
+
+@catName: 
+@desc: 
+
+
+<!-- ##### MACRO XBT_LOG_NEW_SUBCATEGORY ##### -->
+<para>
+
+</para>
+
+@catName: 
+@parent: 
+@desc: 
+
+
+<!-- ##### MACRO XBT_LOG_NEW_DEFAULT_CATEGORY ##### -->
+<para>
+
+</para>
+
+@cname: 
+@desc: 
+
+
+<!-- ##### MACRO XBT_LOG_NEW_DEFAULT_SUBCATEGORY ##### -->
+<para>
+
+</para>
+
+@cname: 
+@parent: 
+@desc: 
+
+
+<!-- ##### MACRO XBT_LOG_DEFAULT_CATEGORY ##### -->
+<para>
+
+</para>
+
+@cname: 
+
+
+<!-- ##### MACRO XBT_LOG_EXTERNAL_CATEGORY ##### -->
+<para>
+
+</para>
+
+@cname: 
+
+
+<!-- ##### MACRO XBT_LOG_ISENABLED ##### -->
+<para>
+
+</para>
+
+@catName: 
+@priority: 
+
+
+<!-- ##### MACRO XBT_LOG_STATIC_THRESHOLD ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION xbt_log_appender_set ##### -->
+<para>
+
+</para>
+
+@cat: 
+@app: 
+
+
+<!-- ##### VARIABLE xbt_log_default_appender ##### -->
+<para>
+
+</para>
+
+
 <!-- ##### MACRO CDEBUG6 ##### -->
 <para>
 
 <!-- ##### MACRO CDEBUG6 ##### -->
 <para>
 
diff --git a/cruft/doc/tmpl/xbt_set.sgml b/cruft/doc/tmpl/xbt_set.sgml
new file mode 100644 (file)
index 0000000..a7737fb
--- /dev/null
@@ -0,0 +1,86 @@
+<!-- ##### SECTION Title ##### -->
+Data set based on dictionnaries
+
+<!-- ##### SECTION Short_Description ##### -->
+Data storage for very quick retrieve
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_set_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_set_free ##### -->
+<para>
+
+</para>
+
+@set: 
+
+
+<!-- ##### FUNCTION xbt_set_add ##### -->
+<para>
+
+</para>
+
+@set: 
+@elm: 
+@free_func: 
+
+
+<!-- ##### FUNCTION xbt_set_get_by_name ##### -->
+<para>
+
+</para>
+
+@set: 
+@key: 
+@dst: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_set_get_by_name_ext ##### -->
+<para>
+
+</para>
+
+@set: 
+@name: 
+@name_len: 
+@dst: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_set_get_by_id ##### -->
+<para>
+
+</para>
+
+@set: 
+@id: 
+@dst: 
+@Returns: 
+
+
+<!-- ##### MACRO xbt_set_foreach ##### -->
+<para>
+
+</para>
+
+@set: 
+@cursor: 
+@elm: 
+
+
diff --git a/cruft/doc/tmpl/xbt_swag.sgml b/cruft/doc/tmpl/xbt_swag.sgml
new file mode 100644 (file)
index 0000000..2119f6d
--- /dev/null
@@ -0,0 +1,117 @@
+<!-- ##### SECTION Title ##### -->
+Swag
+
+<!-- ##### SECTION Short_Description ##### -->
+valuable goods : a O(1) set based on linked lists
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Warning, this module is done to be efficient and performs tons of cast
+and dirty things. So avoid using it unless you really know what you
+are doing.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION xbt_swag_new ##### -->
+<para>
+
+</para>
+
+@offset: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_swag_free ##### -->
+<para>
+
+</para>
+
+@swag: 
+
+
+<!-- ##### FUNCTION xbt_swag_init ##### -->
+<para>
+
+</para>
+
+@swag: 
+@offset: 
+
+
+<!-- ##### FUNCTION xbt_swag_insert ##### -->
+<para>
+
+</para>
+
+@obj: 
+@swag: 
+
+
+<!-- ##### FUNCTION xbt_swag_remove ##### -->
+<para>
+
+</para>
+
+@obj: 
+@swag: 
+
+
+<!-- ##### FUNCTION xbt_swag_extract ##### -->
+<para>
+
+</para>
+
+@swag: 
+
+
+<!-- ##### FUNCTION xbt_swag_size ##### -->
+<para>
+
+</para>
+
+@swag: 
+@Returns: 
+
+
+<!-- ##### FUNCTION xbt_swag_belongs ##### -->
+<para>
+
+</para>
+
+@obj: 
+@swag: 
+@Returns: 
+
+
+<!-- ##### MACRO xbt_swag_foreach ##### -->
+<para>
+
+</para>
+
+@obj: 
+@swag: 
+
+
+<!-- ##### MACRO xbt_swag_foreach_safe ##### -->
+<para>
+
+</para>
+
+@obj: 
+@obj_next: 
+@swag: 
+
+
+<!-- ##### MACRO xbt_swag_offset ##### -->
+<para>
+
+</para>
+
+@var: 
+@field: 
+
+