#include "engine.h"\r
#include "line.h"\r
#include "move.h"\r
+#include "option.h"\r
#include "util.h"\r
\r
-// constants\r
+// macros\r
\r
-const int OptionNb = 256;\r
+// I need to make a uniform string type.\r
\r
-// types\r
+#define UciStringSize 4096\r
\r
-struct option_t {\r
- const char * name;\r
- const char * value;\r
- const char * type;\r
- const char * max;\r
- const char * min;\r
- const char * var;\r
-};\r
+// types\r
\r
-struct uci_t {\r
+typedef struct {\r
\r
engine_t * engine;\r
\r
const char * name;\r
const char * author;\r
\r
- int option_nb;\r
- option_t option[OptionNb];\r
+ option_list_t option[1];\r
\r
bool ready;\r
int ready_nb;\r
int root_move_pos;\r
int root_move_nb;\r
bool multipv_mode;\r
-};\r
-\r
-enum dummy_event_t {\r
- EVENT_NONE = 0,\r
- EVENT_UCI = 1 << 0,\r
- EVENT_READY = 1 << 1,\r
- EVENT_STOP = 1 << 2,\r
- EVENT_MOVE = 1 << 3,\r
- EVENT_PV = 1 << 4,\r
- EVENT_DEPTH = 1 << 5,\r
- EVENT_DRAW = 1 << 6,\r
- EVENT_RESIGN= 1 << 7\r
-};\r
+ char info[UciStringSize];\r
+} uci_t;\r
+\r
+typedef enum {\r
+ EVENT_NONE = 0,\r
+ EVENT_UCI = 1 << 0,\r
+ EVENT_READY = 1 << 1,\r
+ EVENT_STOP = 1 << 2,\r
+ EVENT_MOVE = 1 << 3,\r
+ EVENT_PV = 1 << 4,\r
+ EVENT_DEPTH = 1 << 5,\r
+ EVENT_DRAW = 1 << 6,\r
+ EVENT_RESIGN = 1 << 7,\r
+ EVENT_ILLEGAL_MOVE = 1 << 8,\r
+ EVENT_INFO = 1 << 9\r
+} dummy_event_t;\r
\r
// variables\r
\r
extern void uci_send_stop_sync (uci_t * uci);\r
extern void uci_send_ucinewgame (uci_t * uci);\r
extern void uci_set_threads (uci_t * uci, int n);\r
-extern bool uci_thread_option_exist(uci_t * uci);\r
-extern int uci_get_option (uci_t * uci, const char * name);\r
-\r
-extern bool uci_option_exist (uci_t * uci, const char option[]);\r
-extern void uci_send_option (uci_t * uci, const char option[], const char format[], ...);\r
-\r
-extern void uci_close (uci_t * uci);\r
-\r
-extern void uci_clear (uci_t * uci);\r
-\r
-extern int uci_parse (uci_t * uci, const char string[]);\r
-\r
-void uci_set_option(uci_t * uci,\r
- const char * name,\r
- const char * value,\r
- const char * type,\r
- const char * max,\r
- const char * min,\r
- const char * var);\r
+extern const char * uci_thread_option(uci_t * uci);\r
+extern bool uci_send_option (uci_t * uci, const char option[], const char format[], ...);\r
+extern void uci_close (uci_t * uci);\r
+extern void uci_clear (uci_t * uci);\r
+extern int uci_parse (uci_t * uci, const char string[]);\r
\r
#endif // !defined UCI_H\r
\r