added support for glGetIntegerv
[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 {GLIAR_NUMBER, GLIAR_STRING};
27
28 struct cfgopt {
29         char *key;
30         char **str_val;
31         int str_count;
32
33         char* conc_vals;
34
35         int num_val;
36         enum type type;
37
38         struct cfgopt *next;
39 };
40
41 void gliar_value_set(const char *key, char **valid, int vcount);
42
43 struct cfgopt *gliar_load_cfg(const char *fname);
44
45 const struct cfgopt *gliar_find_opt(struct cfgopt *list, const char *name);
46
47 void gliar_print_opt(struct cfgopt *list);
48
49 #endif  /* CFG_H_ */