summaryrefslogtreecommitdiffstats
path: root/src/include/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/signal.h')
-rw-r--r--src/include/signal.h68
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
6typedef int sig_atomic_t;
7typedef 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
48struct sigaction {
49 void (*sa_handler)(int);
50 sigset_t sa_mask;
51 int sa_flags;
52 void (*sa_restorer)(void);
53};
54
55void (*signal(int _sig, void (*_func)(int)))(int);
56int raise(int sig);
57int kill(pid_t pid, int sig);
58int sigaddset(sigset_t *mask, int signo);
59int sigdelset(sigset_t *mask, int signo);
60int sigemptyset(sigset_t *mask);
61int sigfillset(sigset_t *mask);
62int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */
63int sigpending(sigset_t *set);
64int sigprocmask(int how, sigset_t *set, sigset_t *oldset);
65int sigsuspend(sigset_t *sigmask);
66int sigaction(int sig, struct sigaction *act, struct sigaction *oldact);
67
68#endif /* _SIGNAL_H */