cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / bits / waitflags.h
1 /* Definitions of flag bits for `waitpid' et al.
2    Copyright (C) 1992-2018 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 #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
30 # define WSTOPPED       2       /* Report stopped child (same as WUNTRACED). */
31 # define WEXITED        4       /* Report dead child.  */
32 # define WCONTINUED     8       /* Report continued child.  */
33 # define WNOWAIT        0x01000000 /* Don't reap, just poll status.  */
34 #endif
35
36 #define __WNOTHREAD     0x20000000 /* Don't wait on children of other threads
37                                       in this group */
38 #define __WALL          0x40000000 /* Wait for any child.  */
39 #define __WCLONE        0x80000000 /* Wait for cloned process.  */
40
41 /* The following values are used by the `waitid' function.  */
42 #if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
43 # ifndef __ENUM_IDTYPE_T
44 # define __ENUM_IDTYPE_T 1
45
46 /* The Linux kernel defines these bare, rather than an enum,
47    which causes a conflict if the include order is reversed. */
48 # undef P_ALL
49 # undef P_PID
50 # undef P_PGID
51
52 typedef enum
53 {
54   P_ALL,                /* Wait for any child.  */
55   P_PID,                /* Wait for specified process.  */
56   P_PGID                /* Wait for members of process group.  */
57 } idtype_t;
58 # endif
59 #endif