diff options
Diffstat (limited to 'src/include/signal.h')
-rw-r--r-- | src/include/signal.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/include/signal.h b/src/include/signal.h new file mode 100644 index 0000000..0eea9a3 --- /dev/null +++ b/src/include/signal.h | |||
@@ -0,0 +1,68 @@ | |||
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; /* 32 bits */ | ||
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 | /* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ | ||
37 | #define SA_NOCLDSTOP 1 | ||
38 | #define SA_NOMASK 0x40000000 | ||
39 | #define SA_ONESHOT 0x80000000 | ||
40 | |||
41 | #define SIG_BLOCK 0 /* for blocking signals */ | ||
42 | #define SIG_UNBLOCK 1 /* for unblocking signals */ | ||
43 | #define SIG_SETMASK 2 /* for setting the signal mask */ | ||
44 | |||
45 | #define SIG_DFL ((void (*)(int))0) /* default signal handling */ | ||
46 | #define SIG_IGN ((void (*)(int))1) /* ignore signal */ | ||
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); /* 1 - is, 0 - not, -1 error */ | ||
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 /* _SIGNAL_H */ | ||