added support for numerical values in option struct
[libgliar] / src / cfg.h
1 /*
2 libgliar - a library that can fake the OpenGL context info returned by
3 the glGet OpenGL calls
4
5 Copyright (C) 2013 Canonical Ltd
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 Author: Eleni Maria Stea <elene.mst@gmail.com>
21 */
22
23 #ifndef CFG_H_
24 #define CFG_H_
25
26 enum TYPE {unknown, flt, dbl, boolean, integer, str};
27
28 struct cfgopt {
29         char *key;
30         char *str_val;
31
32   double num_val;
33   enum TYPE type;
34
35         struct cfgopt *next;
36 };
37
38 struct cfgopt *gliar_load_cfg(const char *fname);
39
40 const char *gliar_find_opt(struct cfgopt *list, const char *name);
41
42 void gliar_print_opt(struct cfgopt *list);
43
44 #endif  /* CFG_H_ */