aboutsummaryrefslogtreecommitdiff
path: root/src/common/include/proto/proc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/include/proto/proc.h')
-rw-r--r--src/common/include/proto/proc.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/common/include/proto/proc.h b/src/common/include/proto/proc.h
new file mode 100644
index 0000000..29b5b91
--- /dev/null
+++ b/src/common/include/proto/proc.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include <stddef.h>
+#include <stdint.h>
+
+typedef int pid_t;
+
+#define PS_LOADING 1
+#define PS_RUNNING 2
+#define PS_FINISHED 3
+#define PS_FAILURE 4 // exception or segfault or stuff
+#define PS_KILLED 5
+
+#define FAIL_EXCEPTION 1 // unhandled processor exception
+#define FAIL_ZEROPTR 2 // segfault at < 4k
+#define FAIL_SEGFAULT 3
+#define FAIL_SC_SEGFAULT 4 // failed to validate parameter for system call
+
+typedef struct {
+ int pid;
+ int status; // one of PS_*
+ int exit_code; // an error code if state == PS_FAILURE
+} proc_status_t;
+
+/* vim: set ts=4 sw=4 tw=0 noet :*/