1 #ifndef _SIGNAL_H
2 #define _SIGNAL_H
3
4 #include <sys/types.h>
5
6 typedef int sig_atomic_t;
7 typedef unsigned int sigset_t;
8
9 #define _NSIG 32
10 #define NSIG _NSIG
11
12 #define SIGHUP 1
13 #define SIGINT 2
14 #define SIGQUIT 3
15 #define SIGILL 4
16 #define SIGTRAP 5
17 #define SIGABRT 6
18 #define SIGIOT 6
19 #define SIGUNUSED 7
20 #define SIGFPE 8
21 #define SIGKILL 9
22 #define SIGUSR1 10
23 #define SIGSEGV 11
24 #define SIGUSR2 12
25 #define SIGPIPE 13
26 #define SIGALRM 14
27 #define SIGTERM 15
28 #define SIGSTKFLT 16
29 #define SIGCHLD 17
30 #define SIGCONT 18
31 #define SIGSTOP 19
32 #define SIGTSTP 20
33 #define SIGTTIN 21
34 #define SIGTTOU 22
35
36
37 #define SA_NOCLDSTOP 1
38 #define SA_NOMASK 0x40000000
39 #define SA_ONESHOT 0x80000000
40
41 #define SIG_BLOCK 0
42 #define SIG_UNBLOCK 1
43 #define SIG_SETMASK 2
44
45 #define SIG_DFL ((void (*)(int))0)
46 #define SIG_IGN ((void (*)(int))1)
47
48 struct sigaction {
49 void (*sa_handler)(int);
50 sigset_t sa_mask;
51 int sa_flags;
52 void (*sa_restorer)(void);
53 };
54
55 void (*signal(int _sig, void (*_func)(int)))(int);
56 int raise(int sig);
57 int kill(pid_t pid, int sig);
58 int sigaddset(sigset_t *mask, int signo);
59 int sigdelset(sigset_t *mask, int signo);
60 int sigemptyset(sigset_t *mask);
61 int sigfillset(sigset_t *mask);
62 int sigismember(sigset_t *mask, int signo);
63 int sigpending(sigset_t *set);
64 int sigprocmask(int how, sigset_t *set, sigset_t *oldset);
65 int sigsuspend(sigset_t *sigmask);
66 int sigaction(int sig, struct sigaction *act, struct sigaction *oldact);
67
68 #endif