summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/daemon/links.json1
-rw-r--r--ui/daemon/ui.c39
2 files changed, 40 insertions, 0 deletions
diff --git a/ui/daemon/links.json b/ui/daemon/links.json
new file mode 100644
index 0000000..fe51488
--- /dev/null
+++ b/ui/daemon/links.json
@@ -0,0 +1 @@
+[]
diff --git a/ui/daemon/ui.c b/ui/daemon/ui.c
new file mode 100644
index 0000000..4fea1ef
--- /dev/null
+++ b/ui/daemon/ui.c
@@ -0,0 +1,39 @@
+// file : ui/daemon/ui.c
+// project : Salis-VM
+// author : Paul Oliver <contact@pauloliver.dev>
+
+#include <signal.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <threads.h>
+#include <zlib.h>
+
+#include "arch_spec.h"
+#include "compress.h"
+#include "logger.h"
+#include "salis.h"
+
+static void quit(int signo) {
+ log_attention("Signal %d received, will stop simulator soon", signo);
+ salis_signal_stop();
+}
+
+int main(void) {
+ log_info("Initializing daemon UI");
+ log_info("Installing signal handlers");
+ signal(SIGINT, quit);
+ signal(SIGTERM, quit);
+
+#if defined(COMMAND_NEW)
+ salis_init();
+#endif
+
+#if defined(COMMAND_LOAD)
+ salis_load();
+#endif
+
+ salis_start();
+ salis_join();
+ salis_free();
+ return 0;
+}