Clang Project

include/x86_64-linux-gnu/bits/waitflags.h
1/* Definitions of flag bits for `waitpid' et al.
2   Copyright (C) 1992-2016 Free Software Foundation, Inc.
3   This file is part of the GNU C Library.
4
5   The GNU C Library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9
10   The GNU C Library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, see
17   <http://www.gnu.org/licenses/>.  */
18
19#if !defined _SYS_WAIT_H && !defined _STDLIB_H
20# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
21#endif
22
23
24/* Bits in the third argument to `waitpid'.  */
25#define WNOHANG 1 /* Don't block waiting.  */
26#define WUNTRACED 2 /* Report status of stopped children.  */
27
28/* Bits in the fourth argument to `waitid'.  */
29#define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */
30#define WEXITED 4 /* Report dead child.  */
31#define WCONTINUED 8 /* Report continued child.  */
32#define WNOWAIT 0x01000000 /* Don't reap, just poll status.  */
33
34#define __WNOTHREAD     0x20000000 /* Don't wait on children of other threads
35       in this group */
36#define __WALL 0x40000000 /* Wait for any child.  */
37#define __WCLONE 0x80000000 /* Wait for cloned process.  */
38
39/* The following values are used by the `waitid' function.  */
40#if defined __USE_XOPEN || defined __USE_XOPEN2K8
41ifndef __ENUM_IDTYPE_T
42define __ENUM_IDTYPE_T 1
43
44/* The Linux kernel defines these bare, rather than an enum,
45   which causes a conflict if the include order is reversed. */
46# undef P_ALL
47# undef P_PID
48# undef P_PGID
49
50typedef enum
51{
52  P_ALL, /* Wait for any child.  */
53  P_PID, /* Wait for specified process.  */
54  P_PGID /* Wait for members of process group.  */
55idtype_t;
56endif
57#endif
58