|
|
1.1 root 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:
39: #define SIG_BLOCK 0 /* for blocking signals */
40: #define SIG_UNBLOCK 1 /* for unblocking signals */
41: #define SIG_SETMASK 2 /* for setting the signal mask */
42:
43: #define SIG_DFL ((void (*)(int))0) /* default signal handling */
44: #define SIG_IGN ((void (*)(int))1) /* ignore signal */
45:
46: struct sigaction {
47: void (*sa_handler)(int);
48: sigset_t sa_mask;
49: int sa_flags;
50: };
51:
52: void (*signal(int _sig, void (*_func)(int)))(int);
53: int raise(int sig);
54: int kill(pid_t pid, int sig);
55: int sigaddset(sigset_t *mask, int signo);
56: int sigdelset(sigset_t *mask, int signo);
57: int sigemptyset(sigset_t *mask);
58: int sigfillset(sigset_t *mask);
59: int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */
60: int sigpending(sigset_t *set);
61: int sigprocmask(int how, sigset_t *set, sigset_t *oldset);
62: int sigsuspend(sigset_t *sigmask);
63: int sigaction(int sig, struct sigaction *act, struct sigaction *oldact);
64:
65: #endif /* _SIGNAL_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.