summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-09-05 11:48:52 -0400
committerDavid Goulet <dgoulet@torproject.org>2019-09-11 09:42:19 -0400
commitbbd40e690ee596af60fb38c5e89dec92f6091b1d (patch)
tree07830252de89d1b10dc70f2d9d2dbe69800c9128 /src
parent0d6d96396cf4b56bb99b96d39d1c7366792cdbb6 (diff)
downloadtor-bbd40e690ee596af60fb38c5e89dec92f6091b1d.tar.gz
tor-bbd40e690ee596af60fb38c5e89dec92f6091b1d.zip
Revise documentation on CFLG_* flags
Diffstat (limited to 'src')
-rw-r--r--src/lib/conf/conftypes.h46
1 files changed, 28 insertions, 18 deletions
diff --git a/src/lib/conf/conftypes.h b/src/lib/conf/conftypes.h
index 1f6120670d..aabdfdce7a 100644
--- a/src/lib/conf/conftypes.h
+++ b/src/lib/conf/conftypes.h
@@ -132,40 +132,50 @@ typedef struct struct_magic_decl_t {
} struct_magic_decl_t;
/**
- * Flag to indicate that an option is undumpable. An undumpable option is
- * never saved to disk.
+ * Flag to indicate that an option or type is "undumpable". An
+ * undumpable option is never saved to disk.
*
- * For historical reasons it is prefixed with __ but not with ___.
+ * For historical reasons its name is usually is prefixed with __.
**/
#define CFLG_NODUMP (1u<<0)
/**
- * Flag to indicate that an option is "invisible". An invisible option
- * is always undumpable, and we don't tell the controller about it.
- * For historical reasons it is prefixed with ___.
+ * Flag to indicate that an option or type is "unlisted".
+ *
+ * We don't tell the controller about unlisted options when it asks for a
+ * list of them.
**/
#define CFLG_NOLIST (1u<<1)
-
/**
- * Flag for var_type_def_t.
- * Set iff a variable of this type can never be set directly by name.
+ * Flag to indicate that an option or type is "unsettable".
+ *
+ * An unsettable option can never be set directly by name.
**/
#define CFLG_NOSET (1u<<2)
/**
- * Flag for var_type_def_t.
- * Set iff a variable of this type is does not need to be copied when copying
- * the structure that contains it.
+ * Flag to indicate that an option or type does not need to be copied when
+ * copying the structure that contains it.
+ *
+ * (Usually, if an option does not need to be copied, then either it contains
+ * no data, or the data that it does contain is completely contained within
+ * another option.)
**/
#define CFLG_NOCOPY (1u<<3)
/**
- * Flag for var_type_def_t.
- * Set iff a variable of this type does not need to be compared when comparing
- * two objects that contain it.
+ * Flag to indicate that an option or type does not need to be compared
+ * when telling the controller about the differences between two
+ * configurations.
+ *
+ * (Usually, if an option does not need to be compared, then either it
+ * contains no data, or the data that it does contain is completely contained
+ * within another option.)
**/
#define CFLG_NOCMP (1u<<4)
/**
- * Flag for var_type_def_t.
- * Set iff a variable of this type can be set more than once without
- * destroying older values. Such variables should implement "mark_fragile".
+ * Flag to indicate that an option or type should not be replaced when setting
+ * it.
+ *
+ * For most options, setting them replaces their old value. For some options,
+ * however, setting them appends to their old value.
*/
#define CFLG_NOREPLACE (1u<<5)