summaryrefslogtreecommitdiff
path: root/src/uci/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uci/state.c')
-rw-r--r--src/uci/state.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/uci/state.c b/src/uci/state.c
new file mode 100644
index 0000000..848c6a9
--- /dev/null
+++ b/src/uci/state.c
@@ -0,0 +1,60 @@
+#include "state.h"
+
+option_setting_t option_setting_combo(
+ char* option_name,
+ char** combinations,
+ int combinations_count,
+ int default_value
+) {
+ option_setting_t output = {0};
+ memcpy(output.option_name, option_name, 32);
+ output.type = OPTION_COMBO;
+ output.data.combo = (option_combo_setting_t) {
+ combinations,
+ combinations_count,
+ default_value
+ };
+ return output;
+}
+
+option_setting_t option_setting_spin(
+ const char* option_name,
+ int min,
+ int max,
+ int default_value
+) {
+ option_setting_t output = {0};
+ memcpy(output.option_name, option_name, 32);
+ output.type = OPTION_SPIN;
+ output.data.spin = (option_spin_setting_t) { min, max, default_value };
+ return output;
+}
+
+option_setting_t option_setting_check(
+ const char* option_name,
+ bool default_value
+) {
+ option_setting_t output = {0};
+ memcpy(output.option_name, option_name, 32);
+ output.type = OPTION_CHECK;
+ output.data.check_default = default_value;
+ return output;
+}
+
+option_setting_t option_setting_string(
+ const char* option_name,
+ const char* default_value
+) {
+ option_setting_t output = {0};
+ memcpy(output.option_name, option_name, 32);
+ output.type = OPTION_STRING;
+ output.data.string_default = default_value;
+ return output;
+}
+
+option_setting_t option_setting_button(const char* option_name) {
+ option_setting_t output = {0};
+ memcpy(output.option_name, option_name, 32);
+ output.type = OPTION_BUTTON;
+ return output;
+}