summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
authorrubin <rubinowyblask@meow.li>2026-05-22 13:42:51 +0200
committerrubin <rubinowyblask@meow.li>2026-05-22 13:42:51 +0200
commit77dc79afe5fd909fb1fe0a3cc668db2763b82fb8 (patch)
treefbca4863a432f33822f8ee97d9fe39c15462b401 /main.c
import repository
Signed-off-by: rubinowy blask <rubinowyblask@encore.hosts.lumine>
Diffstat (limited to 'main.c')
-rw-r--r--main.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..8a87442
--- /dev/null
+++ b/main.c
@@ -0,0 +1,40 @@
+#include <string.h>
+#include <errno.h>
+#include <stdio.h>
+
+#include "fdwatcher.h"
+#include "logging.h"
+#include "network.h"
+#include "parent.h"
+#include "child.h"
+
+int
+isChildProcess(int argc, char **argv)
+{
+	if (argc < 3) {
+		return 0;
+	}
+
+	if (strcmp(argv[1], "childprocess") != 0) {
+		return 0;
+	}
+
+	return 1;
+}
+
+int
+main(int argc, char **argv)
+{
+	#ifdef __OpenBSD__
+	aura_printf("hello, OpenBSD user. for paranoia's sake, pledge(3) will be run.\n");
+	pledge("stdio inet", "stdio inet");
+	aura_printf("yippie\n");
+	#endif
+
+	if (isChildProcess(argc, argv)) {
+		aura_printf("child process\n");
+		return childProcessMain(argc, argv);
+	}
+
+	return parentProcessMain();
+}