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