summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-11-29 17:38:19 -0500
committerNick Mathewson <nickm@torproject.org>2011-11-29 17:38:19 -0500
commit9e25422eed03ad5fe8f54653fbc74668561f43a1 (patch)
treef313043fc8c23e439f769f83ae88b9c5c5340c20 /src/or/or.h
parentaba25a6939a5907d40dbcff7433a8c130ffd12ad (diff)
parent230422b955e1708f27f42cdd25e8b21a33fdd3dd (diff)
downloadtor-9e25422eed03ad5fe8f54653fbc74668561f43a1.tar.gz
tor-9e25422eed03ad5fe8f54653fbc74668561f43a1.zip
Merge branch 'multilevel_cfg'
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 185d20d429..25e4e0f98c 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2838,11 +2838,25 @@ typedef struct port_cfg_t {
char unix_addr[FLEXIBLE_ARRAY_MEMBER];
} port_cfg_t;
+/** Ordinary configuration line. */
+#define CONFIG_LINE_NORMAL 0
+/** Appends to previous configuration for the same option, even if we
+ * would ordinary replace it. */
+#define CONFIG_LINE_APPEND 1
+/* Removes all previous configuration for an option. */
+#define CONFIG_LINE_CLEAR 2
+
/** A linked list of lines in a config file. */
typedef struct config_line_t {
char *key;
char *value;
struct config_line_t *next;
+ /** What special treatment (if any) does this line require? */
+ unsigned int command:2;
+ /** If true, subsequent assignments to this linelist should replace
+ * it, not extend it. Set only on the first item in a linelist in an
+ * or_options_t. */
+ unsigned int fragile:1;
} config_line_t;
typedef struct routerset_t routerset_t;