aboutsummaryrefslogtreecommitdiff
path: root/system/include/libc/sys/wait.h
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-10-09 07:27:06 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-10-09 07:27:06 -0700
commit8c35202927a7cd8f14b219e4949195e1e6bc6946 (patch)
tree2cc79d36f916c220b3bc449cba4d3ab602f534c4 /system/include/libc/sys/wait.h
parentefaf3590ac33702eeff423e31e85f690b1fc7eb2 (diff)
parent06354eda6092add55034c692bd65734a61083e8b (diff)
Merge branch 'llvm-svn'
Conflicts: src/dlmalloc.c tests/dlmalloc.c tests/runner.py tools/shared.py
Diffstat (limited to 'system/include/libc/sys/wait.h')
-rw-r--r--system/include/libc/sys/wait.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/system/include/libc/sys/wait.h b/system/include/libc/sys/wait.h
new file mode 100644
index 00000000..0e4a3394
--- /dev/null
+++ b/system/include/libc/sys/wait.h
@@ -0,0 +1,40 @@
+#ifndef _SYS_WAIT_H
+#define _SYS_WAIT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+
+#define WNOHANG 1
+#define WUNTRACED 2
+
+/* A status looks like:
+ <2 bytes info> <2 bytes code>
+
+ <code> == 0, child has exited, info is the exit value
+ <code> == 1..7e, child has exited, info is the signal number.
+ <code> == 7f, child has stopped, info was the signal number.
+ <code> == 80, there was a core dump.
+*/
+
+#define WIFEXITED(w) (((w) & 0xff) == 0)
+#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
+#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
+#define WEXITSTATUS(w) (((w) >> 8) & 0xff)
+#define WTERMSIG(w) ((w) & 0x7f)
+#define WSTOPSIG WEXITSTATUS
+
+pid_t wait (int *);
+pid_t waitpid (pid_t, int *, int);
+
+/* Provide prototypes for most of the _<systemcall> names that are
+ provided in newlib for some compilers. */
+pid_t _wait (int *);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif