-/** @defgroup XBT_cfg_decl 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 Configuration set are only special dynars. But don't rely on it, it may change. */
- typedef xbt_dynar_t xbt_cfg_t;
-
- /** @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>
- *
- * This how to add new variables to an existing configuration set. Use it to make your code
- * configurable.
- *
- * @{
- */
- void xbt_cfg_register(xbt_cfg_t cfg,
- const char *name, e_xbt_cfgelm_type_t type,
- int min, int max,
- xbt_cfg_cb_t cb_set, xbt_cfg_cb_t cb_rm);
- void xbt_cfg_unregister(xbt_cfg_t cfg, const char *name);
- void xbt_cfg_register_str(xbt_cfg_t cfg, const char *entry);
- void xbt_cfg_check(xbt_cfg_t cfg);
- e_xbt_cfgelm_type_t xbt_cfg_get_type(xbt_cfg_t cfg, const char *name);
-/* @} */