cython
1# 7.14 Signal handling <signal.h>
2
3from posix.types cimport pid_t, sigset_t, uid_t
4
5cdef extern from "<signal.h>" nogil:
6
7cdef union sigval:
8int sival_int
9void *sival_ptr
10
11cdef struct sigevent:
12int sigev_notify
13int sigev_signo
14sigval sigev_value
15void sigev_notify_function(sigval)
16
17ctypedef struct siginfo_t:
18int si_signo
19int si_code
20int si_errno
21pid_t si_pid
22uid_t si_uid
23void *si_addr
24int si_status
25long si_band
26sigval si_value
27
28cdef struct sigaction_t "sigaction":
29void sa_handler(int)
30void sa_sigaction(int, siginfo_t *, void *)
31sigset_t sa_mask
32int sa_flags
33
34ctypedef struct stack_t:
35void *ss_sp
36int ss_flags
37size_t ss_size
38
39enum: SA_NOCLDSTOP
40enum: SIG_BLOCK
41enum: SIG_UNBLOCK
42enum: SIG_SETMASK
43enum: SA_ONSTACK
44enum: SA_RESETHAND
45enum: SA_RESTART
46enum: SA_SIGINFO
47enum: SA_NOCLDWAIT
48enum: SA_NODEFER
49enum: SS_ONSTACK
50enum: SS_DISABLE
51enum: MINSIGSTKSZ
52enum: SIGSTKSZ
53
54enum: SIGEV_NONE
55enum: SIGEV_SIGNAL
56enum: SIGEV_THREAD
57enum: SIGEV_THREAD_ID
58
59
60int kill (pid_t, int)
61int killpg (pid_t, int)
62int sigaction (int, const sigaction_t *, sigaction_t *)
63int sigpending (sigset_t *)
64int sigprocmask (int, const sigset_t *, sigset_t *)
65int sigsuspend (const sigset_t *)
66
67int sigaddset (sigset_t *, int)
68int sigdelset (sigset_t *, int)
69int sigemptyset (sigset_t *)
70int sigfillset (sigset_t *)
71int sigismember (const sigset_t *, int)
72
73int sigaltstack(const stack_t *, stack_t *)
74