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 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">
@@ -302,12 +306,19 @@ Write examples.
 
   <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>
 
 <!--
index 54a5829..9498b05 100644 (file)
@@ -1,30 +1,30 @@
 <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>
-<FILE>tbx_log</FILE>
+<FILE>xbt_log</FILE>
 <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
@@ -42,9 +42,9 @@ ERROR6
 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
@@ -132,121 +132,191 @@ CRITICAL1
 CRITICAL2
 CRITICAL3
 CRITICAL4
-CRITICAL5
-
+CRITICAL5    
 </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>
-<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>
-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>
-<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>
-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>
-<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>
-gras_cfgelm_type_t
-gras_cfg_get_type
+xbt_cfgelm_type_t
+xbt_cfg_get_type
 </SECTION>
 
 <SECTION>
index 8735fd3..72cda8b 100644 (file)
@@ -136,6 +136,26 @@ Describing the data
 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>
 
@@ -428,6 +448,286 @@ Overview of the GRAS library
 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>
 
@@ -587,24 +887,640 @@ SG
 nws_comm
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:Long_Description ##### -->
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Long_Description ##### -->
 <para>
 
 </para>
 
 
-<!-- ##### SECTION ./tmpl/trp_socks.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:See_Also ##### -->
 <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 ##### -->
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 ##### -->
-<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,
@@ -290,6 +290,99 @@ An easy-to-use, fast and flexible message logging architecture.
 
 </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>
 
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: 
+
+