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