Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanups
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 23 Jun 2005 20:26:03 +0000 (20:26 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Thu, 23 Jun 2005 20:26:03 +0000 (20:26 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@1406 48e7efb5-ca39-0410-a469-dd3cf9ba447f

35 files changed:
cruft/doc/Makefile.am [deleted file]
cruft/doc/README [deleted file]
cruft/doc/Roadmap.gnumeric [deleted file]
cruft/doc/faq.xml [deleted file]
cruft/doc/gras-docs.sgml [deleted file]
cruft/doc/gras-overrides.txt [deleted file]
cruft/doc/gras-overview.fig [deleted file]
cruft/doc/gras-sections.txt [deleted file]
cruft/doc/gtk-doc.make [deleted file]
cruft/doc/overview.xml [deleted file]
cruft/doc/tmpl/comm_datadesc.sgml [deleted file]
cruft/doc/tmpl/comm_dd_cbps.sgml [deleted file]
cruft/doc/tmpl/comm_messages.sgml [deleted file]
cruft/doc/tmpl/comm_socks.sgml [deleted file]
cruft/doc/tmpl/cruft.sgml [deleted file]
cruft/doc/tmpl/gras-overview.sgml [deleted file]
cruft/doc/tmpl/gras-unused.sgml [deleted file]
cruft/doc/tmpl/gras.sgml [deleted file]
cruft/doc/tmpl/gras_private.sgml [deleted file]
cruft/doc/tmpl/gras_rl.sgml [deleted file]
cruft/doc/tmpl/gras_sg.sgml [deleted file]
cruft/doc/tmpl/nws_comm.sgml [deleted file]
cruft/doc/tmpl/surf_maxmin.sgml [deleted file]
cruft/doc/tmpl/virtu_fs.sgml [deleted file]
cruft/doc/tmpl/virtu_globals.sgml [deleted file]
cruft/doc/tmpl/virtu_syscall.sgml [deleted file]
cruft/doc/tmpl/xbt_config.sgml [deleted file]
cruft/doc/tmpl/xbt_dico.sgml [deleted file]
cruft/doc/tmpl/xbt_dict.sgml [deleted file]
cruft/doc/tmpl/xbt_dynar.sgml [deleted file]
cruft/doc/tmpl/xbt_error.sgml [deleted file]
cruft/doc/tmpl/xbt_heap.sgml [deleted file]
cruft/doc/tmpl/xbt_log.sgml [deleted file]
cruft/doc/tmpl/xbt_set.sgml [deleted file]
cruft/doc/tmpl/xbt_swag.sgml [deleted file]

diff --git a/cruft/doc/Makefile.am b/cruft/doc/Makefile.am
deleted file mode 100644 (file)
index 4ba6ae7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE=gras
-TARGET_DIR = @htmldir@
-
-# The top-level SGML file. Change it if you want.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting functions and macros.
-DOC_SOURCE_DIR=.. 
-#/src
-
-# Extra options to pass to gtkdoc-scanobj or gtkdoc-scangobj.
-SCANOBJ_OPTIONS=
-
-# Extra options to supply to gtkdoc-scan.
-SCAN_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkdb.
-MKDB_OPTIONS=--sgml-mode --output-format=xml --ignore-files="ddt_parse.yy.c"
-
-# Extra options to supply to gtkdoc-fixref.
-FIXXREF_OPTIONS=
-
-# Used for dependencies.
-HFILE_GLOB=$(shell find $(top_srcdir)/src -name "*.h") \
-           $(shell find $(top_srcdir)/include -name "*.h")
-CFILE_GLOB=$(shell find $(top_srcdir)/src -name "*.c"|grep -v ddt_parse.yy.c)
-#CFILE_GLOB=$(top_srcdir)/src/core/*.c
-
-# Header files to ignore when scanning.
-IGNORE_HFILES=ddt_parse.yy.h
-
-# Images to copy into HTML directory.
-HTML_IMAGES =
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-content_files = overview.xml faq.xml
-
-# Other files to distribute.
-extra_files =
-
-# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
-# contains GtkObjects/GObjects and you want to document signals and properties.
-GTKDOC_CFLAGS =
-GTKDOC_LIBS =
-
-#GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
-#GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
-
-# If you need to override some of the declarations, place them in the
-# $(DOC_MODULE)-overrides.txt file and uncomment the second line here.
-DOC_OVERRIDES =
-#DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
-
-
-include gtk-doc.make
diff --git a/cruft/doc/README b/cruft/doc/README
deleted file mode 100644 (file)
index e82cb1c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-This directory contains the reference documentation
-for GRAS. For more information about it see:
-
- http://www.ens-lyon.fr/~mquinson/hacking.html
-
-
-REQUIREMENTS
-============
-
-To build the documentation, you must have the gtk-doc
-package installed. To rebuild the template files,
-you must have the current version of the GRAS
-header files installed.
-
-
-BUILD
-=====
-
-First, run configure to generate the makefiles for this
-module. There is one option specific to this package
-
-  --with-html-dir=DIR   top of installed HTML documentation tree
-
-To build and install the documentation, do:
-
- make
-
- make install
-
diff --git a/cruft/doc/Roadmap.gnumeric b/cruft/doc/Roadmap.gnumeric
deleted file mode 100644 (file)
index 23bcd71..0000000
Binary files a/cruft/doc/Roadmap.gnumeric and /dev/null differ
diff --git a/cruft/doc/faq.xml b/cruft/doc/faq.xml
deleted file mode 100644 (file)
index 2a821d4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<refentry id="gras-faq">
-<refmeta>
-<refentrytitle>GRAS frequently asked questions</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>GRAS Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>FAQ</refname><refpurpose>FAQ on the GRAS library</refpurpose>
-</refnamediv>
-
-<refsect1>
-<title>Introduction</title>
-<para>This document contains random bits about the most beloved traps of
-GRAS users, and (hopefully) a way to escape them..</para> 
-
-<refsect2>
-<title>My code segfault in the communication process</title>
-
-<para>Remember that GRAS expect the passed variable to match exactly the
-passed type description. The most often issue is that you pass a structure
-description, and you pass the address of a pointer to such a structure. If
-you want to handle pointer to structures (as most of us do), please use
-gras_datadesc_declare_ref() to construct the correct type description.
-</para>
-</refsect2>
-
-<!-- Well, there is no offset, in fact. Isn't that great?
-<refsect2>
-<title>I use GRAS logging facility, and it warns me about non matching
-format argument, but it does not refere to the right argument number.</title>
-
-<para>Most probably, you are using one of the DEBUG, VERB, INFO, WARN or
-ERROR macro to do so. They rewrite themselves into their CDEBUG, CVERB, ...
-with the channel into which the logging must be done as first argument. The
-apparent offset comes from here<footnote><para>Well in fact, that's not exactly
-true since CDEBUG and friends are also macro rewritting themselves to macros
-(CLOG), which rewrite themselves to the actual code. But this vision of the
-reality match this fact, and is far easier to understand. This whole point
-may disappear in the future as the macro familly gets rewritten to avoid
-this pain. But it promises to be not trivial to achieve...</para></footnote>.</para>
-
-</refsect2>
--->
-
-</refsect1>
-
-</refentry>
diff --git a/cruft/doc/gras-docs.sgml b/cruft/doc/gras-docs.sgml
deleted file mode 100644 (file)
index 6d1c556..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-
-<!ENTITY comm-socks SYSTEM "xml/comm_socks.xml">
-<!ENTITY comm-datadesc SYSTEM "xml/comm_datadesc.xml">
-<!ENTITY comm-messages SYSTEM "xml/comm_messages.xml">
-
-<!ENTITY virtu-globals SYSTEM "xml/virtu_globals.xml">
-<!ENTITY virtu-syscall SYSTEM "xml/virtu_syscall.xml">
-<!ENTITY virtu-fs      SYSTEM "xml/virtu_fs.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-rl SYSTEM "xml/gras_rl.xml">
-<!ENTITY gras-gras-sg SYSTEM "xml/gras_sg.xml">
-
-<!ENTITY overview SYSTEM "overview.xml">
-<!ENTITY faq SYSTEM "faq.xml">
-]>
-<book id="index">
-  <bookinfo>
-    <title>Grid Reality And Simulation Reference Manual</title>
-  </bookinfo>
-
-  <chapter>
-    <title>GRAS overview</title>
-    &overview;
-    &faq;
-  </chapter>
-
-  <chapter>
-   <title>Communication facilities</title>
-    &comm-datadesc;
-    &comm-socks;
-    &comm-messages;
-  </chapter>
-  
-  <chapter>
-   <title>Virtualization</title>
-    &virtu-globals;
-    &virtu-syscall;
-<!--    &virtu-fs;-->
-  </chapter>
-
-<!--
-=head2 Sending (or receiving) dynamic sized arrays
-
-To overcome the impossibility to send structure having dynamic-sized array,
-it is possible to send several times the same structures, the number of time
-being given in the header. The idea here is to say that we want to send a
-C<STORE_STATE> message containing not one C<struct state> to store, but for
-example three different C<state>s. We will come back on this in the next
-sections.
-
-=head1 Describing hosts
-
-Before any GRAS communication, you have to do some initialization work. For
-that, use the GRAS_EstablishHost() function. 
-
- GRAS_EstablishHost(char **addresses,
-                    unsigned int addressesCount,
-                    unsigned short port,
-                    void (*initFunction)(void),
-                    int (*exitFunction)(void),
-                    unsigned int serveEvery,
-                    GRAS_host_t *hostdescriptor);
-
-It takes as argument the name (or IP) of the host on which you want to
-establish this host (in RL, you may want to pass a list of all IP addresses
-served by this host), the port on which it will listen by default, the init
-and exit functions, how often (in millisecond) it will try to handle the
-incoming requests and returns a descriptor to the newly created host
-descriptor.
-
-The init function is supposed to return to a userdata, which will be passed
-to all functions, and which should contain the I<state> of your server, if
-it's not state-less.
-
-=head1 Preparing to accept incomming messages
-
-To be able to accept any incomming messages, you have first to open a socket
-in listening mode. For that, simply use the GRAS_IncomingSocket(). In RL,
-GRAS try to bind() to the socket, and then accept(). In SG, it tries to lock
-the given channel. Here is the prototype of this function.
-
- int
- GRAS_IncomingSocket(unsigned short startingPort,
-                     unsigned short endingPort,
-                     GRAS_Socket_t *sd,
-                     unsigned short *socketPort);
-                     
-It tries to open an incoming socket on a port between C<startingPort> and
-C<endingPort>, returns the created C<socket> and the C<socketPort> on which we
-managed to create this socket. The return value of the function is true if we
-managed to create it, and false if not.
-
-=head1 Sending messages
-
-Sending data is pretty simple. First, you have to create a outgoing socket,
-and then use it as argument to the GRAS_SendMessage*() function.
-
-GRAS_OutgoingSocket() can be used to build a new outgoing socket.
-Alternatively, you can pass a reference to a Socket you know using
-C<socketDescriptor> and C<socketDescriptorLength> in messages.
-
-In fact, an outgoing socket is nothing more than an address to remote socket
-openned in listing mode.
-
- int 
- GRAS_OutgoingSocket(char *host, 
-                     unsigned short port,
-                     GRAS_Socket_t *sd);
-
-Once you have a reference to the peer with which you want to communicate,
-sending messages is as easy as using the GRAS_SendMessage() function.
-
- int
- GRAS_SendMessage(GRAS_Socket_t *sd,
-                  double timeOut,
-                  MessageType message,
-                  int sequence_count ,
-                  ...);
-
-
-C<GRAS_SendMessage> allows you to send a message with several sequence of
-structures as payload. For each sequence, you have to pass three extra
-arguments to the function. The prototype of those arguments would be:
-
-                  size_t howMany,
-                  const DataDescriptor *description,
-                  const void *data
-
-This allows you to specify that the given sequence is a C<howMany>-long
-array of structure described by C<description>, and stored at the memory
-location pointed by C<data>.
-
-This function is blocking until the message is actually sent, and you must
-free the data when you're done with it.
-
-=head1 Receiving messages
-
-GRAS_IncomingSocket() prepared the host to receive messages, but did not
-explain how to handle incoming messages. There is 3 kinds of handling to
-incoming messages :
-
-=over
-
-=item default callback
-
-you can register default callbacks to well known messages which will always
-be handled the same way. This is for example used in the NWS memory server
-to handle C<STORE_STATE> messages by actually writing the state on disk. For
-that, use the function GRAS_RegisterListener() to register the function
-C<listener> as listener to message type C<message> (which name to use in
-debugging messages is C<name>).
-
- typedef void (*GRAS_ListenerFunction)(GRAS_Socket_t *from,
-                                       void *userdata,
-                                       int sequence_count,
-                                       va_args va);
-
- void
- GRAS_RegisterListener (int message,const char *name,
-                        GRAS_ListenFunction listener);
-
-The C<va> argument passed to the listener function is the pending of the
-extra args passed to the GRAS_SendMessage function. That is to say that it
-will contain C<sequence_count> sequence of data, each of them being
-described by three arguments:
-
-                  size_t howMany,
-                  const DataDescriptor *description,
-                  const void *data
-
-The data are allocated by GRAS for you when the message incomes, but must be
-freed by you after use in the listener function.
-
-=item Actually waiting for data
-
-You can also ask to receive the next message of a given type. For example,
-the sensor sending data to the memory using the C<STORE_STATE> message will
-wait for an answer of the memory (which will use a C<STORED_STATE> to
-indicate if the operation was successfull or not). For that, use the 
-GRAS_RecvMessage() function. If the next message to be received is not of
-the waited type, this message is queued until we get the message we expect,
-and handled afterward.
-
- int
- GRAS_RecvMessage(GRAS_Socket_t *sd,
-                  double timeOut,
-                  MessageType message,
-                  int *sequence_count,
-                  ...);
-                  
-Like always, sequence count is set to the number of sequences in the
-message's payload, and the extra arguments should describe each sequence.
-Their prototype will be:
-
-                  size_t *howMany,
-                  const DataDescriptor **description,
-                  const void **data
-
-Note that there is a level of indirection more than in previous functions,
-since their values will be set by the GRAS_RecvMessage() function.
-
-The C<data> fields are allocated by the GRAS_RecvMessage, and must be freed
-by user after use.
-
-=item one-way callback
-
-As you can see, calling GRAS_RecvMessage() is blocking for that host in that
-sense that no other messages can be server until the expected message is
-received. To avoid that problem, it is possible to declare I<one-way
-callback>. As GRAS_RecvMessage(), this is to be used when you wait for the
-answer of a peer, but when you don't want to block on this. The handling of
-the message (or of the associated timeout) have to be moved to another
-function, which will be passed as callback to the expected message. This
-allows GRAS to handle other incoming messages before the answer to the
-request comes and improve the reactivity of code. Sadly, this makes the code
-quite difficult to read and maintain...
-
- void
- GRAS_RegisterOneWayListener (int message,const char *name,
-                              GRAS_ListenerFunction listener);
-
-If you do several calls to this function for the same message, callbacks are
-stacked, and their use will pop this stack. It is possible to use this
-function to interceipt messages having a default callback.
-
-=back
-
-=head1 Handling computation
-
-SG is a simulator, and you when you simulate a computationnal server, you
-don't want to see him actually doing the computation, rather, you want to
-see this work I<simulated>.
-
-For that, use the GRAS_computation() macro. If running in RL, the provided
-code will actually be done, and if running SG, a task of the provided
-C<size> will be scheduled on the host (and the computation done will be the
-one passed in the else branch).
-
- GRAS_computation_if_RL(size) {
-   code to execute when running in RL;
- } else {
-   code to execute when running in SG;
- }
-If running RL, this macro will be rewritten to
-
-  if (1)
-  
-and if running SG, this macro will be rewritten to 
-
-  if (<code to simulate the task>, 0) 
-
-=head1 Conclusion
-
-We belive that the sort of raw RPC we presented here permits to run the same
-code both in RL and SG because GRAS will do the unpleasant job of moving
-data from one namespace to another if needed, sending it over the network if
-needed. 
-
-GRAS Agents never really define the main function. The main function you
-write in your code does only call to GRAS_EstablishHost(), which is in
-charge of initializing the GRAS mecanism on the right hosts.
-
-=head1 TODO
-
-=over 
-
-=item
-
-Make sure this proposal is more or less flawless. That's a RFC ;)
-
-We could go one step further on the main() problem, by using the SG scenario
-files, and a way to actuate it in RL. 
-
-=item
-
-Implement this. 
-
-In RL, it should pretty straightforward, since GRAS functions are more or
-less wrappers to the NWS communication library. 
-
-In SG, it shouldn't be that difficult either ;)
-
-=item
-
-Write examples.
-  </chapter>
--->
-
-  <chapter>
-   <title>GRAS toolbox</title>
-   &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>
-    <title>GRAS implementation</title>
-    &gras-gras-private;
-    &gras-gras-rl;
-    &gras-gras-sg;
-  </chapter>
--->
-</book>
diff --git a/cruft/doc/gras-overrides.txt b/cruft/doc/gras-overrides.txt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/cruft/doc/gras-overview.fig b/cruft/doc/gras-overview.fig
deleted file mode 100644 (file)
index 8f3ac8b..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Metric
-A4      
-100.00
-Single
--2
-1200 2
-6 8797 2835 9877 3150
-4 1 0 40 -1 2 13 0.0000 6 135 1005 9336 2970 Conditional\001
-4 1 0 40 -1 2 13 0.0000 6 135 810 9336 3150 execution\001
--6
-6 7605 3465 8370 3690
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        7620 3465 8340 3465 8340 3690 7620 3690 7620 3465
-4 1 0 40 -1 0 12 0.0000 6 120 75 7979 3645 ?\001
--6
-6 8640 3330 10035 3555
-6 9360 3330 10035 3555
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        9360 3330 10035 3330 10035 3555 9360 3555 9360 3330
-4 1 0 40 -1 0 12 0.0000 6 120 465 9720 3502 Simul.\001
--6
-6 8640 3330 9315 3555
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        8640 3330 9315 3330 9315 3555 8640 3555 8640 3330
-4 1 0 40 -1 0 12 0.0000 6 165 495 8977 3502 Reality\001
--6
--6
-6 3510 4365 4320 4635
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        3510 4365 4320 4365 4320 4635 3510 4635 3510 4365
-4 1 0 40 -1 0 12 0.0000 6 165 360 3915 4545 Logs\001
--6
-6 9135 4230 9945 4770
-6 9135 4230 9945 4500
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        9135 4230 9945 4230 9945 4500 9135 4500 9135 4230
-4 1 0 40 -1 0 12 0.0000 6 120 600 9540 4410 Forecast\001
--6
-6 9135 4500 9945 4770
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        9135 4500 9945 4500 9945 4770 9135 4770 9135 4500
-4 1 0 40 -1 0 12 0.0000 6 120 495 9540 4680 RRDB\001
--6
--6
-6 4455 4365 5265 4635
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        4455 4365 5265 4365 5265 4635 4455 4635 4455 4365
-4 1 0 40 -1 0 12 0.0000 6 120 450 4860 4545 Errors\001
--6
-6 5400 4365 6210 4635
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        5400 4365 6210 4365 6210 4635 5400 4635 5400 4365
-4 1 0 40 -1 0 12 0.0000 6 165 540 5805 4545 Config.\001
--6
-6 6345 4365 7155 4635
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        6345 4365 7155 4365 7155 4635 6345 4635 6345 4365
-4 1 0 40 -1 0 12 0.0000 6 120 420 6750 4545 Dicos\001
--6
-6 7290 4365 8100 4635
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        7290 4365 8100 4365 8100 4635 7290 4635 7290 4365
-4 1 0 40 -1 0 12 0.0000 6 165 495 7695 4545 Arrays\001
--6
-6 8235 4365 9045 4635
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        8235 4365 9045 4365 9045 4635 8235 4635 8235 4365
-4 1 0 40 -1 0 12 0.0000 6 120 480 8640 4545 Hooks\001
--6
-6 6240 3465 6390 3497
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6315 3481 9 9 6315 3481 6324 3481
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6256 3481 9 9 6256 3481 6265 3481
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 6374 3481 9 9 6374 3481 6383 3481
--6
-6 5400 3330 6030 3600
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        5418 3330 6011 3330 6011 3600 5418 3600 5418 3330
-4 1 0 40 -1 0 12 0.0000 6 120 405 5714 3527 XML\001
--6
-6 3465 3015 6660 3285
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        3465 3015 6660 3015 6660 3285 3465 3285 3465 3015
-4 1 0 40 -1 0 12 0.0000 6 165 1485 5062 3207 Message dispatching\001
--6
-6 5445 3645 6660 3915
-6 5445 3645 6255 3870
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        5453 3645 6232 3645 6232 3870 5453 3870 5453 3645
-4 1 0 40 -1 0 12 0.0000 6 120 615 5842 3817 SimGrid\001
--6
-6 6255 3645 6660 3915
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        6284 3647 6644 3647 6644 3872 6284 3872 6284 3647
-4 1 0 40 -1 0 12 0.0000 6 120 270 6464 3819 File\001
--6
--6
-6 5220 3735 5370 3767
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 5295 3751 9 9 5295 3751 5304 3751
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 5236 3751 9 9 5236 3751 5245 3751
-1 3 0 1 0 0 50 -1 20 0.000 1 0.0000 5354 3751 9 9 5354 3751 5363 3751
--6
-6 4050 3600 4590 3870
-6 4050 3600 4590 3870
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        4079 3641 4550 3641 4550 3866 4079 3866 4079 3641
--6
-4 1 0 40 -1 0 12 0.0000 6 120 375 4314 3813 UDP\001
--6
-6 4635 3600 5175 3870
-6 4635 3600 5175 3870
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        4664 3641 5135 3641 5135 3866 4664 3866 4664 3641
--6
-4 1 0 40 -1 0 12 0.0000 6 120 345 4899 3813 SSH\001
--6
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        10125 1800 10125 1215 3375 1215 3375 1800 10125 1800
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-        3060 2025 3060 4815
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
-        3060 1800 3060 1215
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        10125 2655 10125 2070 3375 2070 3375 2655 10125 2655
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        8550 2250 9855 2250 9855 2520 8550 2520 8550 2250
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        4815 2250 6075 2250 6075 2520 4815 2520 4815 2250
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        6232 2250 6772 2250 6772 2520 6232 2520 6232 2250
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        6930 2250 8415 2250 8415 2520 6930 2520 6930 2250
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        8550 1395 9360 1395 9360 1665 8550 1665 8550 1395
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        7425 1395 8235 1395 8235 1665 7425 1665 7425 1395
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        6300 1395 7110 1395 7110 1665 6300 1665 6300 1395
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        5175 1395 5985 1395 5985 1665 5175 1665 5175 1395
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        4050 1395 4860 1395 4860 1665 4050 1665 4050 1395
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        3645 2250 4680 2250 4680 2520 3645 2520 3645 2250
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        10125 4860 10125 4140 3375 4140 3375 4860 10125 4860
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        8460 3780 8460 2790 6840 2790 6840 3780 8460 3780
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        10125 3780 10125 2790 8505 2790 8505 3780 10125 3780
-2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        6750 3960 6750 2790 3375 2790 3375 3960 6750 3960
-2 2 0 1 0 7 50 -1 17 0.000 0 0 -1 0 0 5
-        3465 3641 3936 3641 3936 3866 3465 3866 3465 3641
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
-        3465 3330 5265 3330 5265 3600 3465 3600 3465 3330
-2 2 0 1 0 7 40 -1 -1 0.000 0 0 7 0 0 5
-        6946 3195 7540 3195 7540 3420 6946 3420 6946 3195
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
-        7620 3195 8340 3195 8340 3420 7620 3420 7620 3195
-2 2 0 1 0 7 40 -1 -1 0.000 0 0 7 0 0 5
-        6946 3465 7540 3465 7540 3690 6946 3690 6946 3465
-4 1 0 40 -1 2 13 0.0000 6 135 1440 4522 2970 Communications\001
-4 1 0 40 -1 2 13 1.5708 6 135 525 2970 3330 GRAS\001
-4 1 0 40 -1 2 13 1.5708 6 135 615 2970 1530 AMOK\001
-4 1 0 40 -1 2 13 1.5708 6 135 405 3285 3375 Base\001
-4 1 0 40 -1 2 13 1.5708 6 135 720 3285 2385 Modules\001
-4 1 0 40 -1 0 12 0.0000 6 165 1275 7694 2445 Host management\001
-4 1 0 40 -1 0 12 0.0000 6 120 435 6501 2445 Locks\001
-4 1 0 40 -1 0 12 0.0000 6 120 1065 5444 2445 Leader election\001
-4 1 0 40 -1 0 12 0.0000 6 165 900 4162 2445 Logs control\001
-4 1 0 40 -1 0 12 0.0000 6 120 1065 9202 2445 Bandwidth test\001
-4 1 0 40 -1 0 12 0.0000 6 120 615 8954 1590 ALNeM\001
-4 1 0 40 -1 0 12 0.0000 6 120 450 7830 1590 APST\001
-4 1 0 40 -1 0 12 0.0000 6 120 300 6705 1590 GIS\001
-4 1 0 40 -1 0 12 0.0000 6 120 300 5580 1590 PKI\001
-4 1 0 40 -1 0 12 0.0000 6 120 405 4454 1590 NWS\001
-4 1 0 40 -1 2 13 0.0000 6 180 675 7649 2970 Syscalls\001
-4 1 0 40 -1 2 13 0.0000 6 135 1170 7650 3150 virtualization\001
-4 1 0 40 -1 0 12 0.0000 6 120 420 7230 3367 Linux\001
-4 1 0 40 -1 0 12 0.0000 6 120 615 7979 3367 SimGrid\001
-4 1 0 40 -1 0 12 0.0000 6 120 495 7242 3637 Solaris\001
-4 1 0 40 -1 2 13 1.5708 6 135 420 3285 4500 Core\001
-4 1 0 40 -1 0 12 0.0000 6 120 330 3729 3813 TCP\001
-4 1 0 40 -1 0 12 0.0000 6 165 1575 4365 3527 Binary Representation\001
diff --git a/cruft/doc/gras-sections.txt b/cruft/doc/gras-sections.txt
deleted file mode 100644 (file)
index 9498b05..0000000
+++ /dev/null
@@ -1,444 +0,0 @@
-<SECTION>
-<FILE>xbt_error</FILE>
-<TITLE>errors</TITLE>
-xbt_error_t
-xbt_error_name
-</SECTION>
-
-<SECTION>
-<FILE>xbt_log</FILE>
-<TITLE>logging</TITLE>
-xbt_log_priority_t
-
-xbt_log_control_set
-
-XBT_LOG_NEW_CATEGORY
-XBT_LOG_NEW_SUBCATEGORY
-XBT_LOG_NEW_DEFAULT_CATEGORY
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY
-
-XBT_LOG_DEFAULT_CATEGORY
-XBT_LOG_EXTERNAL_CATEGORY
-
-XBT_LOG_ISENABLED
-XBT_LOG_STATIC_THRESHOLD
-
-xbt_log_appender_set
-xbt_log_default_appender
-
-CDEBUG6
-CVERB6
-CINFO6
-CWARN6
-CERROR6
-CCRITICAL6
-
-
-DEBUG6
-VERB6
-INFO6
-WARN6
-ERROR6
-CRITICAL6
-
-<SUBSECTION Standard>
-XBT_LOG_ROOT_CAT
-xbt_log_parent_set
-xbt_log_threshold_set
-
-CLOG0
-CLOG1
-CLOG2
-CLOG3
-CLOG4
-CLOG5
-CLOG6
-CDEBUG0
-CDEBUG1
-CDEBUG2
-CDEBUG3
-CDEBUG4
-CDEBUG5
-CVERB0
-CVERB1
-CVERB2
-CVERB3
-CVERB4
-CVERB5
-CINFO0
-CINFO1
-CINFO2
-CINFO3
-CINFO4
-CINFO5
-CWARN0
-CWARN1
-CWARN2
-CWARN3
-CWARN4
-CWARN5
-CERROR0
-CERROR1
-CERROR2
-CERROR3
-CERROR4
-CERROR5
-CCRITICAL0
-CCRITICAL1
-CCRITICAL2
-CCRITICAL3
-CCRITICAL4
-CCRITICAL5
-
-LOG0
-LOG1
-LOG2
-LOG3
-LOG4
-LOG5
-LOG6
-DEBUG0
-DEBUG1
-DEBUG2
-DEBUG3
-DEBUG4
-DEBUG5
-VERB0
-VERB1
-VERB2
-VERB3
-VERB4
-VERB5
-INFO0
-INFO1
-INFO2
-INFO3
-INFO4
-INFO5
-WARN0
-WARN1
-WARN2
-WARN3
-WARN4
-WARN5
-ERROR0
-ERROR1
-ERROR2
-ERROR3
-ERROR4
-ERROR5
-CRITICAL0
-CRITICAL1
-CRITICAL2
-CRITICAL3
-CRITICAL4
-CRITICAL5    
-</SECTION>
-
-<SECTION>
-<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>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>
-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>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
-
-xbt_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>
-xbt_swag_getFirst
-xbt_swag_getNext
-xbt_swag_getPrev
-</SECTION>
-
-<SECTION>
-<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>
-xbt_cfgelm_type_t
-xbt_cfg_get_type
-</SECTION>
-
-<SECTION>
-<FILE>comm_datadesc</FILE>
-<TITLE>Data description</TITLE>
-gras_datadesc_type_t
-
-gras_datadesc_type_cb_int_t
-gras_datadesc_type_cb_void_t
-
-gras_datadesc_by_name
-GRAS_DEFINE_TYPE
-gras_datadesc_by_symbol
-
-gras_datadesc_array_fixed
-gras_datadesc_array_dyn
-gras_datadesc_ref
-gras_datadesc_ref_generic
-gras_datadesc_struct
-gras_datadesc_struct_append
-gras_datadesc_struct_close
-gras_datadesc_union
-gras_datadesc_union_append
-gras_datadesc_union_close
-gras_datadesc_ref_pop_arr
-
-gras_datadesc_cb_send
-gras_datadesc_cb_recv
-
-gras_cbps_i_pop
-gras_cbps_i_push
-
-gras_cbps_v_pop
-gras_cbps_v_push
-gras_cbps_v_set
-gras_cbps_v_get
-gras_cbps_block_begin
-gras_cbps_block_end
-
-gras_arch_selfid
-</SECTION>
-
-<SECTION>
-<FILE>comm_socks</FILE>
-<TITLE>Sockets</TITLE>
-gras_socket_client
-gras_socket_server
-gras_socket_client_ext
-gras_socket_server_ext
-gras_socket_client_from_file
-gras_socket_server_from_file
-gras_socket_close
-gras_socket_peer_name
-gras_socket_peer_port
-gras_socket_my_port
-</SECTION>
-
-<SECTION>
-<FILE>comm_messages</FILE>
-<TITLE>Messages</TITLE>
-gras_msgtype_declare
-gras_msgtype_declare_v
-gras_msgtype_by_name
-gras_msgtype_by_namev
-
-gras_cb_t
-gras_cb_register
-gras_cb_unregister
-
-gras_msg_send
-gras_msg_wait
-gras_msg_handle
-
-<SUBSECTION Standard>
-gras_msg_recv
-gras_msg_init
-gras_msg_exit
-</SECTION>
-
-<SECTION>
-<FILE>virtu_globals</FILE>
-<TITLE>Globals</TITLE>
-gras_userdata_get
-gras_userdata_set
-gras_userdata_new
-</SECTION>
-
-<SECTION>
-<FILE>virtu_syscall</FILE>
-<TITLE>System calls abstraction layer</TITLE>
-gras_os_time
-gras_os_sleep
-</SECTION>
-
-<SECTION>
-<FILE>virtu_fs</FILE>
-<TITLE>File system</TITLE>
-gras_fs_fopen
-</SECTION>
-
-<SECTION>
-<FILE>cruft</FILE>
-<TITLE>Cruft to ignore in the documentation</TITLE>
-<SUBSECTION Standard>
-BEGIN_DECL
-END_DECL
-PACKAGE
-PACKAGE_BUGREPORT
-PACKAGE_NAME
-PACKAGE_STRING
-PACKAGE_TARNAME
-PACKAGE_VERSION
-VERSION
-HAVE_UNISTD_H
-HAVE_STDLIB_H
-HAVE_DLFCN_H
-HAVE_STDINT_H
-HAVE_STRING_H
-HAVE_STRINGS_H
-HAVE_MEMORY_H
-HAVE_SYS_STAT_H
-HAVE_INTTYPES_H
-HAVE_SYS_TYPES_H
-STDC_HEADERS
-</SECTION>
diff --git a/cruft/doc/gtk-doc.make b/cruft/doc/gtk-doc.make
deleted file mode 100644 (file)
index 59c115b..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-# -*- mode: makefile -*-
-
-####################################
-# Everything below here is generic #
-####################################
-htmldir = $(shell if test "x$(TARGET_DIR)" = x ; then echo @htmldir@/$(DOC_MODULE) ; else echo $(TARGET_DIR) ; fi)
-html_DATA = $(wildcard html/*)
-
-if GTK_DOC_USE_LIBTOOL
-GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
-else
-GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
-GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
-endif
-
-# We set GPATH here; this gives us semantics for GNU make
-# which are more like other make's VPATH, when it comes to
-# whether a source that is a target of one rule is then
-# searched for in VPATH/GPATH.
-#
-GPATH = $(srcdir)
-
-EXTRA_DIST = $(wildcard                        \
-       $(content_files)                \
-       $(HTML_IMAGES)                  \
-       $(DOC_MAIN_SGML_FILE)           \
-       $(DOC_MODULE).types             \
-       $(DOC_MODULE)-sections.txt      \
-       $(DOC_MODULE)-overrides.txt     )
-
-DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
-          $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
-
-SCANOBJ_FILES =                 \
-       $(DOC_MODULE).args       \
-       $(DOC_MODULE).hierarchy  \
-       $(DOC_MODULE).interfaces \
-       $(DOC_MODULE).prerequisites \
-       $(DOC_MODULE).signals
-
-CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
-
-if ENABLE_GTK_DOC
-all-local: html-build.stamp
-
-#### scan ####
-
-scan-build.stamp: $(HFILE_GLOB)
-       @echo '*** Scanning header files ***'
-       @-chmod -R u+w $(srcdir)
-       if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
-           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
-       else \
-           cd $(srcdir) ; \
-           for i in $(SCANOBJ_FILES) ; do \
-               test -f $$i || touch $$i ; \
-           done \
-       fi
-       cd $(srcdir) && \
-         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
-       touch scan-build.stamp
-
-$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
-       @true
-
-#### templates ####
-
-tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-       @echo '*** Rebuilding template files ***'
-       @-chmod -R u+w $(srcdir)
-       cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
-       touch tmpl-build.stamp
-
-tmpl.stamp: tmpl-build.stamp
-       @true
-
-#### xml ####
-
-sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
-       @echo '*** Building XML ***'
-       @-chmod -R u+w $(srcdir)
-       cd $(srcdir) && \
-       gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
-       touch sgml-build.stamp
-
-sgml.stamp: sgml-build.stamp
-       @true
-
-#### html ####
-
-html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
-       @echo '*** Building HTML ***'
-       @-chmod -R u+w $(srcdir)
-       rm -rf $(srcdir)/html 
-       mkdir $(srcdir)/html
-       cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-       test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
-       @echo '-- Fixing Crossreferences' 
-       cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
-       touch html-build.stamp
-else
-all-local:
-endif
-
-##############
-
-clean-local:
-       rm -f *~ *.bak
-       rm -rf .libs
-
-maintainer-clean-local: clean
-       cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
-
-#
-# Require gtk-doc when making dist
-#
-if ENABLE_GTK_DOC
-dist-check-gtkdoc:
-else
-dist-check-gtkdoc:
-       @echo "*** gtk-doc must be installed and enabled in order to make dist"
-       @false
-endif
-       
-dist-hook: dist-check-gtkdoc dist-hook-local
-       mkdir $(distdir)/tmpl
-       mkdir $(distdir)/xml
-       mkdir $(distdir)/html
-       -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
-       -cp $(srcdir)/xml/*.xml $(distdir)/xml
-       -cp $(srcdir)/html/* $(distdir)/html
-
-.PHONY : dist-hook-local
diff --git a/cruft/doc/overview.xml b/cruft/doc/overview.xml
deleted file mode 100644 (file)
index 2f757b3..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-<refentry id="gras-overview">
-<refmeta>
-<refentrytitle>Overview</refentrytitle>
-<manvolnum>3</manvolnum>
-<refmiscinfo>GRAS Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>Overview</refname><refpurpose>Overview on the GRAS library</refpurpose>
-</refnamediv>
-
-<refsect1>
-<title>Introduction</title>
-<para>This document introduce the GRAS library (<emphasis>Grid Reality And
- Simulation</emphasis>, or according to my english dictionary,
- <emphasis>Generally Recognized As Safe</emphasis> ;).</para> 
-
-<para>Here are the problems when you want to do so:
-  <itemizedlist>
-    <listitem>
-      <para>Communication in SG is done by passing tasks, while in
-       RL, you have to deal with sockets (or any wrapper to it).</para>
-    </listitem>
-    <listitem><para>In RL, each process should provide a main()
-     function, and it's obviously not the case in SG.</para>
-    </listitem>
- </itemizedlist>
-</para>
-</refsect1>
-
-<refsect1>
-  <title>Application class target</title>
-  <para>If you want to run your code both in RL and in SG, you won't be
-  able to use the full set of features offered by any of those two
-  worlds. GRAS tries to provide a suffisent set of features to develop
-  your application, and implement them in both worlds.</para>
-
-  <para>GRAS uses the paradigm of <emphasis>event-driven 
-  programming</emphasis>, which is an extension to the message-passing
-  one. Any process of a typical event-driven application declares
-  callback to incoming events, which can be messages from other
-  processes, timers or others.</para>
-
-  <para>All messages have an header, specifying its type, and attached
-  data, represented as one or several C structures. In order to send the
-  data over the network in RL, a type-description mecanism is provided, and
-  the RL version of GRAS implements XDR functionnalities. That is to say
-  that the data are converted to a intermediate representation before being
-  sent. A possible extension would be to use CDR, where data are sent in
-  the native format of the sender host, and converted on the destination
-  host only if needed, but this is still to do.</para>
-
-  <para>In order to not reimplement the wheel, GRAS use existing code, and
-  adapt them to make them work together. The SG version naturally use the
-  SimGrid toolkit, while the RL version is based over the communication
-  library used in NWS<footnote><para>Only the actual sending/receiving
-  features and formattypes features were taken from NWS. GRAS messaging
-  stuff is quite different from the NWS one, which was not easily adaptable
-  in SG as is.</para></footnote>. That's why we will now present the NWS
-  project in order to give you a better understanding of its internals used
-  here.</para>
-</refsect1>
-
-<refsect1>
-  <title>The Network Weather Service and its "portability" library</title>
-
-  <para>The purpose of the NWS project is to provide any kind of usefull
-  information about the availability of a Grid platform. like the CPU load,
-  free memory and disk of all hosts, the bandwidth and latency between each
-  host pair, and so on. It is also able to predict the future trend of each
-  value by applying some statistical treatement to the measurements.</para>
-
-  <para>In order to achieve this goal, the NWS system is composed of four
-  kind of processes:
-  <itemizedlist>
-   <listitem><para>Sensors: those process are in charge or realizing the
-   actual measurement needed by the system.</para></listitem>
-
-   <listitem><para>Memory servers: they store on disk the result of the experiments
-   conducted by the sensors for a later use.</para></listitem>
-
-   <listitem><para>Forecasters: when a client application asks to, the
-   forecasters retrieves the measurements from the memory servers, apply
-   the needed statistical treatement, and then inform the client of the
-   predicted variations.</para></listitem>
-
-   <listitem><para>NameServer: Every process in the NWS system have to
-   register itself to the nameserver, so that any process looks for another
-   element, it can find the answer by asking to the nameserver.</para></listitem>
-  </itemizedlist></para>
-
-  <para>As you can see, this system is distributed by nature, and its
-  authors builded a specific toolbox they call the portability library. It
-  contains a great quantity of cool stuff to do various kind of things. The
-  main part is a very high level messaging library, where processes declare
-  callbacks to strongly typed messages sent from other processes.</para>
-
-  <para>One of the limitation of this system is that even if processes can
-  ear to several sockets, all messages received from the different sources
-  are mixed together and handled by the same control loop. GRAS inherit
-  this limitation, but in fact, we don't think that it's really limitating,
-  thanks to the fact that messages are strongly typed.</para>
-
-  <para>The philosophy of this library constitues the heart of GRAS, which
-  actually provide the same kind of features.</para>
-
-</refsect1>
-
-</refentry>
diff --git a/cruft/doc/tmpl/comm_datadesc.sgml b/cruft/doc/tmpl/comm_datadesc.sgml
deleted file mode 100644 (file)
index 23ccc3a..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Data description
-
-<!-- ##### SECTION Short_Description ##### -->
-Describing data to be exchanged
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### USER_FUNCTION gras_datadesc_type_cb_int_t ##### -->
-<para>
-
-</para>
-
-@vars: 
-@data: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@p_type: 
-
-
-<!-- ##### USER_FUNCTION gras_datadesc_type_cb_void_t ##### -->
-<para>
-
-</para>
-
-@vars: 
-@data: 
-<!-- # Unused Parameters # -->
-@p_type: 
-
-
-<!-- ##### FUNCTION gras_datadesc_by_name ##### -->
-<para>
-
-</para>
-
-@name: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@type: 
-
-
-<!-- ##### MACRO GRAS_DEFINE_TYPE ##### -->
-<para>
-
-</para>
-
-@name: 
-@def: 
-
-
-<!-- ##### MACRO gras_datadesc_by_symbol ##### -->
-<para>
-
-</para>
-
-@name: 
-
-
-<!-- ##### FUNCTION gras_datadesc_array_fixed ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@fixed_size: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_array_dyn ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@dynamic_size: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_ref ##### -->
-<para>
-
-</para>
-
-@name: 
-@referenced_type: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_ref_generic ##### -->
-<para>
-
-</para>
-
-@name: 
-@selector: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-@discriminant: 
-
-
-<!-- ##### FUNCTION gras_datadesc_struct ##### -->
-<para>
-
-</para>
-
-@name: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-@name: 
-@field_type: 
-<!-- # Unused Parameters # -->
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_datadesc_struct_close ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-
-
-<!-- ##### FUNCTION gras_datadesc_union ##### -->
-<para>
-
-</para>
-
-@name: 
-@selector: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_union_append ##### -->
-<para>
-
-</para>
-
-@union_type: 
-@name: 
-@field_type: 
-<!-- # Unused Parameters # -->
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_datadesc_union_close ##### -->
-<para>
-
-</para>
-
-@union_type: 
-
-
-<!-- ##### FUNCTION gras_datadesc_ref_pop_arr ##### -->
-<para>
-
-</para>
-
-@element_type: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_datadesc_cb_send ##### -->
-<para>
-
-</para>
-
-@type: 
-@pre: 
-
-
-<!-- ##### FUNCTION gras_datadesc_cb_recv ##### -->
-<para>
-
-</para>
-
-@type: 
-@post: 
-
-
-<!-- ##### FUNCTION gras_cbps_i_pop ##### -->
-<para>
-
-</para>
-
-@ps: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_cbps_i_push ##### -->
-<para>
-
-</para>
-
-@ps: 
-@val: 
-
-
-<!-- ##### FUNCTION gras_cbps_v_pop ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-@res: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_cbps_v_push ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_cbps_v_set ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-
-
-<!-- ##### FUNCTION gras_cbps_v_get ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-
-
-<!-- ##### FUNCTION gras_cbps_block_begin ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-
-<!-- ##### FUNCTION gras_cbps_block_end ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-
-<!-- ##### FUNCTION gras_arch_selfid ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
diff --git a/cruft/doc/tmpl/comm_dd_cbps.sgml b/cruft/doc/tmpl/comm_dd_cbps.sgml
deleted file mode 100644 (file)
index 7093c85..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Data description callbacks persistant state
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_dd_cbps_block_begin ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-
-<!-- ##### FUNCTION gras_dd_cbps_block_end ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-
-<!-- ##### FUNCTION gras_dd_cbps_get ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-
-
-<!-- ##### FUNCTION gras_dd_cbps_pop ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-
-
-<!-- ##### FUNCTION gras_dd_cbps_push ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-
-
-<!-- ##### FUNCTION gras_dd_cbps_set ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-
-
diff --git a/cruft/doc/tmpl/comm_messages.sgml b/cruft/doc/tmpl/comm_messages.sgml
deleted file mode 100644 (file)
index 8ea25b6..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Messages
-
-<!-- ##### SECTION Short_Description ##### -->
-Defining messages and callbacks, and sending/receiving messages.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_msgtype_declare ##### -->
-<para>
-
-</para>
-
-@name: 
-@payload: 
-<!-- # Unused Parameters # -->
-@Returns: 
-@dst: 
-
-
-<!-- ##### FUNCTION gras_msgtype_declare_v ##### -->
-<para>
-
-</para>
-
-@name: 
-@version: 
-@payload: 
-<!-- # Unused Parameters # -->
-@Returns: 
-@dst: 
-
-
-<!-- ##### FUNCTION gras_msgtype_by_name ##### -->
-<para>
-
-</para>
-
-@name: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### FUNCTION gras_msgtype_by_namev ##### -->
-<para>
-
-</para>
-
-@name: 
-@version: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@dst: 
-
-
-<!-- ##### USER_FUNCTION gras_cb_t ##### -->
-<para>
-
-</para>
-
-@expeditor: 
-@payload: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@payload_type: 
-@payload_data: 
-@msg: 
-
-
-<!-- ##### FUNCTION gras_cb_register ##### -->
-<para>
-
-</para>
-
-@msgtype: 
-@cb: 
-<!-- # Unused Parameters # -->
-@Returns: 
-@message: 
-@TTL: 
-
-
-<!-- ##### FUNCTION gras_cb_unregister ##### -->
-<para>
-
-</para>
-
-@msgtype: 
-@cb: 
-
-
-<!-- ##### FUNCTION gras_msg_send ##### -->
-<para>
-
-</para>
-
-@sock: 
-@msgtype: 
-@payload: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@sd: 
-@msg: 
-@freeDirective: 
-
-
-<!-- ##### FUNCTION gras_msg_wait ##### -->
-<para>
-
-</para>
-
-@timeout: 
-@msgt_want: 
-@expeditor: 
-@payload: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@id: 
-@message: 
-
-
-<!-- ##### FUNCTION gras_msg_handle ##### -->
-<para>
-
-</para>
-
-@timeOut: 
-@Returns: 
-
-
diff --git a/cruft/doc/tmpl/comm_socks.sgml b/cruft/doc/tmpl/comm_socks.sgml
deleted file mode 100644 (file)
index fe3dee9..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Sockets
-
-<!-- ##### SECTION Short_Description ##### -->
-Open/close sockets, and get info on peer.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_socket_client ##### -->
-<para>
-
-</para>
-
-@host: 
-@Param2: 
-@dst: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@bufSize: 
-@sock: 
-
-
-<!-- ##### FUNCTION gras_socket_server ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@dst: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@bufSize: 
-
-
-<!-- ##### FUNCTION gras_socket_client_ext ##### -->
-<para>
-
-</para>
-
-@host: 
-@Param2: 
-@bufSize: 
-@raw: 
-@dst: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_server_ext ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@bufSize: 
-@raw: 
-@dst: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_client_from_file ##### -->
-<para>
-
-</para>
-
-@path: 
-@dst: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_server_from_file ##### -->
-<para>
-
-</para>
-
-@path: 
-@dst: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_close ##### -->
-<para>
-
-</para>
-
-@sd: 
-<!-- # Unused Parameters # -->
-@sock: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_peer_name ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-<!-- # Unused Parameters # -->
-@sd: 
-
-
-<!-- ##### FUNCTION gras_socket_peer_port ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_socket_my_port ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-
diff --git a/cruft/doc/tmpl/cruft.sgml b/cruft/doc/tmpl/cruft.sgml
deleted file mode 100644 (file)
index a387d76..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Cruft to ignore in the documentation
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/gras-overview.sgml b/cruft/doc/tmpl/gras-overview.sgml
deleted file mode 100644 (file)
index 3874183..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Overview
-
-<!-- ##### SECTION Short_Description ##### -->
-Overview of the GRAS library
-
-<!-- ##### SECTION Long_Description ##### -->
-    <para>This document introduce the GRAS library (<emphasis>Grid Reality
-    And Simulation</emphasis>, or according to my english dictionary,
-    <emphasis>Generally Recognized As Safe</emphasis> ;).</para>
-    
-    <refsect2>
-      <title>Overview</title>
-      <para>The purpose of the GRAS is to allow the developpement of
-      distributed programs which will work with as few as possible
-      modification both on the SimGrid simulator (SG), and in the Real Life
-      (RL).</para>
-
-      <para>Here are the problems when you want to do so:
-        <itemizedlist>
-         <listitem>
-           <para>Communication in SG is done by passing tasks, while in
-           RL, you have to deal with sockets (or any wrapper to it).</para>
-         </listitem>
-         <listitem><para>In RL, each process should provide a main()
-           function, and it's obviously not the case in SG.</para>
-         </listitem>
-       </itemizedlist>
-      </para>
-    </refsect2>
-    <refsect2>
-      <title>Application class target</title>
-      <para>If you want to run your code both in RL and in SG, you won't be
-      able to use the full set of features offered by any of those two
-      worlds. GRAS tries to provide a suffisent set of features to develop
-      your application, and implement them in both worlds.</para>
-
-      <para>GRAS uses the paradigm of <emphasis>event-driven 
-      programming</emphasis>, which is an extension to the message-passing
-      one. Any process of a typical event-driven application declares
-      callback to incoming events, which can be messages from other
-      processes, timers or others.</para>
-
-      <para>All messages have an header, specifying its type, and attached
-      data, represented as one or several C structures. In order to send
-      the data over the network in RL, a type-description mecanism is
-      provided, and the RL version of GRAS implements CDR
-      functionnalities. That is to say that the data are sent in the native
-      format of the sender host, and converted on the destination host only
-      if needed.</para>
-
-      <para>In order to not reimplement the wheel, GRAS use existing code,
-      and adapt them to make them work together. The SG version naturally
-      use the SimGrid toolkit, while the RL version is based over the
-      communication library used in NWS (note that this library was somehow
-      modified, since the previous version use XDR, ie both the sender and
-      the receiver convert the data from/to a so called network
-      format). That's why some basic knowledge about how NWS work is
-      supposed in this document. But don't worry, you only have to know the
-      basics about NWS, the internals needed to understand the document
-      will be presented when needed.</para>
-    </refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM DataTypes ##### -->
-<para>
-
-</para>
-
-@CHAR_TYPE: 
-@DOUBLE_TYPE: 
-@FLOAT_TYPE: 
-@INT_TYPE: 
-@LONG_TYPE: 
-@SHORT_TYPE: 
-@UNSIGNED_INT_TYPE: 
-@UNSIGNED_LONG_TYPE: 
-@UNSIGNED_SHORT_TYPE: 
-@STRUCT_TYPE: 
-
-<!-- ##### MACRO SIMPLE_DATA ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-
-
-<!-- ##### MACRO SIMPLE_MEMBER ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-@offset: 
-
-
-<!-- ##### MACRO PAD_BYTES ##### -->
-<para>
-
-</para>
-
-@structType: 
-@lastMember: 
-@memberType: 
-@repetitions: 
-
-
-<!-- ##### MACRO EODD ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/cruft/doc/tmpl/gras-unused.sgml b/cruft/doc/tmpl/gras-unused.sgml
deleted file mode 100644 (file)
index 13fc99c..0000000
+++ /dev/null
@@ -1,4301 +0,0 @@
-<!-- ##### SECTION ./tmpl/DataDesc.sgml:Long_Description ##### -->
-<para>In order to allow GRAS to send data over the network (or simply to
-dupplicate it in SG), you have to describe the structure of data attached
-with each message. This mecanism is stolen from NWS message passing
-interface.</para>
-
-<para>For each message, you have to declare a structure representing the
-data to send as payload with the message.</para>
-
-<refsect2>
-  <title>Sending (or receiving) simple structures</title>
-  <para>Let's imagin you want to declare a <command>STORE_STATE</command>
-  message, which will send some data to the memory server for inclusion in
-  the database. Here is the structure we want to send:</para>
-
-<literallayout>
- struct state {
-  char id[STATE_NAME_SIZE];
-  int rec_size;
-  int rec_count;
-  double seq_no;
-  double time_out;
- };
-</literallayout>
-
-  <para>And here is the structure description GRAS needs to be able to send
-  this over the network:</para>
-
-<literallayout>
- const static DataDescriptor stateDescriptor[] =
-  {SIMPLE_MEMBER(CHAR_TYPE, STATE_NAME_SIZE, offsetof(struct state, id)),
-   SIMPLE_MEMBER(INT_TYPE, 1, offsetof(struct state, rec_size)),
-   SIMPLE_MEMBER(INT_TYPE, 1, offsetof(struct state, rec_count)),
-   SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(struct state, seq_no)),
-   SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(struct state, time_out))};
-</literallayout>
-
-  <para>Contrary to what one could think when you first see it, it's pretty
-  easy. A structure descriptor is a list of descriptions, describing each
-  field of the structure. For example, for the first field, you say that
-  the base type is <command>CHAR_TYPE</command>, that there is
-  <command>STATE_NAME_SIZE</command> element of this type and that it's
-  position in the structure is computed by <command>offsetof(struct state,
-  id)</command>. This leads to two remarks:</para> 
-
-  <itemizedlist>
-    <listitem>
-      <para>it's impossible to send dynamic sized strings that way. It's a
-      known limitation, but I think we can live with it.</para>
-    </listitem>
-    <listitem>
-      <para>Yes, the <command>offsetof(struct state, id)</command>
-      construction is C ANSI and is portable.</para>
-    </listitem>
-  </itemizedlist>
-</refsect2>
-
-<refsect2>
-  <title>Sending (or receiving) complex structure</title>
-  <para>How to send non-flat structures, do you ask? It's not harder. Let's
-  imagin you want to send the following structure:</para>
-
-<literallayout>
- typedef struct {
-   unsigned long address;
-   unsigned long port;
- } CliqueMember;
-
- typedef struct {
-   char name[MAX_CLIQUE_NAME_SIZE];
-   double whenGenerated;
-   double instance;
-   char skill[MAX_SKILL_SIZE];
-   char options[MAX_OPTIONS_SIZE];
-   double period;
-   double timeOut;
-   CliqueMember members[MAX_MEMBERS];
-   unsigned int count;
-   unsigned int leader;
- } Clique;
-</literallayout>
-
-  <para>As you can see, this structure contains an array of another user
-  defined structure. To be able to send <command>struct Clique</command>,
-  you have to describe each structures that way:</para>
-
-<literallayout>
- static const DataDescriptor cliqueMemberDescriptor[] =
-   {SIMPLE_MEMBER(UNSIGNED_LONG_TYPE, 1, offsetof(CliqueMember, address)),
-    SIMPLE_MEMBER(UNSIGNED_LONG_TYPE, 1, offsetof(CliqueMember, port))};
-
- static const DataDescriptor cliqueDescriptor[] =
-   {SIMPLE_MEMBER(CHAR_TYPE, MAX_CLIQUE_NAME_SIZE, offsetof(Clique, name)),
-    SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(Clique, whenGenerated)),
-    SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(Clique, instance)),
-    SIMPLE_MEMBER(CHAR_TYPE, MAX_SKILL_SIZE, offsetof(Clique, skill)),
-    SIMPLE_MEMBER(CHAR_TYPE, MAX_OPTIONS_SIZE, offsetof(Clique, options)),
-    SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(Clique, period)),
-    SIMPLE_MEMBER(DOUBLE_TYPE, 1, offsetof(Clique, timeOut)),
-    {STRUCT_TYPE, MAX_MEMBERS, offsetof(Clique, members),
-     (DataDescriptor *)&amp;cliqueMemberDescriptor, cliqueMemberDescriptorLength,
-     PAD_BYTES(CliqueMember, port, unsigned long, 1)},
-    SIMPLE_MEMBER(UNSIGNED_INT_TYPE, 1, offsetof(Clique, count)),
-    SIMPLE_MEMBER(UNSIGNED_INT_TYPE, 1, offsetof(Clique, leader))};
-</literallayout>
-
-  <para>So, even if less natural, it is possible to send structures 
-  containing structures with these tools.</para>
-
-  <para>You can see that it's not only impossible to send dynamic-sized
-  strings, it impossible to send dynamic-sized arrays. Here,
-  <command>MAX_MEMBERS</command> is the maximum of members a clique can
-  contain. In NWS, this value is defined to 100.  <warning><para>I'm not
-  sure, but I think that all the 100 values are sent each time, even if
-  there is only 3 non-null members. Yes, that's
-  bad.</para></warning></para>
-
-  <warning><para>The DataDescriptor_t MUST be const. Malloc'ing them and
-  then casting them on argument passing IS NOT OK. This is because we get
-  the number of elements in the array with the sizeof(dd)/sizeof(dd[0]).
-  </para></warning>
-</refsect2>
-
-
-<!-- ##### SECTION ./tmpl/DataDesc.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/DataDesc.sgml:Short_Description ##### -->
-Describing the data
-
-
-<!-- ##### SECTION ./tmpl/DataDesc.sgml:Title ##### -->
-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>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/ErrLog.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/ErrLog.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/ErrLog.sgml:Title ##### -->
-ErrLog
-
-
-<!-- ##### SECTION ./tmpl/Socks.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/Socks.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/Socks.sgml:Short_Description ##### -->
-Handling sockets
-
-
-<!-- ##### SECTION ./tmpl/Socks.sgml:Title ##### -->
-Sockets API
-
-
-<!-- ##### SECTION ./tmpl/comm_callbacks.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_callbacks.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_callbacks.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/comm_callbacks.sgml:Title ##### -->
-comm_callbacks
-
-
-<!-- ##### SECTION ./tmpl/comm_cb.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_cb.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_cb.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/comm_cb.sgml:Title ##### -->
-comm_cb
-
-
-<!-- ##### SECTION ./tmpl/comm_datadesc_expert.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_datadesc_expert.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_datadesc_expert.sgml:Short_Description ##### -->
-Advanced ways to describe data (for experts)
-
-
-<!-- ##### SECTION ./tmpl/comm_datadesc_expert.sgml:Title ##### -->
-Advanced Data description
-
-
-<!-- ##### SECTION ./tmpl/comm_dd_cbps.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_dd_cbps.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/comm_dd_cbps.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/comm_dd_cbps.sgml:Title ##### -->
-Data description callbacks persistant state
-
-
-<!-- ##### SECTION ./tmpl/config.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/config.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/config.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/config.sgml:Title ##### -->
-config
-
-
-<!-- ##### SECTION ./tmpl/dd_cbps.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dd_cbps.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dd_cbps.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/dd_cbps.sgml:Title ##### -->
-Data description callbacks persistant state
-
-
-<!-- ##### SECTION ./tmpl/dd_internal.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dd_internal.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dd_internal.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/dd_internal.sgml:Title ##### -->
-Implementation of data description
-
-
-<!-- ##### SECTION ./tmpl/dico.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dico.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dico.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/dico.sgml:Title ##### -->
-dico
-
-
-<!-- ##### SECTION ./tmpl/dynar.sgml:Long_Description ##### -->
-<para>
-This module provide the quite usual dynamic array facility.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dynar.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/dynar.sgml:Short_Description ##### -->
-Dynamic array
-
-
-<!-- ##### SECTION ./tmpl/dynar.sgml:Title ##### -->
-dynar
-
-
-<!-- ##### SECTION ./tmpl/gras-overview.sgml:Long_Description ##### -->
-    <para>This document introduce the GRAS library (<emphasis>Grid Reality
-    And Simulation</emphasis>, or according to my english dictionary,
-    <emphasis>Generally Recognized As Safe</emphasis> ;).</para>
-    
-    <refsect2>
-      <title>Overview</title>
-      <para>The purpose of the GRAS is to allow the developpement of
-      distributed programs which will work with as few as possible
-      modification both on the SimGrid simulator (SG), and in the Real Life
-      (RL).</para>
-
-      <para>Here are the problems when you want to do so:
-        <itemizedlist>
-         <listitem>
-           <para>Communication in SG is done by passing tasks, while in
-           RL, you have to deal with sockets (or any wrapper to it).</para>
-         </listitem>
-         <listitem><para>In RL, each process should provide a main()
-           function, and it's obviously not the case in SG.</para>
-         </listitem>
-       </itemizedlist>
-      </para>
-    </refsect2>
-    <refsect2>
-      <title>Application class target</title>
-      <para>If you want to run your code both in RL and in SG, you won't be
-      able to use the full set of features offered by any of those two
-      worlds. GRAS tries to provide a suffisent set of features to develop
-      your application, and implement them in both worlds.</para>
-
-      <para>GRAS uses the paradigm of <emphasis>event-driven 
-      programming</emphasis>, which is an extension to the message-passing
-      one. Any process of a typical event-driven application declares
-      callback to incoming events, which can be messages from other
-      processes, timers or others.</para>
-
-      <para>All messages have an header, specifying its type, and attached
-      data, represented as one or several C structures. In order to send
-      the data over the network in RL, a type-description mecanism is
-      provided, and the RL version of GRAS implements CDR
-      functionnalities. That is to say that the data are sent in the native
-      format of the sender host, and converted on the destination host only
-      if needed.</para>
-
-      <para>In order to not reimplement the wheel, GRAS use existing code,
-      and adapt them to make them work together. The SG version naturally
-      use the SimGrid toolkit, while the RL version is based over the
-      communication library used in NWS (note that this library was somehow
-      modified, since the previous version use XDR, ie both the sender and
-      the receiver convert the data from/to a so called network
-      format). That's why some basic knowledge about how NWS work is
-      supposed in this document. But don't worry, you only have to know the
-      basics about NWS, the internals needed to understand the document
-      will be presented when needed.</para>
-    </refsect2>
-
-
-<!-- ##### SECTION ./tmpl/gras-overview.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras-overview.sgml:Short_Description ##### -->
-Overview of the GRAS library
-
-
-<!-- ##### SECTION ./tmpl/gras-overview.sgml:Title ##### -->
-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>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/gras.sgml:Title ##### -->
-gras
-
-
-<!-- ##### SECTION ./tmpl/gras_private.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras_private.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras_private.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/gras_private.sgml:Title ##### -->
-gras_private
-
-
-<!-- ##### SECTION ./tmpl/gras_rl.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras_rl.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras_rl.sgml:Short_Description ##### -->
-Implementation of GRAS suited for real life.
-
-
-<!-- ##### SECTION ./tmpl/gras_rl.sgml:Title ##### -->
-RL
-
-
-<!-- ##### SECTION ./tmpl/gras_sg.sgml:Long_Description ##### -->
-<para>
-  SimGrid was designed to ease the comparison of algorithms and
-  heuristics. That way, a lot of complicated notion from the system layer
-  were volontary left off. For example, migrating a process from an host to
-  another is as easy as: MSG_process_change_host(process, new_host).
-</para>
-
-<para>
-  No need to tell that performing this operation on real platform is really
-  harder. This simplification is a very good thing when you want to rapidly
-  prototype code, but makes things somehow more complicated in GRAS since
-  we want to have a realistic API, since it have to be implemented in
-  reality also.
-</para>
-
-<para>
-  The best example of complexity in GRAS_SG induced by simplicity in
-  SimGrid is the sockets handling. There is no "socket" in SG, but only
-  m_channel_t. In contrary to sockets from RL, no special treatment is
-  needed for a process before writing or reading on/from a channel. So, a
-  given channel can be pooled by more than one process. Likewise, you can
-  send data to a channel that nobody is actually listening to.
-</para>
-
-<para>
-  The SG implementation of GRAS repport as an error the fact that nobody is
-  listening to the socket when trying to open a socket, or send stuff using
-  a previously openned socket. That way, the SG version can be used to
-  debug all syncronization issues. For that, we store mainly the PID of
-  both the sender and the receiver in the socket structure, and then
-  resolve PID->process at the lastest moment. This search is a bit
-  expensive, but as long as there is no real garbage collection in SG, with
-  the information "dead process" within the structure, it's the only
-  solution to make sure that we won't dereference pointers to an old freed
-  structure when the process on the other side of the structure did finish
-  since the creation of the socket.
-</para>
-
-<para>
-  As said in the overview, the processes can declare to hear on several
-  sockets, but all incoming messages are handled by the same loop. So, we
-  can use only one channel per process, and use a table on each host to
-  determine to which process a message should be delivered depending on the
-  socket number provided by the sender.
-</para>
-
-
-<!-- ##### SECTION ./tmpl/gras_sg.sgml:See_Also ##### -->
-<para>
-RL, the implementation suited for real life.
-</para>
-
-<!--
-Local variables:
-sgml-parent-document:\.\./gras-docs\.sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-namecase-general:t
-sgml-general-insert-case:lower
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
-
-
-<!-- ##### SECTION ./tmpl/gras_sg.sgml:Short_Description ##### -->
-Implementation of GRAS on top of the simulator.
-
-
-<!-- ##### SECTION ./tmpl/gras_sg.sgml:Title ##### -->
-SG
-
-
-<!-- ##### SECTION ./tmpl/nws_comm.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/nws_comm.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/nws_comm.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/nws_comm.sgml:Title ##### -->
-nws_comm
-
-
-<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Short_Description ##### -->
-Configuration facilities.
-
-
-<!-- ##### SECTION ./tmpl/tbx_cfg.sgml:Title ##### -->
-Config
-
-
-<!-- ##### 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 ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO CCRITICAL0 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-
-<!-- ##### MACRO CCRITICAL1 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-
-<!-- ##### MACRO CCRITICAL2 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CCRITICAL3 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CCRITICAL4 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CCRITICAL5 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CDEBUG0 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-
-<!-- ##### MACRO CDEBUG1 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-
-<!-- ##### MACRO CDEBUG2 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CDEBUG3 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CDEBUG4 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CDEBUG5 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CERROR0 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-
-<!-- ##### MACRO CERROR1 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-
-<!-- ##### MACRO CERROR2 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CERROR3 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CERROR4 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CERROR5 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CINFO0 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-
-<!-- ##### MACRO CINFO1 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-
-<!-- ##### MACRO CINFO2 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CINFO3 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CINFO4 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CINFO5 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CLOG0 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-
-<!-- ##### MACRO CLOG1 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-
-<!-- ##### MACRO CLOG2 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CLOG3 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CLOG4 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CLOG5 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CLOG6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@p: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-<!-- ##### MACRO CRITICAL0 ##### -->
-<para>
-
-</para>
-
-@f: 
-
-<!-- ##### MACRO CRITICAL1 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-
-<!-- ##### MACRO CRITICAL2 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-
-<!-- ##### MACRO CRITICAL3 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-
-<!-- ##### MACRO CRITICAL4 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-
-<!-- ##### MACRO CRITICAL5 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-
-<!-- ##### MACRO CWARNING6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-<!-- ##### FUNCTION CallAddr ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Param2: 
-@sock: 
-@timeOut: 
-@Returns: 
-
-<!-- ##### FUNCTION CloseSocket ##### -->
-<para>
-
-</para>
-
-@sock: 
-@waitForPeer: 
-@Returns: 
-
-<!-- ##### FUNCTION ConvertData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@description: 
-@length: 
-@sourceFormat: 
-
-<!-- ##### FUNCTION CreateLocalChild ##### -->
-<para>
-
-</para>
-
-@pid: 
-@parentToChild: 
-@childToParent: 
-@Returns: 
-
-<!-- ##### FUNCTION DROP_SOCKET ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION DataSize ##### -->
-<para>
-
-</para>
-
-@description: 
-@length: 
-@format: 
-@Returns: 
-
-<!-- ##### ENUM DataTypes ##### -->
-<para>
-
-</para>
-
-@CHAR_TYPE: 
-@DOUBLE_TYPE: 
-@FLOAT_TYPE: 
-@INT_TYPE: 
-@LONG_TYPE: 
-@SHORT_TYPE: 
-@UNSIGNED_INT_TYPE: 
-@UNSIGNED_LONG_TYPE: 
-@UNSIGNED_SHORT_TYPE: 
-@STRUCT_TYPE: 
-@LAST_TYPE: 
-
-<!-- ##### FUNCTION DifferentFormat ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@Returns: 
-
-<!-- ##### FUNCTION DifferentOrder ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### FUNCTION DifferentSize ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@Returns: 
-
-<!-- ##### MACRO END_DECL ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO EODD ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION EstablishAnEar ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-@ear: 
-@earPort: 
-@Returns: 
-
-<!-- ##### ENUM FormatTypes ##### -->
-<para>
-
-</para>
-
-@HOST_FORMAT: 
-@NETWORK_FORMAT: 
-
-<!-- ##### MACRO GRAS_LOG_DEFAULT_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname: 
-
-<!-- ##### MACRO GRAS_LOG_EXTERNAL_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname: 
-
-<!-- ##### MACRO GRAS_LOG_ISENABLED ##### -->
-<para>
-
-</para>
-
-@catName: 
-@priority: 
-
-<!-- ##### MACRO GRAS_LOG_MAYDAY ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO GRAS_LOG_NEW_CATEGORY ##### -->
-<para>
-
-</para>
-
-@catName: 
-@desc: 
-
-<!-- ##### MACRO GRAS_LOG_NEW_DEFAULT_CATEGORY ##### -->
-<para>
-
-</para>
-
-@cname: 
-@desc: 
-
-<!-- ##### MACRO GRAS_LOG_NEW_DEFAULT_SUBCATEGORY ##### -->
-<para>
-
-</para>
-
-@cname: 
-@parent: 
-@desc: 
-
-<!-- ##### MACRO GRAS_LOG_NEW_SUBCATEGORY ##### -->
-<para>
-
-</para>
-
-@catName: 
-@parent: 
-@desc: 
-
-<!-- ##### MACRO GRAS_LOG_ROOT_CAT ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO GRAS_LOG_STATIC_THRESHOLD ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_DLFCN_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_INTTYPES_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_LIBPTHREAD ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_MEMORY_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_STDINT_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_STDLIB_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_STRINGS_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_STRING_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_SYS_STAT_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_SYS_TYPES_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO HAVE_UNISTD_H ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION HomogenousConvertData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@whatType: 
-@repetitions: 
-@sourceFormat: 
-
-<!-- ##### FUNCTION HomogenousDataSize ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@repetitions: 
-@format: 
-@Returns: 
-
-<!-- ##### TYPEDEF IPAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION IPAddressImage ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Returns: 
-
-<!-- ##### FUNCTION IPAddressImage_r ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Returns: 
-
-<!-- ##### FUNCTION IPAddressMachine ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Returns: 
-
-<!-- ##### FUNCTION IPAddressMachine_r ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Returns: 
-
-<!-- ##### MACRO IPAddressValue ##### -->
-<para>
-
-</para>
-
-@machineOrAddress: 
-@address: 
-
-<!-- ##### FUNCTION IPAddressValues ##### -->
-<para>
-
-</para>
-
-@machineOrAddress: 
-@addressList: 
-@atMost: 
-@Returns: 
-
-<!-- ##### FUNCTION IncomingRequest ##### -->
-<para>
-
-</para>
-
-@timeOut: 
-@sd: 
-@ldap: 
-@Returns: 
-
-<!-- ##### FUNCTION IsOkay ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION IsPipe ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### MACRO IsValidIP ##### -->
-<para>
-
-</para>
-
-@machineOrAddress: 
-
-<!-- ##### MACRO LOG6 ##### -->
-<para>
-
-</para>
-
-@p: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-<!-- ##### FUNCTION MyMachineName ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### MACRO NO_SOCKET ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION NotifyOnDisconnection ##### -->
-<para>
-
-</para>
-
-@notifyFn: 
-
-<!-- ##### FUNCTION OpenClientSocket ##### -->
-<para>
-
-</para>
-
-@addr: 
-@Param2: 
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION OpenServerSocket ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-@ear: 
-@earPort: 
-@Returns: 
-
-<!-- ##### MACRO PACKAGE ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PACKAGE_BUGREPORT ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PACKAGE_NAME ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PACKAGE_STRING ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PACKAGE_TARNAME ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PACKAGE_VERSION ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO PAD_BYTES ##### -->
-<para>
-
-</para>
-
-@structType: 
-@lastMember: 
-@memberType: 
-@repetitions: 
-
-<!-- ##### FUNCTION PassSocket ##### -->
-<para>
-
-</para>
-
-@sock: 
-@child: 
-@Returns: 
-
-<!-- ##### FUNCTION Peer ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION PeerName ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION PeerName_r ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION ReverseData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@whatType: 
-@repetitions: 
-@format: 
-
-<!-- ##### MACRO SIMPLE_DATA ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-
-<!-- ##### MACRO SIMPLE_MEMBER ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-@offset: 
-
-<!-- ##### MACRO SIMPLE_TYPE_COUNT ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO STDC_HEADERS ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF Socket ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION SocketFailure ##### -->
-<para>
-
-</para>
-
-@sig: 
-
-<!-- ##### USER_FUNCTION SocketFunction ##### -->
-<para>
-
-</para>
-
-@Param1: 
-
-<!-- ##### FUNCTION SocketInUse ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION SocketIsAvailable ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### MACRO VERSION ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO WARNING6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-<!-- ##### USER_FUNCTION grasCallbackFunction ##### -->
-<para>
-
-</para>
-
-@sd: 
-@msgType: 
-@vdata: 
-
-<!-- ##### FUNCTION grasCloseSocket ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION grasDataDescCmp ##### -->
-<para>
-
-</para>
-
-@dd1: 
-@c1: 
-@dd2: 
-@c2: 
-@Returns: 
-@description: 
-
-<!-- ##### FUNCTION grasDataDescCount ##### -->
-<para>
-
-</para>
-
-@description: 
-@Returns: 
-
-<!-- ##### FUNCTION grasDataRecv ##### -->
-<para>
-
-</para>
-
-@sd: 
-@data: 
-@description: 
-@description_length: 
-@repetition: 
-@Returns: 
-
-<!-- ##### FUNCTION grasDataSend ##### -->
-<para>
-
-</para>
-
-@sd: 
-@data: 
-@description: 
-@description_length: 
-@repetition: 
-@Returns: 
-
-<!-- ##### FUNCTION grasDataSize ##### -->
-<para>
-
-</para>
-
-@description: 
-@ft: 
-@Returns: 
-
-<!-- ##### ENUM grasError_t ##### -->
-<para>
-
-</para>
-
-@no_error: 
-@malloc_error: 
-@mismatch_error: 
-@sanity_error: 
-@system_error: 
-@network_error: 
-@timeout_error: 
-@thread_error: 
-@unknown_error: 
-
-<!-- ##### FUNCTION grasLock ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### TYPEDEF grasMessageType_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION grasMsgDiscard ##### -->
-<para>
-
-</para>
-
-@sd: 
-@size: 
-
-<!-- ##### FUNCTION grasMsgEntryGet ##### -->
-<para>
-
-</para>
-
-@id: 
-@Returns: 
-
-<!-- ##### TYPEDEF grasMsgEntry_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION grasMsgFree ##### -->
-<para>
-
-</para>
-
-@msg: 
-
-<!-- ##### FUNCTION grasMsgHandle ##### -->
-<para>
-
-</para>
-
-@timeOut: 
-
-<!-- ##### FUNCTION grasMsgHeaderNew ##### -->
-<para>
-
-</para>
-
-@msgId: 
-@dataSize: 
-@seqCount: 
-@Returns: 
-
-<!-- ##### FUNCTION grasMsgNew ##### -->
-<para>
-
-</para>
-
-@msgId: 
-@free_data_on_free: 
-@seqCount: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION grasMsgRecv ##### -->
-<para>
-
-</para>
-
-@msg: 
-@timeout: 
-@Returns: 
-@sd: 
-
-<!-- ##### FUNCTION grasMsgRegister ##### -->
-<para>
-
-</para>
-
-@message: 
-@name: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION grasMsgSend ##### -->
-<para>
-
-</para>
-
-@sd: 
-@message: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION grasMsgWait ##### -->
-<para>
-
-</para>
-
-@sd: 
-@timeout: 
-@message: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION grasMyMachineName ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### FUNCTION grasOpenClientSocket ##### -->
-<para>
-
-</para>
-
-@host: 
-@Param2: 
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION grasOpenServerSocket ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-@sock: 
-@Returns: 
-
-<!-- ##### MACRO grasPROTOCOL ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION grasPeerGetAddress ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION grasPeerGetName ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION grasRecvData ##### -->
-<para>
-
-</para>
-
-@sd: 
-@data: 
-@description: 
-@Returns: 
-
-<!-- ##### FUNCTION grasRegisterCallback ##### -->
-<para>
-
-</para>
-
-@message: 
-@TTL: 
-@cb: 
-
-<!-- ##### FUNCTION grasSendData ##### -->
-<para>
-
-</para>
-
-@sd: 
-@data: 
-@description: 
-@Returns: 
-
-<!-- ##### FUNCTION grasUnlock ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### FUNCTION grasUserdataGet ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO grasUserdataNew ##### -->
-<para>
-
-</para>
-
-@type: 
-
-<!-- ##### FUNCTION grasUserdataSet ##### -->
-<para>
-
-</para>
-
-@ud: 
-
-<!-- ##### FUNCTION gras_cfg_check ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_cpy ##### -->
-<para>
-
-</para>
-
-@tocopy: 
-@whereto: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_dump ##### -->
-<para>
-
-</para>
-
-@name: 
-@indent: 
-@cfg: 
-
-<!-- ##### FUNCTION gras_cfg_empty ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_free ##### -->
-<para>
-
-</para>
-
-@cfg: 
-
-<!-- ##### FUNCTION gras_cfg_get_double ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_get_dynar ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@dynar: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_get_host ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@host: 
-@port: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_get_int ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_get_string ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_new ##### -->
-<para>
-
-</para>
-
-@Returns: 
-@whereto: 
-
-<!-- ##### FUNCTION gras_cfg_register ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@type: 
-@min: 
-@max: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_register_str ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@entry: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_rm_double ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_rm_host ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@host: 
-@port: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_rm_int ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_rm_string ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_double ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_host ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@host: 
-@port: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_int ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_parse ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@options: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_string ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@name: 
-@val: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_cfg_set_vargs ##### -->
-<para>
-
-</para>
-
-@cfg: 
-@pa: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_cb_set_post ##### -->
-<para>
-
-</para>
-
-@type: 
-@post: 
-
-<!-- ##### FUNCTION gras_datadesc_cb_set_pre ##### -->
-<para>
-
-</para>
-
-@type: 
-@pre: 
-
-<!-- ##### FUNCTION gras_datadesc_cmp ##### -->
-<para>
-
-</para>
-
-@d1: 
-@d2: 
-@Returns: 
-@dd1: 
-@c1: 
-@dd2: 
-@c2: 
-
-<!-- ##### FUNCTION gras_datadesc_copy_data ##### -->
-<para>
-
-</para>
-
-@dd: 
-@c: 
-@data: 
-
-<!-- ##### MACRO gras_datadesc_declare_array ##### -->
-<para>
-
-</para>
-
-@name: 
-@elm_type: 
-@size: 
-@code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_array_cb ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@fixed_size: 
-@dynamic_size: 
-@post: 
-@code: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_array_dyn ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@dynamic_size: 
-@dst: 
-@Returns: 
-@elm_type: 
-@code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_array_fixed ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@fixed_size: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_ref ##### -->
-<para>
-
-</para>
-
-@name: 
-@referenced_type: 
-@dst: 
-@Returns: 
-@ref_type: 
-@code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_ref_cb ##### -->
-<para>
-
-</para>
-
-@name: 
-@referenced_type: 
-@discriminant: 
-@post: 
-@code: 
-@Returns: 
-
-<!-- ##### MACRO gras_datadesc_declare_ref_disc ##### -->
-<para>
-
-</para>
-
-@name: 
-@discriminant: 
-@code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_ref_generic ##### -->
-<para>
-
-</para>
-
-@name: 
-@discriminant: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct ##### -->
-<para>
-
-</para>
-
-@name: 
-@dst: 
-@Returns: 
-@code: 
-
-<!-- ##### MACRO gras_datadesc_declare_struct_add_code ##### -->
-<para>
-
-</para>
-
-@struct_code: 
-@field_name: 
-@field_type_code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_add_code_cb ##### -->
-<para>
-
-</para>
-
-@struct_code: 
-@field_name: 
-@field_code: 
-@pre_cb: 
-@post_cb: 
-@Returns: 
-
-<!-- ##### MACRO gras_datadesc_declare_struct_add_name ##### -->
-<para>
-
-</para>
-
-@struct_code: 
-@field_name: 
-@field_type_name: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_add_name_cb ##### -->
-<para>
-
-</para>
-
-@struct_code: 
-@field_name: 
-@field_type_name: 
-@pre_cb: 
-@post_cb: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-@name: 
-@field_type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_append_name ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-@name: 
-@field_type_name: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_cb ##### -->
-<para>
-
-</para>
-
-@name: 
-@pre_cb: 
-@post_cb: 
-@code: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_struct_close ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union ##### -->
-<para>
-
-</para>
-
-@name: 
-@selector: 
-@dst: 
-@Returns: 
-@code: 
-
-<!-- ##### MACRO gras_datadesc_declare_union_add_code ##### -->
-<para>
-
-</para>
-
-@union_code: 
-@field_name: 
-@field_type_code: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_add_code_cb ##### -->
-<para>
-
-</para>
-
-@union_code: 
-@field_name: 
-@field_code: 
-@pre_cb: 
-@post_cb: 
-@Returns: 
-
-<!-- ##### MACRO gras_datadesc_declare_union_add_name ##### -->
-<para>
-
-</para>
-
-@union_code: 
-@field_name: 
-@field_type_name: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_add_name_cb ##### -->
-<para>
-
-</para>
-
-@union_code: 
-@field_name: 
-@field_type_name: 
-@pre_cb: 
-@post_cb: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_append ##### -->
-<para>
-
-</para>
-
-@union_type: 
-@name: 
-@field_type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_append_name ##### -->
-<para>
-
-</para>
-
-@union_type: 
-@name: 
-@field_type_name: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_cb ##### -->
-<para>
-
-</para>
-
-@name: 
-@field_count: 
-@post: 
-@code: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_declare_union_close ##### -->
-<para>
-
-</para>
-
-@union_type: 
-
-<!-- ##### FUNCTION gras_datadesc_from_nws ##### -->
-<para>
-
-</para>
-
-@name: 
-@desc: 
-@howmany: 
-@code: 
-@Returns: 
-@dst: 
-
-<!-- ##### FUNCTION gras_datadesc_import_nws ##### -->
-<para>
-
-</para>
-
-@name: 
-@desc: 
-@howmany: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_datadesc_parse ##### -->
-<para>
-
-</para>
-
-@name: 
-@Cdefinition: 
-@dst: 
-@Returns: 
-@code: 
-@def: 
-
-<!-- ##### FUNCTION gras_dd_cbps_block_begin ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-<!-- ##### FUNCTION gras_dd_cbps_block_end ##### -->
-<para>
-
-</para>
-
-@ps: 
-
-<!-- ##### FUNCTION gras_dd_cbps_get ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-
-<!-- ##### FUNCTION gras_dd_cbps_pop ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@ddt: 
-
-<!-- ##### FUNCTION gras_dd_cbps_push ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-
-<!-- ##### FUNCTION gras_dd_cbps_set ##### -->
-<para>
-
-</para>
-
-@ps: 
-@name: 
-@data: 
-@ddt: 
-
-<!-- ##### FUNCTION gras_ddt_free ##### -->
-<para>
-
-</para>
-
-@type: 
-
-<!-- ##### FUNCTION gras_ddt_get_by_code ##### -->
-<para>
-
-</para>
-
-@code: 
-@type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_get_by_name ##### -->
-<para>
-
-</para>
-
-@name: 
-@type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_array ##### -->
-<para>
-
-</para>
-
-@name: 
-@element_type: 
-@fixed_size: 
-@dynamic_size: 
-@post: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_from_nws ##### -->
-<para>
-
-</para>
-
-@name: 
-@desc: 
-@howmany: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_ignored ##### -->
-<para>
-
-</para>
-
-@name: 
-@default_value: 
-@free_func: 
-@size: 
-@alignment: 
-@post: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_parse ##### -->
-<para>
-
-</para>
-
-@name: 
-@C_definition: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_ref ##### -->
-<para>
-
-</para>
-
-@name: 
-@referenced_type: 
-@discriminant: 
-@post: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_scalar ##### -->
-<para>
-
-</para>
-
-@name: 
-@type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_struct ##### -->
-<para>
-
-</para>
-
-@name: 
-@pre: 
-@post: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_struct_append ##### -->
-<para>
-
-</para>
-
-@struct_type: 
-@name: 
-@field_type: 
-@pre: 
-@post: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_union ##### -->
-<para>
-
-</para>
-
-@name: 
-@field_count: 
-@post: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_new_union_append ##### -->
-<para>
-
-</para>
-
-@union_type: 
-@name: 
-@field_type: 
-@pre: 
-@post: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_ddt_register ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_cursor_free ##### -->
-<para>
-
-</para>
-
-@cursor: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_cursor_get_data ##### -->
-<para>
-
-</para>
-
-@cursor: 
-@data: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_cursor_get_key ##### -->
-<para>
-
-</para>
-
-@cursor: 
-@key: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_cursor_new ##### -->
-<para>
-
-</para>
-
-@head: 
-@Returns: 
-@cursor: 
-
-<!-- ##### FUNCTION gras_dict_cursor_next ##### -->
-<para>
-
-</para>
-
-@cursor: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_cursor_rewind ##### -->
-<para>
-
-</para>
-
-@cursor: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_dump ##### -->
-<para>
-
-</para>
-
-@head: 
-@output: 
-@Returns: 
-
-<!-- ##### MACRO gras_dict_foreach ##### -->
-<para>
-
-</para>
-
-@dict: 
-@cursor: 
-@key: 
-@data: 
-
-<!-- ##### FUNCTION gras_dict_free ##### -->
-<para>
-
-</para>
-
-@dict: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_get ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@data: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_get_ext ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@key_len: 
-@data: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_insert ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@data: 
-@free_ctn: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_insert_ext ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@key_len: 
-@data: 
-@free_ctn: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_new ##### -->
-<para>
-
-</para>
-
-@Returns: 
-@dict: 
-
-<!-- ##### FUNCTION gras_dict_print ##### -->
-<para>
-
-</para>
-
-@data: 
-
-<!-- ##### FUNCTION gras_dict_prints ##### -->
-<para>
-
-</para>
-
-@data: 
-
-<!-- ##### FUNCTION gras_dict_remove ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_remove_ext ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@key_len: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_retrieve ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@data: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_retrieve_ext ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@key_len: 
-@data: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_set ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@data: 
-@free_ctn: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dict_set_ext ##### -->
-<para>
-
-</para>
-
-@head: 
-@key: 
-@key_len: 
-@data: 
-@free_ctn: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_cursor_first ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-
-<!-- ##### FUNCTION gras_dynar_cursor_get ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-@whereto: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_cursor_rm ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-
-<!-- ##### FUNCTION gras_dynar_cursor_step ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-
-<!-- ##### FUNCTION gras_dynar_first ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-@Returns: 
-
-<!-- ##### MACRO gras_dynar_foreach ##### -->
-<para>
-
-</para>
-
-@_dynar: 
-@_cursor: 
-@_data: 
-@_whereto: 
-
-<!-- ##### FUNCTION gras_dynar_free ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_free_container ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_get ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@idx: 
-@dst: 
-@whereto: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_insert_at ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@idx: 
-@src: 
-@Returns: 
-@object: 
-
-<!-- ##### FUNCTION gras_dynar_length ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_map ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@operator: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_new ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@free_func: 
-@Returns: 
-@whereto: 
-@elm_size: 
-
-<!-- ##### FUNCTION gras_dynar_next ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@cursor: 
-@whereto: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_pop ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@dst: 
-@whereto: 
-
-<!-- ##### FUNCTION gras_dynar_push ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@src: 
-@Returns: 
-@object: 
-
-<!-- ##### FUNCTION gras_dynar_remove_at ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@idx: 
-@object: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_remplace ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@idx: 
-@object: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_reset ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_set ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@idx: 
-@src: 
-@Returns: 
-@object: 
-
-<!-- ##### FUNCTION gras_dynar_shift ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@dst: 
-@whereto: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_dynar_unshift ##### -->
-<para>
-
-</para>
-
-@dynar: 
-@src: 
-@Returns: 
-@object: 
-
-<!-- ##### ENUM gras_error_t ##### -->
-<para>
-
-</para>
-
-@no_error: no error
-@mismatch_error: Not found
-@system_error: a syscall did fail
-@network_error: error while sending/receiving data
-@timeout_error: not quick enough, dude
-@thread_error: error while [un]locking
-@unknown_error: no idea
-
-<!-- ##### FUNCTION gras_lock ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### FUNCTION gras_log_appender_set ##### -->
-<para>
-
-</para>
-
-@cat: 
-@app: 
-
-<!-- ##### FUNCTION gras_log_control_set ##### -->
-<para>
-
-</para>
-
-@cs: 
-@Returns: 
-
-<!-- ##### VARIABLE gras_log_default_appender ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION gras_log_parent_set ##### -->
-<para>
-
-</para>
-
-@cat: 
-@parent: 
-
-<!-- ##### ENUM gras_log_priority_t ##### -->
-<para>
-
-</para>
-
-@gras_log_priority_none: 
-@gras_log_priority_trace: 
-@gras_log_priority_debug: 
-@gras_log_priority_verbose: 
-@gras_log_priority_info: 
-@gras_log_priority_warning: 
-@gras_log_priority_error: 
-@gras_log_priority_critical: 
-@gras_log_priority_infinite: 
-@gras_log_priority_uninitialized: 
-
-<!-- ##### FUNCTION gras_log_threshold_set ##### -->
-<para>
-
-</para>
-
-@cat: 
-@thresholdPriority: 
-
-<!-- ##### FUNCTION gras_msg_discard ##### -->
-<para>
-
-</para>
-
-@sd: 
-@size: 
-
-<!-- ##### FUNCTION gras_msg_free ##### -->
-<para>
-
-</para>
-
-@msg: 
-
-<!-- ##### FUNCTION gras_msg_new ##### -->
-<para>
-
-</para>
-
-@msgId: 
-@free_data_on_free: 
-@seqCount: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_msgtype_register ##### -->
-<para>
-
-</para>
-
-@msgId: 
-@name: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_set_add ##### -->
-<para>
-
-</para>
-
-@set: 
-@elm: 
-@free_func: 
-@Returns: 
-
-<!-- ##### MACRO gras_set_foreach ##### -->
-<para>
-
-</para>
-
-@set: 
-@cursor: 
-@elm: 
-
-<!-- ##### FUNCTION gras_set_free ##### -->
-<para>
-
-</para>
-
-@set: 
-
-<!-- ##### FUNCTION gras_set_get_by_id ##### -->
-<para>
-
-</para>
-
-@set: 
-@id: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_set_get_by_name ##### -->
-<para>
-
-</para>
-
-@set: 
-@key: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_set_get_by_name_ext ##### -->
-<para>
-
-</para>
-
-@set: 
-@name: 
-@name_len: 
-@dst: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_set_new ##### -->
-<para>
-
-</para>
-
-@Returns: 
-@dst: 
-
-<!-- ##### FUNCTION gras_sleep ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-
-<!-- ##### FUNCTION gras_sock_client_open ##### -->
-<para>
-
-</para>
-
-@host: 
-@Param2: 
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_sock_close ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_sock_get_peer_addr ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_sock_get_peer_name ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_sock_server_open ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-@sock: 
-@Returns: 
-
-<!-- ##### FUNCTION gras_time ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### FUNCTION gras_unlock ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-<!-- ##### 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/gras.sgml b/cruft/doc/tmpl/gras.sgml
deleted file mode 100644 (file)
index 3312fb1..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-gras
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM DataTypes ##### -->
-<para>
-
-</para>
-
-@CHAR_TYPE: 
-@DOUBLE_TYPE: 
-@FLOAT_TYPE: 
-@INT_TYPE: 
-@LONG_TYPE: 
-@SHORT_TYPE: 
-@UNSIGNED_INT_TYPE: 
-@UNSIGNED_LONG_TYPE: 
-@UNSIGNED_SHORT_TYPE: 
-@STRUCT_TYPE: 
-@LAST_TYPE: 
-
-<!-- ##### MACRO SIMPLE_DATA ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-
-
-<!-- ##### MACRO SIMPLE_MEMBER ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-@offset: 
-
-
-<!-- ##### MACRO PAD_BYTES ##### -->
-<para>
-
-</para>
-
-@structType: 
-@lastMember: 
-@memberType: 
-@repetitions: 
-
-
-<!-- ##### MACRO EODD ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION grasOpenClientSocket ##### -->
-<para>
-
-</para>
-
-@host: 
-@Param2: 
-@sock: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasOpenServerSocket ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-@sock: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasCloseSocket ##### -->
-<para>
-
-</para>
-
-@sock: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasPeerGetName ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasPeerGetAddress ##### -->
-<para>
-
-</para>
-
-@sd: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasMyMachineName ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### TYPEDEF grasMessageType_t ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION grasMsgRegister ##### -->
-<para>
-
-</para>
-
-@message: 
-@name: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-
-<!-- ##### USER_FUNCTION grasCallbackFunction ##### -->
-<para>
-
-</para>
-
-@sd: 
-@msgType: 
-@vdata: 
-
-
-<!-- ##### FUNCTION grasRegisterCallback ##### -->
-<para>
-
-</para>
-
-@message: 
-@TTL: 
-@cb: 
-
-
-<!-- ##### FUNCTION grasMsgHandle ##### -->
-<para>
-
-</para>
-
-@timeOut: 
-
-
-<!-- ##### FUNCTION grasMsgSend ##### -->
-<para>
-
-</para>
-
-@sd: 
-@message: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasMsgWait ##### -->
-<para>
-
-</para>
-
-@sd: 
-@timeout: 
-@message: 
-@sequence_count: 
-@Varargs: 
-@Returns: 
-
-
-<!-- ##### FUNCTION grasUserdataGet ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION grasUserdataSet ##### -->
-<para>
-
-</para>
-
-@ud: 
-
-
-<!-- ##### MACRO grasUserdataNew ##### -->
-<para>
-
-</para>
-
-@type: 
-
-
diff --git a/cruft/doc/tmpl/gras_private.sgml b/cruft/doc/tmpl/gras_private.sgml
deleted file mode 100644 (file)
index 0fe64db..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-gras_private
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_msg_discard ##### -->
-<para>
-
-</para>
-
-@sd: 
-@size: 
-
-
-<!-- ##### MACRO SIMPLE_TYPE_COUNT ##### -->
-<para>
-
-</para>
-
-
-
diff --git a/cruft/doc/tmpl/gras_rl.sgml b/cruft/doc/tmpl/gras_rl.sgml
deleted file mode 100644 (file)
index 5e633a5..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-RL
-
-<!-- ##### SECTION Short_Description ##### -->
-Implementation of GRAS suited for real life.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION ConvertData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@description: 
-@length: 
-@sourceFormat: 
-
-
-<!-- ##### FUNCTION DifferentFormat ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@Returns: 
-
-
-<!-- ##### FUNCTION DifferentOrder ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION DifferentSize ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@Returns: 
-
-
-<!-- ##### FUNCTION HomogenousConvertData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@whatType: 
-@repetitions: 
-@sourceFormat: 
-
-
-<!-- ##### FUNCTION HomogenousDataSize ##### -->
-<para>
-
-</para>
-
-@whatType: 
-@repetitions: 
-@format: 
-@Returns: 
-
-
-<!-- ##### FUNCTION ReverseData ##### -->
-<para>
-
-</para>
-
-@destination: 
-@source: 
-@whatType: 
-@repetitions: 
-@format: 
-
-
diff --git a/cruft/doc/tmpl/gras_sg.sgml b/cruft/doc/tmpl/gras_sg.sgml
deleted file mode 100644 (file)
index 925dc0b..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-SG
-
-<!-- ##### SECTION Short_Description ##### -->
-Implementation of GRAS on top of the simulator.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-  SimGrid was designed to ease the comparison of algorithms and
-  heuristics. That way, a lot of complicated notion from the system layer
-  were volontary left off. For example, migrating a process from an host to
-  another is as easy as: MSG_process_change_host(process, new_host).
-</para>
-
-<para>
-  No need to tell that performing this operation on real platform is really
-  harder. This simplification is a very good thing when you want to rapidly
-  prototype code, but makes things somehow more complicated in GRAS since
-  we want to have a realistic API, since it have to be implemented in
-  reality also.
-</para>
-
-<para>
-  The best example of complexity in GRAS_SG induced by simplicity in
-  SimGrid is the sockets handling. There is no "socket" in SG, but only
-  m_channel_t. In contrary to sockets from RL, no special treatment is
-  needed for a process before writing or reading on/from a channel. So, a
-  given channel can be pooled by more than one process. Likewise, you can
-  send data to a channel that nobody is actually listening to.
-</para>
-
-<para>
-  The SG implementation of GRAS repport as an error the fact that nobody is
-  listening to the socket when trying to open a socket, or send stuff using
-  a previously openned socket. That way, the SG version can be used to
-  debug all syncronization issues. For that, we store mainly the PID of
-  both the sender and the receiver in the socket structure, and then
-  resolve PID->process at the lastest moment. This search is a bit
-  expensive, but as long as there is no real garbage collection in SG, with
-  the information "dead process" within the structure, it's the only
-  solution to make sure that we won't dereference pointers to an old freed
-  structure when the process on the other side of the structure did finish
-  since the creation of the socket.
-</para>
-
-<para>
-  As said in the overview, the processes can declare to hear on several
-  sockets, but all incoming messages are handled by the same loop. So, we
-  can use only one channel per process, and use a table on each host to
-  determine to which process a message should be delivered depending on the
-  socket number provided by the sender.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-RL, the implementation suited for real life.
-</para>
-
-<!--
-Local variables:
-sgml-parent-document:\.\./gras-docs\.sgml
-sgml-omittag:t
-sgml-shorttag:t
-sgml-namecase-general:t
-sgml-general-insert-case:lower
-sgml-minimize-attributes:nil
-sgml-always-quote-attributes:t
-sgml-indent-step:2
-sgml-indent-data:nil
-sgml-exposed-tags:nil
-sgml-local-catalogs:nil
-sgml-local-ecat-files:nil
-End:
--->
-
diff --git a/cruft/doc/tmpl/nws_comm.sgml b/cruft/doc/tmpl/nws_comm.sgml
deleted file mode 100644 (file)
index 88570e2..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-nws_comm
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### MACRO BEGIN_DECL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO END_DECL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM DataTypes ##### -->
-<para>
-
-</para>
-
-@CHAR_TYPE: 
-@DOUBLE_TYPE: 
-@FLOAT_TYPE: 
-@INT_TYPE: 
-@LONG_TYPE: 
-@SHORT_TYPE: 
-@UNSIGNED_INT_TYPE: 
-@UNSIGNED_LONG_TYPE: 
-@UNSIGNED_SHORT_TYPE: 
-@STRUCT_TYPE: 
-@LAST_TYPE: 
-
-<!-- ##### ENUM FormatTypes ##### -->
-<para>
-
-</para>
-
-@HOST_FORMAT: 
-@NETWORK_FORMAT: 
-
-<!-- ##### MACRO SIMPLE_DATA ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-
-
-<!-- ##### MACRO SIMPLE_MEMBER ##### -->
-<para>
-
-</para>
-
-@type: 
-@repetitions: 
-@offset: 
-
-
-<!-- ##### MACRO PAD_BYTES ##### -->
-<para>
-
-</para>
-
-@structType: 
-@lastMember: 
-@memberType: 
-@repetitions: 
-
-
diff --git a/cruft/doc/tmpl/surf_maxmin.sgml b/cruft/doc/tmpl/surf_maxmin.sgml
deleted file mode 100644 (file)
index 11c193c..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Max-min linear solver
-
-<!-- ##### SECTION Short_Description ##### -->
-A linear program solver where the constraints are positive and the
-objective function is max-min.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION lmm_system_new ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_system_free ##### -->
-<para>
-
-</para>
-
-@sys: 
-
-
-<!-- ##### FUNCTION lmm_variable_disable ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-
-
-<!-- ##### FUNCTION lmm_constraint_new ##### -->
-<para>
-
-</para>
-
-@sys: 
-@id: 
-@bound_value: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_constraint_free ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-
-
-<!-- ##### FUNCTION lmm_variable_new ##### -->
-<para>
-
-</para>
-
-@sys: 
-@id: 
-@weight_value: 
-@bound: 
-@number_of_constraints: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_variable_free ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-
-
-<!-- ##### FUNCTION lmm_variable_getvalue ##### -->
-<para>
-
-</para>
-
-@var: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_expand ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-@var: 
-@value: 
-
-
-<!-- ##### FUNCTION lmm_get_cnst_from_var ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-@num: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_get_number_of_cnst_from_var ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_get_var_from_cnst ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-@var: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_constraint_id ##### -->
-<para>
-
-</para>
-
-@cnst: 
-
-
-<!-- ##### FUNCTION lmm_variable_id ##### -->
-<para>
-
-</para>
-
-@var: 
-
-
-<!-- ##### FUNCTION lmm_update ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-@var: 
-@value: 
-
-
-<!-- ##### FUNCTION lmm_update_variable_bound ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-@bound: 
-
-
-<!-- ##### FUNCTION lmm_update_variable_weight ##### -->
-<para>
-
-</para>
-
-@sys: 
-@var: 
-@weight: 
-
-
-<!-- ##### FUNCTION lmm_update_constraint_bound ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-@bound: 
-
-
-<!-- ##### FUNCTION lmm_constraint_used ##### -->
-<para>
-
-</para>
-
-@sys: 
-@cnst: 
-@Returns: 
-
-
-<!-- ##### FUNCTION lmm_solve ##### -->
-<para>
-
-</para>
-
-@sys: 
-
-
diff --git a/cruft/doc/tmpl/virtu_fs.sgml b/cruft/doc/tmpl/virtu_fs.sgml
deleted file mode 100644 (file)
index 4873232..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-File System
-
-<!-- ##### SECTION Short_Description ##### -->
-File system abstraction layer (TODO)
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This module is only planned for now.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
diff --git a/cruft/doc/tmpl/virtu_globals.sgml b/cruft/doc/tmpl/virtu_globals.sgml
deleted file mode 100644 (file)
index 1a63025..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Globals
-
-<!-- ##### SECTION Short_Description ##### -->
-Handling global variables so that it works on simulator
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>In GRAS, using globals is forbidden since the daemons will        
-sometimes run as a thread inside the same process. So, you have to put 
-all globals in a structure, and tell GRAS that it's your globals.</para>
-
-<para>Use the grasUserdataNew() macro to create a new user data (or malloc it
-yourself and use grasUserdataSet yourself), and grasUserdataGet() to
-retrive a reference to it.</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_userdata_get ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gras_userdata_set ##### -->
-<para>
-
-</para>
-
-@ud: 
-
-
-<!-- ##### MACRO gras_userdata_new ##### -->
-<para>
-
-</para>
-
-@type: 
-
-
diff --git a/cruft/doc/tmpl/virtu_syscall.sgml b/cruft/doc/tmpl/virtu_syscall.sgml
deleted file mode 100644 (file)
index 03f4b4a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-System Calls
-
-<!-- ##### SECTION Short_Description ##### -->
-System call abstraction layer.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION gras_os_time ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION gras_os_sleep ##### -->
-<para>
-
-</para>
-
-@Param1: 
-@Param2: 
-
-
diff --git a/cruft/doc/tmpl/xbt_config.sgml b/cruft/doc/tmpl/xbt_config.sgml
deleted file mode 100644 (file)
index c7f6f0a..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-<!-- ##### 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
deleted file mode 100644 (file)
index 552b162..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!-- ##### 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
deleted file mode 100644 (file)
index d5217fc..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!-- ##### 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
deleted file mode 100644 (file)
index fb88956..0000000
+++ /dev/null
@@ -1,192 +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>
-
-<!-- ##### 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
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/xbt_heap.sgml b/cruft/doc/tmpl/xbt_heap.sgml
deleted file mode 100644 (file)
index f34856d..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-<!-- ##### 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: 
-
-
diff --git a/cruft/doc/tmpl/xbt_log.sgml b/cruft/doc/tmpl/xbt_log.sgml
deleted file mode 100644 (file)
index 09091fc..0000000
+++ /dev/null
@@ -1,559 +0,0 @@
-<!-- ##### SECTION Title ##### -->
-Logging facilities
-
-<!-- ##### SECTION Short_Description ##### -->
-An easy-to-use, fast and flexible message logging architecture.
-
-<!-- ##### SECTION 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 See_Also ##### -->
-<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>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CVERB6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CINFO6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CWARN6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CERROR6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CCRITICAL6 ##### -->
-<para>
-
-</para>
-
-@c: 
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO DEBUG6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO VERB6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO INFO6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO WARN6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO ERROR6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
-<!-- ##### MACRO CRITICAL6 ##### -->
-<para>
-
-</para>
-
-@f: 
-@a1: 
-@a2: 
-@a3: 
-@a4: 
-@a5: 
-@a6: 
-
-
diff --git a/cruft/doc/tmpl/xbt_set.sgml b/cruft/doc/tmpl/xbt_set.sgml
deleted file mode 100644 (file)
index a7737fb..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<!-- ##### 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
deleted file mode 100644 (file)
index 2119f6d..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<!-- ##### 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: 
-
-