version 1.4w10UCIb16
[polyglot.git] / option.h
1 \r
2 // option.h\r
3 \r
4 #ifndef OPTION_H\r
5 #define OPTION_H\r
6 \r
7 // includes\r
8 \r
9 #include "util.h"\r
10 \r
11 // constants\r
12 \r
13 const int VarNb = 16;\r
14 \r
15 // defines\r
16 \r
17 #define XBOARD 1\r
18 #define UCI 2\r
19 #define PG 4\r
20 \r
21 // types\r
22 \r
23 struct option_t {   // TODO: put back in more logical order\r
24     const char * name;\r
25     const char * type;\r
26     const char * min;\r
27     const char * max;\r
28     const char * default_;\r
29     const char * value;\r
30     int var_nb;\r
31     const char * var[VarNb];\r
32     int mode;\r
33 };\r
34 \r
35 // variables\r
36 \r
37 extern option_t Option[];\r
38 \r
39 // functions\r
40 \r
41 extern void         option_init       ();\r
42 \r
43 extern bool         option_set        (const char var[], const char val[]);\r
44 extern bool         option_set_default(const char var[], const char val[]);\r
45 extern const char * option_get        (const char var[]);\r
46 extern const char * option_get_default(const char var[]);\r
47 \r
48 extern bool         option_get_bool   (const char var[]);\r
49 extern double       option_get_double (const char var[]);\r
50 extern int          option_get_int    (const char var[]);\r
51 extern const char * option_get_string (const char var[]);\r
52 \r
53 #endif // !defined OPTION_H\r
54 \r
55 // end of option.h\r
56 \r