diff options
author | Nick Mathewson <nickm@torproject.org> | 2019-09-05 11:48:52 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2019-09-11 09:42:19 -0400 |
commit | bbd40e690ee596af60fb38c5e89dec92f6091b1d (patch) | |
tree | 07830252de89d1b10dc70f2d9d2dbe69800c9128 /src | |
parent | 0d6d96396cf4b56bb99b96d39d1c7366792cdbb6 (diff) | |
download | tor-bbd40e690ee596af60fb38c5e89dec92f6091b1d.tar.gz tor-bbd40e690ee596af60fb38c5e89dec92f6091b1d.zip |
Revise documentation on CFLG_* flags
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/conf/conftypes.h | 46 |
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) |