aboutsummaryrefslogtreecommitdiff
path: root/src/app/config/confparse.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-10-01 12:12:33 -0500
committerNick Mathewson <nickm@torproject.org>2018-10-01 12:12:33 -0500
commit43211c3a0c4b56d4100daf3a541250b953fb7230 (patch)
tree17ccca4c79f3a36804363a1430e5996a68d333b7 /src/app/config/confparse.h
parent58299b2927ffe4c7db7ddb6b3d44d1567c8a341f (diff)
parent8812f562a03234723871b893f269db09e78654fc (diff)
downloadtor-43211c3a0c4b56d4100daf3a541250b953fb7230.tar.gz
tor-43211c3a0c4b56d4100daf3a541250b953fb7230.zip
Merge remote-tracking branch 'public/bug27893'
Diffstat (limited to 'src/app/config/confparse.h')
-rw-r--r--src/app/config/confparse.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/app/config/confparse.h b/src/app/config/confparse.h
index aebd035c56..efaa3e480a 100644
--- a/src/app/config/confparse.h
+++ b/src/app/config/confparse.h
@@ -155,6 +155,9 @@ typedef struct config_var_t {
* of arguments. */
typedef int (*validate_fn_t)(void*,void*,void*,int,char**);
+/** Callback to free a configuration object. */
+typedef void (*free_cfg_fn_t)(void*);
+
/** Information on the keys, value types, key-to-struct-member mappings,
* variable descriptions, validation functions, and abbreviations for a
* configuration or storage format. */
@@ -169,6 +172,7 @@ typedef struct config_format_t {
config_var_t *vars; /**< List of variables we recognize, their default
* values, and where we stick them in the structure. */
validate_fn_t validate_fn; /**< Function to validate config. */
+ free_cfg_fn_t free_fn; /**< Function to free the configuration. */
/** If present, extra is a LINELIST variable for unrecognized
* lines. Otherwise, unrecognized lines are an error. */
config_var_t *extra;