* @file include/gnunet_configuration_lib.h
* @brief configuration API
* @author Christian Grothoff
- * @defgroup configuration Configuration management
+ * @defgroup configuration Configuration management
* @{
*/
#ifndef GNUNET_CONFIGURATION_LIB_H
/**
* Write only configuration entries that have been changed to configuration file
- * @param cfgDefault default configuration
- * @param cfgNew new configuration
+ * @param cfg_default default configuration
+ * @param cfg_new new configuration
* @param filename where to write the configuration diff between default and new
* @return #GNUNET_OK on success, #GNUNET_SYSERR on error
*/
int
GNUNET_CONFIGURATION_write_diffs (const struct GNUNET_CONFIGURATION_Handle
- *cfgDefault,
+ *cfg_default,
const struct GNUNET_CONFIGURATION_Handle
- *cfgNew, const char *filename);
+ *cfg_new, const char *filename);
/**
* Compute configuration with only entries that have been changed
*
- * @param cfgDefault original configuration
- * @param cfgNew new configuration
+ * @param cfg_default original configuration
+ * @param cfg_new new configuration
* @return configuration with only the differences, never NULL
*/
struct GNUNET_CONFIGURATION_Handle *
GNUNET_CONFIGURATION_get_diff (const struct GNUNET_CONFIGURATION_Handle
- *cfgDefault,
+ *cfg_default,
const struct GNUNET_CONFIGURATION_Handle
- *cfgNew);
+ *cfg_new);
/**
* @return #GNUNET_OK on success, #GNUNET_SYSERR on error
*/
int
-GNUNET_CONFIGURATION_get_value_string (const struct GNUNET_CONFIGURATION_Handle *cfg,
+GNUNET_CONFIGURATION_get_value_string (const struct GNUNET_CONFIGURATION_Handle *cfg,
const char *section,
- const char *option,
+ const char *option,
char **value);
/**
* Expand an expression of the form "$FOO/BAR" to "DIRECTORY/BAR"
- * where either in the "PATHS" section or the environtment
- * "FOO" is set to "DIRECTORY".
+ * where either in the "PATHS" section or the environtment "FOO" is
+ * set to "DIRECTORY". We also support default expansion,
+ * i.e. ${VARIABLE:-default} will expand to $VARIABLE if VARIABLE is
+ * set in PATHS or the environment, and otherwise to "default". Note
+ * that "default" itself can also be a $-expression, thus
+ * "${VAR1:-{$VAR2}}" will expand to VAR1 and if that is not defined
+ * to VAR2.
*
* @param cfg configuration to use for path expansion
- * @param orig string to $-expand (will be freed!)
+ * @param orig string to $-expand (will be freed!) Note that multiple
+ * $-expressions can be present in this string. They will all be
+ * $-expanded.
* @return $-expanded string
*/
char *