diff options
Diffstat (limited to 'src/common/include/proto/proc.h')
-rw-r--r-- | src/common/include/proto/proc.h | 25 |
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 :*/ |