+
+/** @defgroup XBT_cfg_decl Configuration type declaration and memory management
+ * @ingroup XBT_config
+ *
+ * <center><table><tr><td><b>Top</b> <td> [\ref index]::[\ref XBT_API]::[\ref XBT_config]
+ * <tr><td><b>Prev</b> <td> [\ref XBT_cfg_use]
+ * <tr><td><b>Next</b> <td> [\ref XBT_cfg_register] </table></center>
+ *
+ * @{
+ */
+
+ /** @brief possible content of each configuration cell */
+ typedef enum {
+ xbt_cfgelm_int=0, /**< int */
+ xbt_cfgelm_double, /**< double */
+ xbt_cfgelm_string, /**< char* */
+ xbt_cfgelm_host, /**< both a char* (representing the hostname) and an integer (representing the port) */
+
+ xbt_cfgelm_any, /* not shown to users to prevent errors */
+ xbt_cfgelm_type_count
+ } e_xbt_cfgelm_type_t;
+
+ /** \brief Callback types. They get the name of the modified entry, and the position of the changed value */
+ typedef void (*xbt_cfg_cb_t)(const char*, int);
+
+ xbt_cfg_t xbt_cfg_new (void);
+ void xbt_cfg_cpy(xbt_cfg_t tocopy, /* OUT */ xbt_cfg_t *whereto);
+ void xbt_cfg_free(xbt_cfg_t *cfg);
+ void xbt_cfg_dump(const char *name,const char*indent,xbt_cfg_t cfg);
+
+ /** @} */
+
+/** @defgroup XBT_cfg_register Registering stuff
+ * @ingroup XBT_config
+ *
+ * <center><table><tr><td><b>Top</b> <td> [\ref index]::[\ref XBT_API]::[\ref XBT_config]
+ * <tr><td><b>Prev</b> <td> [\ref XBT_cfg_decl]
+ * <tr><td><b>Next</b> <td> [\ref XBT_cfg_get] </table></center>