1 /**
2  * @file
3  * Type representing a quad-option
4  *
5  * @authors
6  * Copyright (C) 2017-2018 Richard Russon <rich@flatcap.org>
7  *
8  * @copyright
9  * This program is free software: you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License as published by the Free Software
11  * Foundation, either version 2 of the License, or (at your option) any later
12  * version.
13  *
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License along with
20  * this program.  If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #ifndef MUTT_CONFIG_QUAD_H
24 #define MUTT_CONFIG_QUAD_H
25 
26 struct Buffer;
27 struct ConfigSubset;
28 struct HashElem;
29 
30 extern const char *QuadValues[];
31 
32 /**
33  * enum QuadOption - Possible values for a quad-option
34  */
35 enum QuadOption
36 {
37   MUTT_ABORT = -1, ///< User aborted the question (with Ctrl-G)
38   MUTT_NO,         ///< User answered 'No', or assume 'No'
39   MUTT_YES,        ///< User answered 'Yes', or assume 'Yes'
40   MUTT_ASKNO,      ///< Ask the user, defaulting to 'No'
41   MUTT_ASKYES,     ///< Ask the user, defaulting to 'Yes'
42 };
43 
44 int quad_he_toggle (struct ConfigSubset *sub, struct HashElem *he, struct Buffer *err);
45 int quad_str_toggle(struct ConfigSubset *sub, const char *name,    struct Buffer *err);
46 
47 #endif /* MUTT_CONFIG_QUAD_H */
48