version 1.4.30b
[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 // defines\r
12 \r
13 #define VarNb  16\r
14 #define XBOARD (1<<0)\r
15 #define UCI    (1<<1)\r
16 #define PG     (1<<2)\r
17 \r
18 // types\r
19 \r
20 typedef struct {   // TODO: put back in more logical order\r
21     const char * name;\r
22     const char * type;\r
23     const char * min;\r
24     const char * max;\r
25     const char * default_;\r
26     const char * value;\r
27     int var_nb;\r
28     const char * var[VarNb];\r
29     int mode;\r
30 } option_t;\r
31 \r
32 // variables\r
33 \r
34 extern option_t Option[];\r
35 \r
36 // functions\r
37 \r
38 extern void         option_init       ();\r
39 \r
40 extern bool         option_set        (const char var[], const char val[]);\r
41 extern bool         option_set_default(const char var[], const char val[]);\r
42 extern const char * option_get        (const char var[]);\r
43 extern const char * option_get_default(const char var[]);\r
44 \r
45 extern bool         option_get_bool   (const char var[]);\r
46 extern double       option_get_double (const char var[]);\r
47 extern int          option_get_int    (const char var[]);\r
48 extern const char * option_get_string (const char var[]);\r
49 \r
50 #endif // !defined OPTION_H\r
51 \r
52 // end of option.h\r
53 \r