1 #ifndef __LUNAIX_SIGNAL_H
2 #define __LUNAIX_SIGNAL_H
4 #include <usr/lunaix/signal_defs.h>
8 #define _SIG_PENDING(bitmap, sig) ((bitmap) & (1 << (sig)))
10 #define _SIGSEGV SIGSEGV
11 #define _SIGALRM SIGALRM
12 #define _SIGCHLD SIGCHLD
13 #define _SIGCLD SIGCLD
14 #define _SIGINT SIGINT
15 #define _SIGKILL SIGKILL
16 #define _SIGSTOP SIGSTOP
17 #define _SIGCONT SIGCONT
18 #define _SIGTERM SIGTERM
19 #define _SIG_BLOCK SIG_BLOCK
20 #define _SIG_UNBLOCK SIG_UNBLOCK
21 #define _SIG_SETMASK SIG_SETMASK
23 #define sigset(num) (1 << (num))
24 #define sigset_add(set, num) (set = set | sigset(num))
25 #define sigset_test(set, num) (set & sigset(num))
26 #define sigset_clear(set, num) ((set) = (set) & ~sigset(num))
27 #define sigset_union(set, set2) ((set) = (set) | (set2))
28 #define sigset_intersect(set, set2) ((set) = (set) & (set2))
39 struct sigact* signals[_SIG_NUM];
47 signum_t sig_order[_SIG_NUM];
51 signal_send(pid_t pid, signum_t signum);
54 signal_dup_context(struct sigctx* dest_ctx);
57 signal_dup_registers(struct sigregister* dest_reg);
60 signal_reset_context(struct sigctx* sigctx);
63 signal_reset_register(struct sigregister* sigreg);
66 signal_free_registers(struct sigregister* sigreg);
68 #endif /* __LUNAIX_SIGNAL_H */