1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _ASM_X86_SIGNAL_H |
3 | #define _ASM_X86_SIGNAL_H |
4 | |
5 | #ifndef __ASSEMBLY__ |
6 | #include <linux/types.h> |
7 | #include <linux/time.h> |
8 | |
9 | |
10 | /* Avoid too many header ordering problems. */ |
11 | struct siginfo; |
12 | |
13 | /* Here we must cater to libcs that poke about in kernel headers. */ |
14 | |
15 | #define NSIG 32 |
16 | typedef unsigned long sigset_t; |
17 | |
18 | #endif /* __ASSEMBLY__ */ |
19 | |
20 | |
21 | #define SIGHUP 1 |
22 | #define SIGINT 2 |
23 | #define SIGQUIT 3 |
24 | #define SIGILL 4 |
25 | #define SIGTRAP 5 |
26 | #define SIGABRT 6 |
27 | #define SIGIOT 6 |
28 | #define SIGBUS 7 |
29 | #define SIGFPE 8 |
30 | #define SIGKILL 9 |
31 | #define SIGUSR1 10 |
32 | #define SIGSEGV 11 |
33 | #define SIGUSR2 12 |
34 | #define SIGPIPE 13 |
35 | #define SIGALRM 14 |
36 | #define SIGTERM 15 |
37 | #define SIGSTKFLT 16 |
38 | #define SIGCHLD 17 |
39 | #define SIGCONT 18 |
40 | #define SIGSTOP 19 |
41 | #define SIGTSTP 20 |
42 | #define SIGTTIN 21 |
43 | #define SIGTTOU 22 |
44 | #define SIGURG 23 |
45 | #define SIGXCPU 24 |
46 | #define SIGXFSZ 25 |
47 | #define SIGVTALRM 26 |
48 | #define SIGPROF 27 |
49 | #define SIGWINCH 28 |
50 | #define SIGIO 29 |
51 | #define SIGPOLL SIGIO |
52 | /* |
53 | #define SIGLOST 29 |
54 | */ |
55 | #define SIGPWR 30 |
56 | #define SIGSYS 31 |
57 | #define SIGUNUSED 31 |
58 | |
59 | /* These should not be considered constants from userland. */ |
60 | #define SIGRTMIN 32 |
61 | #define SIGRTMAX _NSIG |
62 | |
63 | #define SA_RESTORER 0x04000000 |
64 | |
65 | #define MINSIGSTKSZ 2048 |
66 | #define SIGSTKSZ 8192 |
67 | |
68 | #include <asm-generic/signal-defs.h> |
69 | |
70 | #ifndef __ASSEMBLY__ |
71 | |
72 | |
73 | /* Here we must cater to libcs that poke about in kernel headers. */ |
74 | #ifdef __i386__ |
75 | |
76 | struct sigaction { |
77 | union { |
78 | __sighandler_t _sa_handler; |
79 | void (*_sa_sigaction)(int, struct siginfo *, void *); |
80 | } _u; |
81 | sigset_t sa_mask; |
82 | unsigned long sa_flags; |
83 | void (*sa_restorer)(void); |
84 | }; |
85 | |
86 | #define sa_handler _u._sa_handler |
87 | #define sa_sigaction _u._sa_sigaction |
88 | |
89 | #else /* __i386__ */ |
90 | |
91 | struct sigaction { |
92 | __sighandler_t sa_handler; |
93 | unsigned long sa_flags; |
94 | __sigrestore_t sa_restorer; |
95 | sigset_t sa_mask; /* mask last for extensibility */ |
96 | }; |
97 | |
98 | #endif /* !__i386__ */ |
99 | |
100 | typedef struct sigaltstack { |
101 | void *ss_sp; |
102 | int ss_flags; |
103 | size_t ss_size; |
104 | } stack_t; |
105 | |
106 | #endif /* __ASSEMBLY__ */ |
107 | |
108 | #endif /* _ASM_X86_SIGNAL_H */ |
109 | |