summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
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();
+}