Index: fusl/include/sys/wait.h |
diff --git a/fusl/include/sys/wait.h b/fusl/include/sys/wait.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..50c5c709a6beaa5575f9ab56e24bd115abf77c5d |
--- /dev/null |
+++ b/fusl/include/sys/wait.h |
@@ -0,0 +1,59 @@ |
+#ifndef _SYS_WAIT_H |
+#define _SYS_WAIT_H |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <features.h> |
+ |
+#define __NEED_pid_t |
+#define __NEED_id_t |
+#include <bits/alltypes.h> |
+ |
+typedef enum { |
+ P_ALL = 0, |
+ P_PID = 1, |
+ P_PGID = 2 |
+} idtype_t; |
+ |
+pid_t wait (int *); |
+pid_t waitpid (pid_t, int *, int ); |
+ |
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ |
+ || defined(_BSD_SOURCE) |
+#include <signal.h> |
+int waitid (idtype_t, id_t, siginfo_t *, int); |
+#endif |
+ |
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
+#include <sys/resource.h> |
+pid_t wait3 (int *, int, struct rusage *); |
+pid_t wait4 (pid_t, int *, int, struct rusage *); |
+#endif |
+ |
+#define WNOHANG 1 |
+#define WUNTRACED 2 |
+ |
+#define WSTOPPED 2 |
+#define WEXITED 4 |
+#define WCONTINUED 8 |
+#define WNOWAIT 0x1000000 |
+ |
+#define __WNOTHREAD 0x20000000 |
+#define __WALL 0x40000000 |
+#define __WCLONE 0x80000000 |
+ |
+#define WEXITSTATUS(s) (((s) & 0xff00) >> 8) |
+#define WTERMSIG(s) ((s) & 0x7f) |
+#define WSTOPSIG(s) WEXITSTATUS(s) |
+#define WCOREDUMP(s) ((s) & 0x80) |
+#define WIFEXITED(s) (!WTERMSIG(s)) |
+#define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00) |
+#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) |
+#define WIFCONTINUED(s) ((s) == 0xffff) |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+#endif |