From: Michalis Pappas Date: Fri, 12 Jan 2024 10:10:10 +0000 (+0100) Subject: lib/nolibc: Import sys/wait.h from musl X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=8b9c32579c7d86638077d5087afed0a4c07988e6;p=unikraft%2Funikraft.git lib/nolibc: Import sys/wait.h from musl Import sys/wait.h from musl with minor changes: - Replace with Source of import: - Repository: https://git.musl-libc.org/cgit/musl - Tag: v1.2.4 (f5f55d65) - Path: musl/include/sys/wait.in Checkpatch-Ignore: LOGICAL_CONTINUATIONS Checkpatch-Ignore: FUNCTION_ARGUMENTS Checkpatch-Ignore: LEADING_SPACE Checkpatch-Ignore: SPACING Signed-off-by: Michalis Pappas Approved-by: Andrei Tatar Reviewed-by: Andrei Tatar Reviewed-by: Sergiu Moga GitHub-Closes: #1630 --- diff --git a/lib/nolibc/musl-imported/include/sys/wait.h b/lib/nolibc/musl-imported/include/sys/wait.h new file mode 100644 index 000000000..0bec69f73 --- /dev/null +++ b/lib/nolibc/musl-imported/include/sys/wait.h @@ -0,0 +1,67 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_pid_t +#define __NEED_id_t +#include + +typedef enum { + P_ALL = 0, + P_PID = 1, + P_PGID = 2, + P_PIDFD = 3 +} 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 +int waitid (idtype_t, id_t, siginfo_t *, int); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include +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)*0x10001U)>>8) > 0x7f00) +#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) +#define WIFCONTINUED(s) ((s) == 0xffff) + +#if _REDIR_TIME64 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(wait3, __wait3_time64); +__REDIR(wait4, __wait4_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif