signal.h - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
signal.h (2025B)
---
1 #ifndef _SIGNAL_H
2 #define _SIGNAL_H
3
4 #include <sys/types.h>
5
6
7 /* Signal-related types */
8 typedef void (*sighandler_t)(int);
9 typedef unsigned long sigset_t;
10 struct sigaction;
11
12 /* Signal numbers */
13 #define SIGHUP 1
14 #define SIGINT 2
15 #define SIGQUIT 3
16 #define SIGILL 4
17 #define SIGTRAP 5
18 #define SIGABRT 6
19 #define SIGBUS 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 SIGCHLD 17
29 #define SIGCONT 18
30 #define SIGSTOP 19
31 #define SIGTSTP 20
32 #define SIGTTIN 21
33 #define SIGTTOU 22
34 #define SIGURG 23
35 #define SIGXCPU 24
36 #define SIGXFSZ 25
37 #define SIGVTALRM 26
38 #define SIGPROF 27
39 #define SIGPOLL 29
40 #define SIGSYS 31
41
42
43 /* Special signal function values */
44 #define SIG_ERR ((sighandler_t)-1)
45 #define SIG_DFL ((sighandler_t)0)
46 #define SIG_IGN ((sighandler_t)1)
47 #define SIG_HOLD ((sighandler_t)2)
48
49
50 /* Signal handling */
51 struct sigaction {
52 union {
53 void (*sa_handler)(int);
54 void (*sa_sigaction)(int siginfo_t, void*);
55 };
56 sigset_t sa_mask;
57 int sa_flags;
58 };
59
60 #define SA_NOCLDSTOP 0x0001
61 #define SA_NOCLDWAIT 0x0002
62 #define SA_NODEFER 0x0004
63 #define SA_SIGINFO 0x0008
64 #define SA_ONSTACK 0x0010
65 #define SA_RESETHAND 0x0020
66 #define SA_RESTART 0x0040
67
68
69 typedef volatile int sig_atomic_t;
70
71
72 /* Signal sets */
73 int sigemptyset(sigset_t *set);
74 int sigfillset(sigset_t *set);
75 int sigaddset(sigset_t *set, int sig);
76 int sigdelset(sigset_t *set, int sig);
77 int sigismember(const sigset_t *set, int sig);
78
79 /* Signal generation */
80 int kill(pid_t target, int sig);
81 int raise(int sig);
82
83 /* Signal management */
84 sighandler_t signal(int sig, sighandler_t handler);
85 int sigaction(int sig, const struct sigaction *__restrict act,
86 struct sigaction *__restrict oldact);
87 int sigprocmask(int how, const sigset_t *__restrict set,
88 sigset_t *__restrict oldset);
89 int sigpending(sigset_t *set);
90 int sigsuspend(const sigset_t *mask);
91 int sigwait(const sigset_t *__restrict set, int *__restrict sig);
92
93
94 #endif // _SIGNAL_H