Framework for exporting system header to user space (#59)
[lunaix-os.git] / lunaix-os / includes / usr / lunaix / wait.h
diff --git a/lunaix-os/includes/usr/lunaix/wait.h b/lunaix-os/includes/usr/lunaix/wait.h
new file mode 100644 (file)
index 0000000..222923b
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef _LUNAIX_UHDR_WAIT_H
+#define _LUNAIX_UHDR_WAIT_H
+
+#define PEXITTERM   0x100
+#define PEXITSTOP   0x200
+#define PEXITSIG    0x400
+
+#define WNOHANG     1
+#define WUNTRACED   2
+
+#define PEXITNUM(flag, code)    (flag | (code & 0xff))
+#define WEXITSTATUS(wstatus)    ((wstatus & 0xff))
+#define WIFSTOPPED(wstatus)     ((wstatus & PEXITSTOP))
+#define WIFSIGNALED(wstatus)    ((wstatus & PEXITSIG))
+
+#define WIFEXITED(wstatus)                                                     \
+    ((wstatus & PEXITTERM) && ((char)WEXITSTATUS(wstatus) >= 0))
+
+#endif /* _LUNAIX_UHDR_WAIT_H */