aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/posix/wait.pxd
blob: 6041d02eb1c1946061349ae93816d2e01a3516a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/wait.h.html 
 
from posix.types cimport pid_t, id_t 
from posix.signal cimport siginfo_t 
from posix.resource cimport rusage 
 
cdef extern from "<sys/wait.h>" nogil: 
    enum: WNOHANG 
    enum: WUNTRACED 
    enum: WCONTINUED 
    enum: WEXITED 
    enum: WSTOPPED 
    enum: WNOWAIT 
 
    int WEXITSTATUS(int status) 
    int WIFCONTINUED(int status) 
    int WIFEXITED(int status) 
    int WIFSIGNALED(int status) 
    int WIFSTOPPED(int status) 
    int WSTOPSIG(int status) 
    int WTERMSIG(int status) 
 
    ctypedef int idtype_t 
    enum: P_ALL             # idtype_t values 
    enum: P_PID 
    enum: P_PGID 
 
    pid_t wait(int *stat_loc) 
    pid_t waitpid(pid_t pid, int *status, int options) 
    int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options) 
 
# wait3 was in POSIX until 2008 while wait4 was never standardized. 
# Even so, these calls are in almost every Unix, always in sys/wait.h. 
# Hence, posix.wait is the least surprising place to declare them for Cython. 
# libc may require _XXX_SOURCE to be defined at C-compile time to provide them. 
 
    pid_t wait3(int *status, int options, rusage *rusage) 
    pid_t wait4(pid_t pid, int *status, int options, rusage *rusage)